IgnisDa / ryot

Roll your own tracker!
https://ryot.io
GNU General Public License v3.0
1.7k stars 43 forks source link

/usr/local/bin/docker-entrypoint.sh: no such file or directory #797

Closed th3voic3 closed 2 months ago

th3voic3 commented 2 months ago

Hi,

I tried to deploy ryot with the provided docker-compose file in the documentation. The ryot-db container comes up just fine.

The ryot container itself exits shortly after starting. The log says: exec /usr/local/bin/docker-entrypoint.sh: no such file or directory

Any idea why?

❯ docker compose version Docker Compose version 2.27.0 ❯ docker -v Docker version 26.1.0, build 9714adc6c7

IgnisDa commented 2 months ago

That doesn't look right. Ryot does not use any entry point at all.

Can you share your docker compose. And what architecture?

th3voic3 commented 2 months ago

services: ryot-db: image: postgres:16-alpine # atleast version 15 is required restart: unless-stopped volumes:

  • ./postgres_storage:/var/lib/postgresql/data environment:
  • POSTGRES_PASSWORD=[redacted]
  • POSTGRES_USER=postgres
  • POSTGRES_DB=postgres container_name: ryot-db

    ryot: image: ghcr.io/ignisda/ryot:latest environment:

  • DATABASE_URL=postgres://postgres:[redacted]@ryot-db:5432/postgres

    - FRONTEND_INSECURE_COOKIES=true # if running on HTTP

    ports:

  • "8000:8000" pull_policy: always container_name: ryot

volumes: postgres_storage:

Host system is Arch Linux

IgnisDa commented 2 months ago

Can you delete all volumes and try again without -d in docker compose and attach the screenshot here?

th3voic3 commented 2 months ago

Screenshot_20240429-182433.png

Done

IgnisDa commented 2 months ago

I wonder if the sudo is affecting things? Can't you run the docker commands without sudo?

th3voic3 commented 2 months ago

I'm not running docker rootless so without sudo I get permission denied to the docker socket.

Also did a prune and tried again. Same result.

❯ sudo docker system prune -a --volumes WARNING! This will remove:

  • all stopped containers
    • all networks not used by at least one container
  • all anonymous volumes not used by at least one container
  • all images without at least one container associated to them
  • all build cache

Are you sure you want to continue? [y/N] Y Deleted Networks: ryot_default

Deleted Images: untagged: ghcr.io/ignisda/ryot:latest untagged: ghcr.io/ignisda/ryot@sha256:30a508835f5288008c0fc0bee6c9f4d9f151d9f5101d015882b3bf660cbd4ecc deleted: sha256:f5a3ff7d4ecc7eb1a5ae372152629e32c58ddebbfc6b2901fbbd44534130226d deleted: sha256:a973ea303fe12b750e59a42010ae18e42b6827f26afd6f330d76e40c1913ca90 deleted: sha256:d759149fade0de3c2de9caa28e7d0052c5b7d85b5b80feb0172e1f87373129ed deleted: sha256:ff7a87dba6ffed677bfb589d3ef7769badbc3ced0654ddf0e0d044f3db414467 deleted: sha256:74717184a79213425874ec9fe8ca068dbafe6ddaa7fab22fa0d4d8e3db83ebbd deleted: sha256:d6975382b1ac589bb3ddced82822e3d00c3526288693138749db7ffe0c8005bc deleted: sha256:d50b9198333d270b2da360930e9399481de3a738a5273ac9450b0cd8f65070b2 deleted: sha256:9ea8ac7090f4fd3ce10ee7a53fed71aa2b6afbcb8e1b58d4deea3fa82c474253 deleted: sha256:5035b7710e796039bc0e8f6164326e430ad14f79f496a976ceebcbb5ca0c6ae4 deleted: sha256:4c5e043a8f6de2532b21c12b343e766cfd58fe697de86d229345523aecc16167 deleted: sha256:958b1db392033fc37be63719822d6f7724158796a317a785f371e56b5f57d43d deleted: sha256:fedd4efe0015b4bb1a10feecf59278a7dde20392131584a7959fb4a49fa0db50 deleted: sha256:989403140a81c9e950b97a50335de12d20359b5c467077d1f4d3d943a4249768 deleted: sha256:223a56336bea652c6e5d078732289d76eb741047a11084fa83741a01ee7b5dce deleted: sha256:976b69cac274d09ff0dd4c66f8713acd456ed72776044058a4a6dc50b5bf2228

Total reclaimed space: 404.4MB

Edit: I tried adding entrypoint: [] This gets me a new error:

exec /usr/local/bin/concurrently: no such file or directory

IgnisDa commented 2 months ago

What architecture is this? You mentioned OS to be arch Linux? Can you run neofetch and show me the output.

IgnisDa commented 2 months ago

I am also running Arch and the default docker compose works fine for me: image

th3voic3 commented 2 months ago

I am also running Arch and the default docker compose works fine for me: image

Yeah it must be an issue in my docker environment. I installed docker in a Debian VM and deployed ryot there without any issues.

I'm using btrfs on Arch Linux and I suspect something is broken with the docker subvolumes.

Screenshot_20240430-075225.png

IgnisDa commented 2 months ago

Not sure if docker volumes is the problem? Since the Ryot container does not have any volumes mounted at all. And the postgres one seems to be upping fine.

How did you provision Arch with BTRFs? Do you have any other self hosted software there running successfully?

th3voic3 commented 2 months ago

Yeah this is my main docker host with 18 Stacks and 38 running containers currently.

I have BTRFS deployed with a subolume for / /home and two subvolumes for snapshots for the above.

Docker than has it's own subvolumes under /var/lib/docker/subvolumes

IgnisDa commented 2 months ago

Can you tell me other software that you're running. I will take a look at their dockerfiles and see if they are doing anything btfrs specific.

th3voic3 commented 2 months ago

Authentik Freshrss Grafana Homepage Immich Jellyseer Kitchenowl Linkwarden Monocker Paperless Portainer Speedtest Unifi Network Application Vaultwarden Vaultwarden API Watchtower Zabbix

That's all of them

IgnisDa commented 2 months ago

Could you try building the docker image on this arch machine and see if it works?

th3voic3 commented 2 months ago

Building failed with /bin/sh no such file or directory at some point.

I tried something else and did a proxmox snapshot of my VM and than did a rm -rf /var/lib/docker and after that only started ryot and it worked. So something is interferring with it.

Whenever I pull I get at least one "already exists" layer (unless I cleared the entire docker folder as above) so I suspect there is a layer conflict somewhere.

IgnisDa commented 2 months ago

Building failed with /bin/sh no such file or directory at some point.

Can you run docker buildx build . --tag ryot-testing and show me the output?

th3voic3 commented 2 months ago

Managed to solve it.

I stopped docker. Removed the entire /var/lib/docker/image/ folder and started docker again. Now I just had to redeploy all my stacks and this way everything works (including ryot) without any data loss.

Thank you for the help!

IgnisDa commented 2 months ago

Very interesting. Did it work with the image you built or the one from ghcr?

th3voic3 commented 2 months ago

The one from ghcr worked

IgnisDa commented 2 months ago

Great! Glad to know it is working!