DOCKER FACTORIO DEDICATED SERVER
Here is how to setup a Factorio dedicated server inside of a Docker container.
SETUP FACTORIO IN A DOCKER CONTAINER
I will presume that you are to use an EL7 host. Adjust accordingly for other host OS's.
-
Install docker
sudo yum -y install docker
-
Pull in docker images
sudo docker pull fedora
-
Select volume path (make dirs if needed)
mkdir /storage/location/docker/factorio
-
Factorio server start script, this goes in your volume
#!/bin/bash BINPATH=/home/steam/Steam/steamapps/common/Factorio/ SAVEGAME=./saves/SAVEGAME.zip #Update Factorio via steam (managed by separate script) cd ~/Steam ./steamcmd.sh +login YOUR_STEAM_USER +app_update 427520 +quit #Start Factorio via steam install cd $BINPATH ./bin/x64/factorio --start-server $SAVEGAME
-
Dockerfile
FROM fedora:latest RUN dnf -y update RUN dnf -y install glibc libstdc++ glibc.i686 \ libstdc++.i686 \ vim wget curl \ tar unzip bzip \ alsa-lib libX11 libXcursor libXinerama libXrandr libXi libGL libxcb steamcmd RUN dnf -y clean all RUN ldconfig RUN useradd steam USER steam ENV HOME /home/steam CMD /bin/bash
-
Build dockerfile
docker build -t "factorio-fedora:latest" .
-
Docker startup script
#!/bin/bash docker run -ti --rm --sig-proxy=false --privileged=true\ -p=34197:34197/udp\ -m=1g\ -v /storage/docker/steamcmd/factorio/:/home/steam/Steam\ --name=factorio\ -w=/home/steam/Steam factorio-fedora:latest /home/steam/Steam/start-factorio.sh
-
Setup volume
sudo docker run -ti --rm --sig-proxy=false --privileged=true -p=34197:34197/udp -m=1g\ -v /storage/docker/steamcmd/factorio/:/home/steam/Steam\ --name=factorio factorio-fedora:latest /bin/bash cd ~/Steam curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf - ./steamcmd +quit