Ein Image mit Webseite, Backend, SQLite und Docker-Client; startet Match-Container über /var/run/docker.sock auf demselben Host. Tests laufen beim Bauen mit. Auf amp-cluster gebaut (301 MB) und geprüft. Dazu: Testbefehl für Node 22 angepasst, beim Beenden werden ausstehende Live-Updates verworfen und laufende Server-Aktionen abgewartet, damit nach dem Schließen der Datenbank nichts mehr darauf zugreift. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
42 lines
1.6 KiB
YAML
42 lines
1.6 KiB
YAML
# CS2 Mapveto auf einem Docker-Host (z. B. als Portainer-Stack).
|
||
# Die App startet pro Match einen CS2-Container auf demselben Host (Docker-Adapter).
|
||
#
|
||
# Vorher einmalig: Image bauen (siehe docs/container.md) und das Volume
|
||
# "cs2-mapveto-gamefiles" mit den CS2-Spieldateien befüllen (docs/portainer-cs2.md).
|
||
|
||
services:
|
||
cs2-mapveto:
|
||
image: cs2-mapveto:latest
|
||
build: .
|
||
container_name: cs2-mapveto
|
||
restart: unless-stopped
|
||
ports:
|
||
- "3000:3000"
|
||
environment:
|
||
# Adresse dieses Docker-Hosts im LAN – für Einladungslinks, Spieler-Verbindungen und Live-Logs
|
||
- PUBLIC_URL=http://${HOST_IP:-192.168.178.111}:3000
|
||
- LOG_RECEIVER_URL=http://${HOST_IP:-192.168.178.111}:3000
|
||
- SERVER_ADAPTER=docker
|
||
- CS2_PUBLIC_HOST=${HOST_IP:-192.168.178.111}
|
||
# RCON zu den Match-Containern über die veröffentlichten Ports des Hosts
|
||
- CS2_RCON_HOST=${HOST_IP:-192.168.178.111}
|
||
# leer = LAN-Modus (sv_lan 1)
|
||
- CS2_GSLT=${CS2_GSLT:-}
|
||
- CS2_DOCKER_VOLUME=cs2-mapveto-gamefiles
|
||
- CS2_DOCKER_IMAGE=joedwards32/cs2:latest
|
||
- CS2_PORT_RANGE_START=27100
|
||
- CS2_PORT_RANGE_END=27139
|
||
- CREATE_MATCH_PASSWORD=${CREATE_MATCH_PASSWORD:-}
|
||
- STREAM_KEY=${STREAM_KEY:-}
|
||
- SERIES_AUTO_ADVANCE_SECONDS=30
|
||
- SERVER_IDLE_TIMEOUT_MINUTES=30
|
||
volumes:
|
||
# Datenbank (Matches, Ergebnisse) überdauert Updates des Containers
|
||
- cs2-mapveto-data:/data
|
||
# Zugriff auf Docker, um Match-Container zu starten und zu entfernen
|
||
- /var/run/docker.sock:/var/run/docker.sock
|
||
|
||
volumes:
|
||
cs2-mapveto-data:
|
||
name: cs2-mapveto-data
|