A Docker setup for running a Nuclear Option dedicated server.
- Docker and Docker Compose
- A Steam account that owns Nuclear Option (or use anonymous login if the app supports it)
-
Clone this repository.
-
Create a
.envfile with your Steam credentials:STEAM_USERNAME=your_username STEAM_PASSWORD=your_password
Or use anonymous login:
STEAM_USERNAME=anonymous
-
Start the server:
docker compose up -d
The entrypoint will download/update the server files via SteamCMD, apply any overlay files, and launch the server.
You can override fields in DedicatedServerConfig.json by setting environment variables prefixed with CONFIG_ in your .env file. The field name is uppercased.
| Environment Variable | Type | Description |
|---|---|---|
CONFIG_MISSIONDIRECTORY |
string | Path to the missions directory |
CONFIG_MODDEDSERVER |
boolean | Whether the server is modded (true/false) |
CONFIG_HIDDEN |
boolean | Hide the server from the browser |
CONFIG_SERVERNAME |
string | Server name shown in the server browser |
CONFIG_PASSWORD |
string | Server password (empty for no password) |
CONFIG_MAXPLAYERS |
number | Maximum number of players |
CONFIG_DISABLEERRORKICK |
boolean | Disable kicking players on error |
CONFIG_NOPLAYERSTOPTIME |
number | Seconds before stopping when no players are on |
CONFIG_POSTMISSIONDELAY |
number | Delay in seconds after a mission ends |
CONFIG_ROTATIONTYPE |
number | Mission rotation type |
You can also edit nuclearoption/DedicatedServerConfig.json directly. This file is mounted into the container at /app.
Any files placed in an overlay/ directory will be copied over the server installation at /app on each startup. This is useful for adding custom missions, mods, or overriding specific files.
| Host Path | Container Path | Purpose |
|---|---|---|
./nuclearoption |
/app |
Server installation directory |
./overlay |
/overlay |
Optional file overlay |
The container uses network_mode: host, so the server binds directly to the host's network interfaces. No port mapping is needed.
Server logs are written to nuclearoption/logs/.