.onedev-buildspec.yml Loading last commit info...
.github/workflows
.onedev
.gitignore
.gitinfo
Dockerfile
LICENSE
README.md
docker-compose.yaml
entrypoint.mjs
README.md

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

  1. Clone this repository.

  2. Create a .env file with your Steam credentials:

    STEAM_USERNAME=your_username
    STEAM_PASSWORD=your_password
    

    Or use anonymous login:

    STEAM_USERNAME=anonymous
    
  3. 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 VariableTypeDescription
CONFIG_MISSIONDIRECTORYstringPath to the missions directory
CONFIG_MODDEDSERVERbooleanWhether the server is modded (true/false)
CONFIG_HIDDENbooleanHide the server from the browser
CONFIG_SERVERNAMEstringServer name shown in the server browser
CONFIG_PASSWORDstringServer password (empty for no password)
CONFIG_MAXPLAYERSnumberMaximum number of players
CONFIG_DISABLEERRORKICKbooleanDisable kicking players on error
CONFIG_NOPLAYERSTOPTIMEnumberSeconds before stopping when no players are on
CONFIG_POSTMISSIONDELAYnumberDelay in seconds after a mission ends
CONFIG_ROTATIONTYPEnumberMission 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 PathContainer PathPurpose
./nuclearoption/appServer installation directory
./overlay/overlayOptional 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/.

Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover