thelounge / thelounge-docker

🐳 ‎ ‎Docker image for The Lounge, a self-hosted web IRC client
https://ghcr.io/thelounge/thelounge
MIT License
306 stars 73 forks source link

use the USER directive #187

Open brunnre8 opened 5 months ago

brunnre8 commented 5 months ago

We are currently using a custom entrypoint script. However docker has a built in volume / user approach so we can get rid of this custom approach altogether. The benefit of this is that it just works across the stack and we don't need to teach users to run it with --user node and such. Further, using thelounge as an entrypoint means that you don't need to exec to a running container but can just spawn a throwaway container (probably with --rm) when you want to manage users etc.

This does have some limitations though if people use bind mounts. Docker doesn't have the ability to auto chown things (podman does, with the U option to -v).

So let's suggest named volumes instead (which is better anyways)

Existing users should not be impacted, as the entrypoint script did the permission setup for them already, so even the new container should just continue to work.

People who manually mess with the container will have to use --entrypoint /bin/sh or such, but they shouldn't treat containers like pets, so breaking that is of no concern.

brunnre8 commented 5 months ago

The entrypoint changes may cause some users to run into issues starting the container with a different command

Yes, tried to say as much in the commit message. But that's an anti pattern and I don't really think we should cater to those much.

ACK re the convention commit thing, I'll fix that up, sorry, I didn't look at the convention.

brunnre8 commented 5 months ago

addressed all review comments now I think