# 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