Sign inSign up

ludix0/nightingale

By ludix0

•Updated 7 days ago

Dockerized dedicated server for Nightingale, auto-updated via SteamCMD, running unprivileged.

Image
Developer tools
0

2.2K

ludix0/nightingale repository overview

⁠Nightingale — Dedicated Server (Docker)

🇬🇧 English⁠ | 🇫🇷 Français⁠


⁠English

Docker container to host a Nightingale dedicated server (SteamCMD App ID 3796810). The server binary and dependencies are downloaded automatically via SteamCMD on first start, running as an unprivileged user (steam, mapped to your own PUID/PGID).

⁠Requirements
  • Docker + Docker Compose
  • A few GB of free disk space for SteamCMD and the game server files
  • If the server must be reachable from the internet, forward/NAT port 7777/udp (and 27015/tcp only if you need remote RCON access) on your router
mkdir -p ~/nightingale && cd ~/nightingale

Create a docker-compose.yml:

services:
  nightingale:
    image: ludix0/nightingale:latest
    container_name: nightingale
    restart: unless-stopped
    environment:
      - TZ=${TZ}
      - PUID=${PUID}
      - PGID=${PGID}
      - GAME_PORT=7777
      - RCON_PORT=27015
      - GAME_PASSWORD=${GAME_PASSWORD}
      - ADMIN_PASSWORD=${ADMIN_PASSWORD}
    volumes:
      - $HOME/volumes/nightingale/filesServer:/home/steam/nightingale-server
      - $HOME/volumes/steamcmd:/home/steam/steamcmd
    ports:
      - "7777:7777/udp"
      - "27015:27015/tcp"

Create a .env file next to it with your own values (TZ, PUID, PGID, GAME_PASSWORD, ADMIN_PASSWORD — see the table below), then:

docker compose up -d
docker compose logs -f
⁠Method 2 — Build from source (GitHub)
git clone https://github.com/ludix0/nightingale.git
cd nightingale
ln -sf /path/to/your/secrets.env .env   # or create a .env with the variables below
docker build -t ludix0/nightingale:latest .
docker compose up -d
⁠Environment variables
VariableRequiredDescription
TZRecommendedContainer timezone (e.g. Europe/Paris)
PUIDRecommendedUser ID the server process runs as (run id on your host)
PGIDRecommendedGroup ID the server process runs as
GAME_PORTYesGame (UDP) port used inside the container, default 7777
RCON_PORTYesRCON (TCP) port used inside the container, default 27015
GAME_PASSWORDYesPassword required to join the server
ADMIN_PASSWORDYesAdmin password, also used as the RCON password
⁠Volumes
VolumeContent
/home/steam/nightingale-serverGame server files (SteamCMD install, saves, config in NWX/Config/ServerSettings.ini)
/home/steam/steamcmdSteamCMD installation (persisted so it isn't re-downloaded on every restart)
⁠Ports
PortProtocolUsage
7777UDPMain game port
27015TCPRCON remote administration

⁠Français

Conteneur Docker pour héberger un serveur dédié Nightingale (SteamCMD App ID 3796810). Le binaire du serveur et ses dépendances sont téléchargés automatiquement via SteamCMD au premier démarrage, en s'exécutant avec un utilisateur non privilégié (steam, mappé sur votre propre PUID/PGID).

⁠Prérequis
  • Docker + Docker Compose
  • Quelques Go d'espace disque libre pour SteamCMD et les fichiers du serveur
  • Si le serveur doit être accessible depuis internet, rediriger le port 7777/udp (et 27015/tcp uniquement si un accès RCON distant est nécessaire) sur votre routeur
⁠Méthode 1 — Installation rapide depuis Docker Hub (recommandé)
mkdir -p ~/nightingale && cd ~/nightingale

Créez un fichier docker-compose.yml :

services:
  nightingale:
    image: ludix0/nightingale:latest
    container_name: nightingale
    restart: unless-stopped
    environment:
      - TZ=${TZ}
      - PUID=${PUID}
      - PGID=${PGID}
      - GAME_PORT=7777
      - RCON_PORT=27015
      - GAME_PASSWORD=${GAME_PASSWORD}
      - ADMIN_PASSWORD=${ADMIN_PASSWORD}
    volumes:
      - $HOME/volumes/nightingale/filesServer:/home/steam/nightingale-server
      - $HOME/volumes/steamcmd:/home/steam/steamcmd
    ports:
      - "7777:7777/udp"
      - "27015:27015/tcp"

Créez un fichier .env à côté avec vos propres valeurs (TZ, PUID, PGID, GAME_PASSWORD, ADMIN_PASSWORD — voir le tableau ci-dessous), puis :

docker compose up -d
docker compose logs -f
⁠Méthode 2 — Build depuis les sources (GitHub)
git clone https://github.com/ludix0/nightingale.git
cd nightingale
ln -sf /chemin/vers/votre/secrets.env .env   # ou créez un .env avec les variables ci-dessous
docker build -t ludix0/nightingale:latest .
docker compose up -d
⁠Variables d'environnement
VariableObligatoireDescription
TZRecommandéFuseau horaire du conteneur (ex. Europe/Paris)
PUIDRecommandéID utilisateur avec lequel tourne le serveur (commande id sur l'hôte)
PGIDRecommandéID groupe avec lequel tourne le serveur
GAME_PORTOuiPort de jeu (UDP) utilisé dans le conteneur, par défaut 7777
RCON_PORTOuiPort RCON (TCP) utilisé dans le conteneur, par défaut 27015
GAME_PASSWORDOuiMot de passe requis pour rejoindre le serveur
ADMIN_PASSWORDOuiMot de passe administrateur, aussi utilisé comme mot de passe RCON
⁠Volumes
VolumeContenu
/home/steam/nightingale-serverFichiers du serveur de jeu (installation SteamCMD, sauvegardes, configuration dans NWX/Config/ServerSettings.ini)
/home/steam/steamcmdInstallation de SteamCMD (persistée pour éviter un re-téléchargement à chaque redémarrage)
⁠Ports
PortProtocoleUsage
7777UDPPort principal du jeu
27015TCPAdministration distante RCON

Tag summary

Content type

Image

Digest

sha256:0076093fb…

Size

80.1 MB

Last updated

7 days ago

docker pull ludix0/nightingale