fly-apps / dockerfile-rails

Provides a Rails generator to produce Dockerfiles and related files.
MIT License
457 stars 38 forks source link

Fly: `--swap` without `--root` lead to permission problems with fly volumes #35

Open skydan opened 1 year ago

skydan commented 1 year ago

I followed Sqlite3 on fly volumes tutorial and proactively enabled swap for demo rails app.

It turned out that, since the container is launched as root user when swap is on, fly mounts volumes for root too: Mounting /dev/vdb at /mnt/volume w/ uid: 0, gid: 0 and chmod 0755

then entry-point script substitutes user for rails server command with rails user:

https://github.com/rubys/dockerfile-rails/blob/69f7631407735aa558bf99be46e0c0c988435479/lib/generators/templates/docker-entrypoint.erb#L18

rendering mounted volumes un-accessible for rails user.

rubys commented 1 year ago

This will require dockerfile-rails to check for and parse the fly.toml file, which will be fly.io specific; that being said, I see no reason why this couldn't be done.