Dockerized dedicated server for Nightingale, auto-updated via SteamCMD, running unprivileged.
2.2K
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).
ludix0/nightingale7777/udp (game) and 27015/tcp (RCON)7777/udp (and 27015/tcp only if you need remote RCON access) on your routermkdir -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
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
| Variable | Required | Description |
|---|---|---|
TZ | Recommended | Container timezone (e.g. Europe/Paris) |
PUID | Recommended | User ID the server process runs as (run id on your host) |
PGID | Recommended | Group ID the server process runs as |
GAME_PORT | Yes | Game (UDP) port used inside the container, default 7777 |
RCON_PORT | Yes | RCON (TCP) port used inside the container, default 27015 |
GAME_PASSWORD | Yes | Password required to join the server |
ADMIN_PASSWORD | Yes | Admin password, also used as the RCON password |
| Volume | Content |
|---|---|
/home/steam/nightingale-server | Game server files (SteamCMD install, saves, config in NWX/Config/ServerSettings.ini) |
/home/steam/steamcmd | SteamCMD installation (persisted so it isn't re-downloaded on every restart) |
| Port | Protocol | Usage |
|---|---|---|
7777 | UDP | Main game port |
27015 | TCP | RCON remote administration |
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).
ludix0/nightingale7777/udp (jeu) et 27015/tcp (RCON)7777/udp (et 27015/tcp uniquement si un accès RCON distant est nécessaire) sur votre routeurmkdir -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
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
| Variable | Obligatoire | Description |
|---|---|---|
TZ | Recommandé | Fuseau horaire du conteneur (ex. Europe/Paris) |
PUID | Recommandé | ID utilisateur avec lequel tourne le serveur (commande id sur l'hôte) |
PGID | Recommandé | ID groupe avec lequel tourne le serveur |
GAME_PORT | Oui | Port de jeu (UDP) utilisé dans le conteneur, par défaut 7777 |
RCON_PORT | Oui | Port RCON (TCP) utilisé dans le conteneur, par défaut 27015 |
GAME_PASSWORD | Oui | Mot de passe requis pour rejoindre le serveur |
ADMIN_PASSWORD | Oui | Mot de passe administrateur, aussi utilisé comme mot de passe RCON |
| Volume | Contenu |
|---|---|
/home/steam/nightingale-server | Fichiers du serveur de jeu (installation SteamCMD, sauvegardes, configuration dans NWX/Config/ServerSettings.ini) |
/home/steam/steamcmd | Installation de SteamCMD (persistée pour éviter un re-téléchargement à chaque redémarrage) |
| Port | Protocole | Usage |
|---|---|---|
7777 | UDP | Port principal du jeu |
27015 | TCP | Administration distante RCON |
Content type
Image
Digest
sha256:0076093fb…
Size
80.1 MB
Last updated
7 days ago
docker pull ludix0/nightingale