| .onedev-buildspec.yml | Loading last commit info... | |
| .github/workflows | ||
| .onedev | ||
| .gitignore | ||
| .gitinfo | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
| docker-compose.yaml | ||
| entrypoint.mjs |
Nuclear Option Dedicated Server Docker
A Docker setup for running a Nuclear Option dedicated server.
Prerequisites
- Docker and Docker Compose
- A Steam account that owns Nuclear Option (or use anonymous login if the app supports it)
Quick Start
-
Clone this repository.
-
Create a
.envfile with your Steam credentials:STEAM_USERNAME=your_username STEAM_PASSWORD=your_passwordOr 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.
Configuration
Server Config via Environment Variables
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 |
Direct Config Editing
You can also edit nuclearoption/DedicatedServerConfig.json directly. This file is mounted into the container at /app.
Overlay
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.
Volumes
| Host Path | Container Path | Purpose |
|---|---|---|
./nuclearoption | /app | Server installation directory |
./overlay | /overlay | Optional file overlay |
Networking
The container uses network_mode: host, so the server binds directly to the host's network interfaces. No port mapping is needed.
Logs
Server logs are written to nuclearoption/logs/.