Renegade-Master / zomboid-dedicated-server

Linux based Docker image containing a Dedicated Server for Project Zomboid.

Home Page:https://hub.docker.com/r/renegademaster/zomboid-dedicated-server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Running as Root User - No such file or directory

pawl opened this issue · comments

I tried to use docker-compose up with this project, and it encountered this error and didn't finish starting the server:

zomboid-server_1  | ### Starting Project Zomboid Server...
zomboid-server_1  | timeout: failed to run command '/home/steam/ZomboidDedicatedServer/start-server.sh': No such file or directory
zomboid-server_1  | 
zomboid-server_1  | ### First run check complete.
zomboid-server_1  | 
zomboid-server_1  | ### Applying Post Install Configuration...
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer_SandboxVars.lua: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/ZomboidDedicatedServer/ProjectZomboid64.json: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer.ini: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer_SandboxVars.lua: No such file or directory
zomboid-server_1  | sed: can't read /home/steam/Zomboid/Server/ZomboidServer_SandboxVars.lua: No such file or directory
zomboid-server_1  | 
zomboid-server_1  | ### Post Install Configuration applied.
zomboid-server_1  | 
zomboid-server_1  | ### Starting Project Zomboid Server...
zomboid-server_1  | timeout: failed to run command '/home/steam/ZomboidDedicatedServer/start-server.sh': No such file or directory

Hmm...
Is this repeatable? Does it happpen if you tried again?

This is an example of what a successful run should look like. Everything above the line I linked should also happen.

It's repeatable on Ubuntu 20.04.3. Maybe it has something to do with me running as root?

I was able to use this other project's image successfully: https://github.com/PepeCitron/projectzomboid-server

Maybe the fix is in there?

Ah, you shouldn't be running it as root. There is no need.

Running containers as root isn't advised anywhere, especially on a server connected directly to the Internet.

If there is some way that an attacker can gain root access in the Docker Container, it is much easier for them to gain root access on the Host too.

Better to stick with User accounts. If you follow the instructions in the Readme, you should have no issues running without sudo 🙂

@pawl, I take it that I can close this issue now?
You raised a good point though, and I should probably mention in the README that this image is not intended to be run as the root user to prevent this confusion for others.

Ah, you shouldn't be running it as root. There is no need.

Running containers as root isn't advised anywhere, especially on a server connected directly to the Internet.

If there is some way that an attacker can gain root access in the Docker Container, it is much easier for them to gain root access on the Host too.

Better to stick with User accounts. If you follow the instructions in the Readme, you should have no issues running without sudo 🙂

Use runuser -l docker -c 'printf "UID: %s\nGID: %s\n" $(id -u) $(id -g)' to get the proper numbers for the docker user. This worked for me on Vultr's default Docker instance.

    USER_ID: 1000
    GROUP_ID: 998
restart: unless-stopped
user: "1000:998"

Use runuser -l docker -c 'printf "UID: %s\nGID: %s\n" $(id -u) $(id -g)' to get the proper numbers for the docker user. This worked for me on Vultr's default Docker instance.

    USER_ID: 1000
    GROUP_ID: 998
restart: unless-stopped
user: "1000:998"

Yep, just like that. I have a similar solution in the README both here and here.

Seeing as there are several ways around this issue that have been highlighted, and none of them are actual issues with the image, I am going to go ahead and close this issue now.

It is pinned for reference though, because there is some good information here.

@Renegade-Master thanks for looking into it! Yeah closing sounds good.

Something weird is happening: I'm trying to run it with my default user (1000:1000) and from the first step, when updating ownership, it throws an error "operation not permitted".

Something weird is happening: I'm trying to run it with my default user (1000:1000) and from the first step, when updating ownership, it throws an error "operation not permitted".

Oh, sorry. I only just saw this, @CalvoUTN.
I take it that the other ticket you raised (#10) was after you resolved this issue?