Note: This image is not officially supported by Valve, nor by Coffee Stain Studios
If issues are encountered, please report them on the GitHub repository
Dedicated Server for Satisfactory using Docker, and optionally Docker-Compose.
Built almost from scratch to be the smallest Satisfactory Dedicated Server around!
Source:
Resource links:
The following are instructions for running the server using the Docker image.
-
Acquire the image locally:
-
Pull the image from DockerHub:
docker pull renegademaster/satisfactory-dedicated-server:<tagname>
-
Or alternatively, build the image:
git clone https://github.com/Renegade-Master/satisfactory-dedicated-server.git \ && cd satisfactory-dedicated-server docker build -t renegademaster/satisfactory-dedicated-server:<tag> -f docker/satisfactory-server.Dockerfile .
-
-
Run the container:
Optional arguments table:Argument Description Values Default GAME_VERSIONGame version to serve public,experimentalpublicMAX_PLAYERSMax player count 1-16+ 16 BIND_IPIP to bind the server to 127.0.0.1 0.0.0.0 / [::] QUERY_PORTPort for other players to connect to 1000-65535 15777 GAME_PORTPort for sending game data to clients 1000-65535 7777 Note: Arguments inside square brackets are optional. If the default ports are to be overridden, then the
publishedports below must also be changedmkdir SatisfactoryDedicatedServer SatisfactorySaveGames docker run --detach \ --mount type=bind,source="$(pwd)/SatisfactoryDedicatedServer",target=/home/steam/SatisfactoryDedicatedServer \ --mount type=bind,source="$(pwd)/SatisfactorySaveGames",target=/home/steam/.config/Epic/FactoryGame/Saved/SaveGames \ --publish 15777:15777/udp --publish 15000:15000/udp --publish 7777:7777/udp \ --publish 15777:15777/tcp --publish 15000:15000/tcp --publish 7777:7777/tcp \ --name satisfactory-server \ --user=$(id -u):$(id -g) \ [--env=GAME_VERSION=<value>] \ [--env=MAX_PLAYERS=<value>] \ [--env=BIND_IP=<value>] \ [--env=QUERY_PORT=<value>] \ [--env=GAME_PORT=<value>] \ renegademaster/satisfactory-dedicated-server[:<tagname>]
The following are instructions for running the server using Docker-Compose.
-
Download the repository:
git clone https://github.com/Renegade-Master/satisfactory-dedicated-server.git \ && cd satisfactory-dedicated-server -
Make any configuration changes you want to in the
docker-compose.yamlfile. In theservices.satisfactory-server.environmentsection, you can change values for:Argument Description Values Default GAME_VERSIONGame version to serve public,experimentalpublicMAX_PLAYERSMax player count 1-16+ 16 BIND_IPIP to bind the server to 127.0.0.1 0.0.0.0 / [::] QUERY_PORTPort for other players to connect to 1000-65535 15777 GAME_PORTPort for sending game data to clients 1000-65535 7777 Note: If the default ports are to be overridden, then the
publishedports must also be changed -
In the
docker-compose.yamlfile, you must change theservice.satisfactory-server.uservalues to match your local user. To find your local user and group ids, run the following command:printf "UID: %s\nGID: %s\n" $(id -u) $(id -g)
-
Run the following command:
mkdir SatisfactoryDedicatedServer SatisfactorySaveGames docker-compose up -d