/docker-stationeers

Easy to set up stationeers server inside a docker container.

Primary LanguageShellThe UnlicenseUnlicense

Stationeers

Simple to set up stationeers server.

Running the server

docker run --detach --name stationeers --publish 27500:27500/udp --publish 27015:27015/udp hetsh/stationeers

Stopping the container

docker stop stationeers

Creating persistent storage

To keep worlds, configuration and logs, you need to create a writeable directory:

MP="/path/to/storage"
mkdir -p "$MP"
chown -R 1358:1358 "$MP"

1358 is the numerical id of the user running the server (see Dockerfile). Start the server with the additional mount flag:

docker run --mount type=bind,source=/path/to/storage,target=/stationeers ...

Configuring Maps

Maps (worlds) are configured via environment variables WORLD_TYPE and WORLD_NAME with default values Moon and Base. To change the world, launch the server with additional parameters (Mars example) --env WORLD_TYPE=Mars --env WORLD_NAME=MarsBase. If WORLD_NAME already exists, the save is loaded instead and WORLD_TYPE is ignored.

Automate startup and shutdown via systemd

This systemd unit file is intended to launch containers on startup without additional software and only depends on a running docker daemon. It fits my personal setup, so you might need to adjust some parameters to your needs. Because this is a template unit file, you can easily change the world:

systemctl enable stationeers@<world> --now

Docker-Compose

An examplary docker-compose file was adapted from #5. It is intended to get you up and running quickly with docker-compose. It also showcases some basic configuration changes.

Updates

This image contains a specific version of the game and will not update on startup, this decreases starting time and disk space usage. Version number is the manifest id that can also be found on SteamDB. This id and therefore the image on docker hub is updated hourly.

Yet Another Wiki

More configuration examples and information about this image is documented in the Wiki like:

Fork Me!

This is an open project (visit GitHub). Please feel free to ask questions, file an issue or contribute to it.