-
-
Notifications
You must be signed in to change notification settings - Fork 155
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
Can't start - Permission denied #44
Comments
Hey! This is a duplicate of #43 I'm about to add additional information about this. You need to pass |
Unfortunately this did not work (my id is 1000 and even with So as root then:
Looks like another permission error?? |
Hmm. Could you provide a little bit more information about your setup? You're running Debian 10, are you running as a non-root user? Are you writing to local storage? Any other information you think might be useful? |
It's a VPS (this). The setup is as simple as it can be:
|
Brilliant, thanks for the additional information. I'm familiar with Contabo, so there shouldn't be any unusual issues there. Just curious, does it work when you run the Docker command as I know you passed |
No, everything as without root. |
Right, so could you try running it as |
Sorry. Yes, I did that. Nothing has changed. The same errors still show up. |
Hm, that doesn't make any sense. Are you able to run another Docker image successfully? Anything that would write to the host/mapped directory. Also, try swapping out |
Okay, found the problem. It was kind of my fault, but also kind of not: I think you should implement something that checks the file/folder permission and fixes it automatically. Especially because the error also occurs if you start the image completely without volume mount (is this also the case for you?). |
Yeah, this is due to the fact that the image runs as |
So this is interesting. Docker creates the |
In your Dockerfile: https://github.com/wolveix/satisfactory-server/blob/main/Dockerfile#L10 you are creating the /config folder. This is done as root user.
of insufficient rights. |
Right, but I'm not trying to add The reason many other images don't have this issue is due to the fact that the image itself runs as |
The only way (that I can think of) to automatically fix this issue would be to run the image as |
Adding
Yes it does this on the host, if you specify a volume mount. But when starting the container without volume (eg. |
Really appreciate the insight @voruti! What would you suggest to resolve the issue? I'm not sure if it's possible without elevating the Dockerfile |
There are two problems here: Running with a volume mounted to the host system
I agree on that and came to the same conclusion. Running without a volume mounted to the host systemThis is currently not possible. As early as in the Dockerfile the permissions are set incorrectly.
You could move the /config folder to a place where the steam user has write access and then manually create the directory: eg. add to Dockerfile in line 9:
(Tested; server starts successfully) |
I'm experiencing this problem as well. Apart from the potential fix, is there anything I can do to run the container right now? |
@jb-dijkstra before starting the container, manually make the |
Did you try deleting and re-creating Stop the container, run |
Okay, permissions are now fixed for Docker volumes. This fix does not fix bind mounts just yet, but I'm working on it. |
How did you make it With the Steam user ? |
@Leopoldpaul if you're still having permissions issues, you could try using a volume mount rather than a bind mount :) I know it's not ideal, but at least you'd be able to use the server! |
how can i make a volume mount |
Rather than specifying an absolute directory path, just write something like |
So instead of -v /volume1/Dateien/Leopold/Epic/SatisServer:/config |
No, you'd use |
the problem is i have to go in the volume1/Dateien because everything else is locked |
Have you tried what I suggested? |
Anecdotally It looks like the container would not like to be run as root, but if you're doing deployments with podman it's actually better for the container to internally operate as root so that the UID shifting is nicely mitigated by podman. When you run as non-root, you will be exposed to the UID shifts. I'd be in favor of an option to have the container think its running as root. Would simplify interaction with podman. |
wow dammm it works |
where can i finde the save file directory? |
Firstly, make sure that the Satisfactory container is stopped. If you have a save file in your local directory called docker run -d --rm --name dummy -v satisfactory-config:/root alpine tail -f /dev/null
docker cp savefile.sav dummy:/root/savefile.sav
docker stop dummy |
Is there a way to double check the copie of the file because the game doesnt recognize the save file |
Did you follow the guide to load a save file here? https://github.com/wolveix/satisfactory-server#loading-your-save |
yeah |
Okay, so you'll probably want to docker exec -it satisfactory-server ls -lah /config/saves |
On my installation, it's the /home/steam directory that's having a permission issue.
Exposing /home to my filesystem shows that /home/steam is created as root. Could you try if something like this solves this issue?
I also wonder about |
I'm experiencing this issue when using Most Docker images deal w/ this by running as |
@Katorone the We're using the |
Thanks for taking the time to write this out, but please read through this issue. These have already been talked about. You shouldn't be having |
Okay i got a Workaround for my Problems with running the Server on my Synology NAS. |
Ultimately, while it's frustrating, I believe it'll be much less of a headache to just run the container as |
This issue should now be resolved. |
@wolveix I'm running this container in rootless mode without issues. Perhaps it's worth mentioning in the readme under "Known Issues". |
As is mentioned elsewhere (within one of the permissions issues), it's largely based on your setup and environment. The existing version of the project works in both environments, the previous version did not. |
Describe the Bug
I just entered the command from the README.md (see below - only changed the path) and the container stops right away. (+ same when using the docker-compose.yml file)
Your Runtime Command or Docker Compose File
docker run -d --name=satisfactory-server -h satisfactory-server -v $(pwd)/config:/config -p 7777:7777/udp -p 15000:15000/udp -p 15777:15777/udp wolveix/satisfactory-server:latest
System Specs:
Additional Context
Log:
The text was updated successfully, but these errors were encountered: