-
-
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
cannot create directory: Permission denied when using rootless #364
Comments
Hey @Jan-Ka, what version of Ubuntu are you running? Additionally, does it work when just setting Additionally, please try with |
Hi, thanks for the quick reply. I'm running It does not work when just setting
Here's the log: Also, all new files are created with the With
I tried with just setting satisfactory-server_logs (2).txt folders are also created as |
Tested services:
sat1:
image: wolveix/satisfactory-server:v1.7.0
container_name: satisfactory-server
# user: "1012:1012"
restart: no
volumes:
- "sat1:/config"
ports:
- 7777:7777/udp
- 7777:7777/tcp
labels:
- "traefik.enable=true"
# TCP Router for TCP traffic
- "traefik.tcp.routers.sat1-tcp.rule=HostSNI(`sat1.servive.me`)" # Using HostSNI for TCP
- "traefik.tcp.routers.sat1-tcp.entrypoints=sat1"
- "traefik.tcp.routers.sat1-tcp.service=sat1-tcp"
- "traefik.tcp.services.sat1-tcp.loadbalancer.server.port=7777"
# UDP Router for UDP traffic
- "traefik.udp.routers.sat1-udp.entrypoints=sat1" # UDP traffic on sat1 entrypoint
- "traefik.udp.routers.sat1-udp.service=sat1-udp"
- "traefik.udp.services.sat1-udp.loadbalancer.server.port=7777"
environment:
- MAXPLAYERS=4
- PGID=1012
- PUID=1012
# - ROOTLESS=true
- STEAMBETA=false
# - DEBUG=true This managed to spool up the server! And set the correct PGID/PUID in the FS. satisfactory-server_logs (3).txt Retested with Odd? |
Yes, I meant to say to test it without Given that you're using a Docker volume, that could explain some of the weirdness (I usually rely on bind mounts). |
Strikes me a bit odd, I'm running other game & app container with that setup without that problem. And it manages to create folders. I was wondering if perhaps d2f071e#L30
might solve this? I'm not sure if the container dies here: Line 106 in b426a61
or here: satisfactory-server/Dockerfile Line 8 in b426a61
or if the error is related to the FileSystem at all at this point? |
It can't be stopping during the Dockerfile as that happens during the build process, so before the build is even made available to you :) It is most likely during the Does it work if you use a host bound directory, rather than a Docker volume? |
That is very true. Sorry, It was late yesterday 😅 Anyway… I tried with this setup services:
sat2:
image: wolveix/satisfactory-server:v1.8.8
user: "1012:1012"
restart: no
volumes:
- "/usr/share/satisfactory/sat2:/config"
ports:
- 7778:7777/udp
- 7778:7777/tcp
environment:
- MAXPLAYERS=4
- PGID=1012
- PUID=1012
- ROOTLESS=true
- STEAMBETA=false
# - DEBUG=true
networks:
proxy:
external: true Doesn't change the behaviour. Some folders get generated, but then it stops with the same error:
I've tried with So it doesn't look like that has any impact on things. |
Thanks for the information. I'll find time to look into this :) |
For what it's worth I just ran into the same issue. I'm running the container in Kubernetes tho so things could be different. But I would love to test any changes. |
Describe the Bug
wolveix/satisfactory-server
appears to not work correctly when setup to use a non-root user.Dies on
mkdir: cannot create directory ‘/home/steam’: Permission denied
I followed the tips to use
user
variable for setting up rootless found in other issues and expected to have files on disk created as the specified user (and the server to start).Your Runtime Command or Docker Compose File
Debug Output
System Specs (please complete the following information):
OS: Linux f182d75e91eb 6.8.0-47-generic #47-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 27 21:40:26 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
CPU: AMD Ryzen 5 3600 6-Core Processor
RAM: 59GB/64GB
HDD: 33GB/436GB (8% used)
Logs
satisfactory-server_logs.txt
Additional Context
The user I want to use is
satisfactory:x:1012:1012
.The mounted volume is accessible to the user at
/usr/share/satisfactory/sat1
. I tested this manually by doingsu satisfactory
andtouch test.txt
, the file was created.I then started the container (with above
docker-compose.yaml
, it created these folders without problem:And then stopped with
mkdir: cannot create directory ‘/home/steam’: Permission denied
About the only way I can make this container work is to not use any of the user-related env vars (PGID/PUID), set ROOTLESS to false and remove the
user
parameter. On this server, this defaults to a user that happens to have the PGID/PUID1000:1000
, which lets the server start and players can connect.The text was updated successfully, but these errors were encountered: