Dockerized dedicated server for Stationeers, auto-updated via SteamCMD.
1.1K
Docker container to host a Stationeers dedicated server (SteamCMD App ID 600760). The server binary and dependencies are downloaded automatically via SteamCMD, running as an unprivileged user (configurable PUID/PGID).
ludix0/stationeers27016/udp + 27016/tcp (game), 27015/udp (server browser / update)mkdir -p ~/stationeers && cd ~/stationeers
Create a docker-compose.yml:
services:
stationeers:
image: ludix0/stationeers:latest
container_name: stationeers
restart: unless-stopped
volumes:
- ./data/server:/home/steam/stationeers_server
- ./data/steamcmd:/home/steam/steamcmd
environment:
- TZ=Europe/Paris
- PUID=1000
- PGID=1000
- UPDATE_ON_START=true
- SAVE_NAME=word
- MAP_NAME=Lunar
- START_DAEMON=DefaultStart
- SPAWN_POINT=LunarSpawnCraterVesper
- DIFFICULTY=Easy
- SERVER_NAME=My Stationeers Server
- SERVER_PASSWORD=changeme
- MAX_PLAYERS=6
- AUTH_SECRET=changeme
- GAME_PORT=27016
- UPDATE_PORT=27015
- AUTO_PAUSE=true
- SAVE_INTERVAL=600
ports:
- "27016:27016/udp"
- "27016:27016/tcp"
- "27015:27015/udp"
docker compose up -d
docker compose logs -f
git clone https://github.com/Ludix0/stationeers.git
cd stationeers
ln -sf /path/to/your/secrets.env .env # or create a .env with the variables below
docker build -t ludix0/stationeers:latest .
docker compose up -d
| Variable | Required | Description |
|---|---|---|
TZ | No | Container timezone (e.g. Europe/Paris) |
PUID | No | User ID the server process runs as (default 1000) |
PGID | No | Group ID the server process runs as (default 1000) |
UPDATE_ON_START | No | If true, updates the game via SteamCMD on every container start |
SAVE_NAME | No | Save/world name (default MyWorld) |
MAP_NAME | No | Starting map: Mars2, Lunar, Europa3, Vulcan2, Loulan (default Lunar) |
START_DAEMON | No | Game mode: DefaultStart, DefaultStartCommunity, Brutal, BrutalCommunity (default DefaultStart) |
SPAWN_POINT | No | Spawn point name, depends on the selected map (default LunarSpawnCraterVesper) |
DIFFICULTY | No | Difficulty: Easy, Normal, Challenging (default Easy) |
SERVER_NAME | No | Server name shown in the server browser (default Stationeers Docker) |
SERVER_PASSWORD | No | Password required to join the server (default password) |
MAX_PLAYERS | No | Maximum number of players (default 6) |
AUTH_SECRET | No | Server authentication secret, used to reclaim server ownership (default SecretKey123) |
GAME_PORT | No | Game (UDP) port (default 27016) |
UPDATE_PORT | No | Server browser / update port (default 27015) |
AUTO_PAUSE | No | Automatically pauses the server when no player is connected (default true) |
SAVE_INTERVAL | No | Auto-save interval in seconds (default 300) |
None of the variables are strictly required — every one falls back to a default defined in start_server.sh — but SERVER_PASSWORD and AUTH_SECRET should always be set to something private.
| Volume | Content |
|---|---|
/home/steam/stationeers_server | Server binaries (downloaded by SteamCMD) and save games |
/home/steam/steamcmd | SteamCMD installation, kept so it isn't re-downloaded on every restart |
| Port | Protocol | Usage |
|---|---|---|
| 27016 | UDP | Game port (players connect here) |
| 27016 | TCP | Game port (companion TCP channel) |
| 27015 | UDP | Server browser / update port |
Conteneur Docker permettant d'héberger un serveur dédié Stationeers (App ID SteamCMD 600760). Le binaire du serveur et ses dépendances sont téléchargés automatiquement via SteamCMD, avec exécution sous un utilisateur non privilégié (PUID/PGID configurables).
ludix0/stationeers27016/udp + 27016/tcp (jeu), 27015/udp (navigateur de serveurs / mise à jour)mkdir -p ~/stationeers && cd ~/stationeers
Créer un fichier docker-compose.yml :
services:
stationeers:
image: ludix0/stationeers:latest
container_name: stationeers
restart: unless-stopped
volumes:
- ./data/server:/home/steam/stationeers_server
- ./data/steamcmd:/home/steam/steamcmd
environment:
- TZ=Europe/Paris
- PUID=1000
- PGID=1000
- UPDATE_ON_START=true
- SAVE_NAME=word
- MAP_NAME=Lunar
- START_DAEMON=DefaultStart
- SPAWN_POINT=LunarSpawnCraterVesper
- DIFFICULTY=Easy
- SERVER_NAME=Mon serveur Stationeers
- SERVER_PASSWORD=changeme
- MAX_PLAYERS=6
- AUTH_SECRET=changeme
- GAME_PORT=27016
- UPDATE_PORT=27015
- AUTO_PAUSE=true
- SAVE_INTERVAL=600
ports:
- "27016:27016/udp"
- "27016:27016/tcp"
- "27015:27015/udp"
docker compose up -d
docker compose logs -f
git clone https://github.com/Ludix0/stationeers.git
cd stationeers
ln -sf /chemin/vers/vos/secrets.env .env # ou créer un .env avec les variables ci-dessous
docker build -t ludix0/stationeers:latest .
docker compose up -d
| Variable | Requise | Description |
|---|---|---|
TZ | Non | Fuseau horaire du conteneur (ex. Europe/Paris) |
PUID | Non | UID sous lequel tourne le processus du serveur (défaut 1000) |
PGID | Non | GID sous lequel tourne le processus du serveur (défaut 1000) |
UPDATE_ON_START | Non | Si true, met à jour le jeu via SteamCMD à chaque démarrage du conteneur |
SAVE_NAME | Non | Nom de la sauvegarde/du monde (défaut MyWorld) |
MAP_NAME | Non | Carte de départ : Mars2, Lunar, Europa3, Vulcan2, Loulan (défaut Lunar) |
START_DAEMON | Non | Mode de jeu : DefaultStart, DefaultStartCommunity, Brutal, BrutalCommunity (défaut DefaultStart) |
SPAWN_POINT | Non | Point d'apparition, dépend de la carte choisie (défaut LunarSpawnCraterVesper) |
DIFFICULTY | Non | Difficulté : Easy, Normal, Challenging (défaut Easy) |
SERVER_NAME | Non | Nom du serveur affiché dans le navigateur de serveurs (défaut Stationeers Docker) |
SERVER_PASSWORD | Non | Mot de passe requis pour rejoindre le serveur (défaut password) |
MAX_PLAYERS | Non | Nombre maximum de joueurs (défaut 6) |
AUTH_SECRET | Non | Secret d'authentification du serveur, utilisé pour récupérer la propriété du serveur (défaut SecretKey123) |
GAME_PORT | Non | Port de jeu (UDP) (défaut 27016) |
UPDATE_PORT | Non | Port du navigateur de serveurs / mise à jour (défaut 27015) |
AUTO_PAUSE | Non | Met automatiquement le serveur en pause quand aucun joueur n'est connecté (défaut true) |
SAVE_INTERVAL | Non | Intervalle de sauvegarde automatique en secondes (défaut 300) |
Aucune variable n'est strictement obligatoire — chacune a une valeur par défaut définie dans start_server.sh — mais SERVER_PASSWORD et AUTH_SECRET doivent toujours être remplacées par des valeurs privées.
| Volume | Contenu |
|---|---|
/home/steam/stationeers_server | Binaires du serveur (téléchargés par SteamCMD) et sauvegardes |
/home/steam/steamcmd | Installation de SteamCMD, conservée pour éviter un re-téléchargement à chaque redémarrage |
| Port | Protocole | Usage |
|---|---|---|
| 27016 | UDP | Port de jeu (connexion des joueurs) |
| 27016 | TCP | Port de jeu (canal TCP complémentaire) |
| 27015 | UDP | Navigateur de serveurs / mise à jour |
Content type
Image
Digest
sha256:858119027…
Size
194.5 MB
Last updated
7 days ago
docker pull ludix0/stationeers