MatchbookLab / local-persist

Create named local volumes that persist in the location(s) you want
MIT License
851 stars 122 forks source link

'root' group is required #57

Open hublol opened 6 years ago

hublol commented 6 years ago

On systems where no group named 'root' exist, docker-volume-local-persist fails to start with the following error: Starting... Found 0 volumes on startup Group root not found

Is there a way to get around without having to add the root group?

CWSpear commented 6 years ago

Not to my knowledge... I don't know if that group thing is required. I don't know much about this sort of thing... why isn't there a root group?

geertbongers commented 6 years ago

If I try to use the plugin in CoreOS I get the same error. There is a root group, but I think because docker or the socket is not owned by root:root but root:docker this error appears.

CWSpear commented 6 years ago

I'm not sure I do anything explicitly to set the group to root, or otherwise require the group to be root. I feel like if anything, it should use the user and group of the owner of the local-persist process, which means it shouldn't try to set the group to root if it doesn't exist.

Are you seeing this error just running the binary directly? If so... I've got nothing. I just us Go's os.MkdirAll, which I'd assume uses the process's user/group by default. I'm not primarily a Go programmer, tho, so I may be wrong.

If you're running it through systemctl, you can add User= and Group= in your systemd.service for local-persist (located at /etc/systemd/system/docker-volume-local-persist.service by default) to something appropriate and see if that helps.

kmpeterson commented 3 years ago

I ran into this same issue trying to install on Clear Linux... no luck with updating the unit file, nor even changing group ownership of the socket itself. However, what seems to be the case is that whatever API is used is fed by the /etc/group file - for my distro, this file is optional and only has groups I've created. However, adding root:x:0: explicitly there was sufficient to start and use this plugin. Thanks!