Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with the GOW Docker container when the container restart policy is set to something other than None #170

Open
yousecjoe opened this issue Feb 11, 2024 · 0 comments

Comments

@yousecjoe
Copy link

PULSE_SOCKET_HOST=/run/user/1000/pulse

Ln9 sets the environment variable PULSE_SOCKET_HOST=/run/user/1000/pulse, which causes the path to get created by root instead of the user id 1000 at boot when the GOW container is set to start with the host.

Steps to reproduce

  1. Set the GOW container restart policy to Unless Stopped and start the container.
  2. Reboot the docker host system and log in.
  3. Check ownership of /run/user/1000/. The issue will happen at system boot because GOW automatically creates /run/user/1000/pulse owned by root, but it needs to be owned by 1000:1000.

This issue is not specific to GOW; it happens when any Docker container tries to create a volume in this unique directory /run/user/{USERID} and has a restart policy other than None.

For comparison, Wolf uses - ${PULSE_SOCKET_HOST}:/tmp/pulse/

Why
Because Docker starts before a user authenticates, container volume paths can be created and owned by root before it is rightfully created and owned by the user.

What
When the user ID does not own this path, it breaks many Linux systems that rely on the XDG specifications. Audio (Pulse) will stop working, snapd management fails, systemctl management will break, etc.

For further context, I found the issue is the same being seen here in this thread: https://bugs.launchpad.net/ubuntu/+bug/2017496

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant