Stack unabhängig vom Host: deploy/compose.yml mit .env
CS2 Mapveto startet jetzt auf jedem Docker-Host (Linux) mit 'docker compose --env-file deploy/.env -f deploy/compose.yml up -d'. Die Adresse kommt aus HOST_IP, nichts ist mehr fest eingetragen. Anleitung für einen neuen Server: Image laden oder bauen, Spieldateien kopieren oder neu laden, konfigurieren, starten. Geprüft auf amp-cluster mit Demo-Adapter: Stack startet, Webseite antwortet, Stack wieder entfernt, Spieldateien unverändert. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d78f399612
commit
413df03237
5 files changed
+210
-122
No files matched your search
@@ -0,0 +1,31 @@
|
||||
# Vorlage für deploy/.env – kopieren und anpassen:
|
||||
# cp deploy/.env.example deploy/.env
|
||||
|
||||
# --- Pflicht ---
|
||||
# IP oder Name des Docker-Hosts im LAN. Spieler verbinden sich dorthin.
|
||||
HOST_IP=192.168.178.111
|
||||
|
||||
# --- Webseite ---
|
||||
# Port der Webseite auf dem Host
|
||||
WEB_PORT=3000
|
||||
# Image: lokal gebaut oder mit "docker load" geladen (siehe docs/container.md)
|
||||
CS2_MAPVETO_IMAGE=cs2-mapveto:latest
|
||||
|
||||
# --- Serververwaltung ---
|
||||
# docker = pro Match ein CS2-Container (Standard)
|
||||
# demo = nur Simulation, startet keine echten Server (zum Ausprobieren)
|
||||
SERVER_ADAPTER=docker
|
||||
# Game Server Login Token (App-ID 730). Leer = LAN-Modus (sv_lan 1).
|
||||
CS2_GSLT=
|
||||
CS2_DOCKER_IMAGE=joedwards32/cs2:latest
|
||||
# Zwei Ports pro Match (Spiel TCP+UDP, CSTV UDP) – auf dem Host freigeben
|
||||
CS2_PORT_RANGE_START=27100
|
||||
CS2_PORT_RANGE_END=27139
|
||||
SERVER_IDLE_TIMEOUT_MINUTES=30
|
||||
|
||||
# --- Matches und Stream ---
|
||||
# Wenn gesetzt, braucht man dieses Passwort zum Anlegen von Matches
|
||||
CREATE_MATCH_PASSWORD=
|
||||
# Wenn gesetzt, braucht man /stream?key=… für die Stream-Übersicht
|
||||
STREAM_KEY=
|
||||
SERIES_AUTO_ADVANCE_SECONDS=30
|
||||
@@ -0,0 +1,46 @@
|
||||
# CS2 Mapveto – Start auf einem beliebigen Docker-Host (Linux, z. B. Portainer-Server, NAS, eigener Rechner).
|
||||
#
|
||||
# Voraussetzungen:
|
||||
# 1. deploy/.env anlegen (Vorlage: deploy/.env.example), mindestens HOST_IP setzen
|
||||
# 2. Image cs2-mapveto:latest auf dem Host (gebaut oder mit "docker load" geladen)
|
||||
# 3. Volume cs2-mapveto-gamefiles mit den CS2-Spieldateien (siehe docs/container.md)
|
||||
#
|
||||
# Start: docker compose --env-file deploy/.env -f deploy/compose.yml up -d
|
||||
# Stoppen: docker compose --env-file deploy/.env -f deploy/compose.yml down
|
||||
|
||||
name: cs2-mapveto
|
||||
|
||||
services:
|
||||
cs2-mapveto:
|
||||
image: ${CS2_MAPVETO_IMAGE:-cs2-mapveto:latest}
|
||||
container_name: cs2-mapveto
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${WEB_PORT:-3000}:3000"
|
||||
environment:
|
||||
PORT: "3000"
|
||||
# Adresse des Docker-Hosts im LAN: Einladungslinks, Spieler-Verbindungen, Live-Logs
|
||||
PUBLIC_URL: "http://${HOST_IP:?HOST_IP in deploy/.env eintragen}:${WEB_PORT:-3000}"
|
||||
LOG_RECEIVER_URL: "http://${HOST_IP}:${WEB_PORT:-3000}"
|
||||
DATABASE_FILE: /data/cs2-mapveto.db
|
||||
SERVER_ADAPTER: ${SERVER_ADAPTER:-docker}
|
||||
CS2_PUBLIC_HOST: ${HOST_IP}
|
||||
CS2_RCON_HOST: ${HOST_IP}
|
||||
CS2_GSLT: ${CS2_GSLT:-}
|
||||
CS2_DOCKER_VOLUME: cs2-mapveto-gamefiles
|
||||
CS2_DOCKER_IMAGE: ${CS2_DOCKER_IMAGE:-joedwards32/cs2:latest}
|
||||
CS2_PORT_RANGE_START: ${CS2_PORT_RANGE_START:-27100}
|
||||
CS2_PORT_RANGE_END: ${CS2_PORT_RANGE_END:-27139}
|
||||
CREATE_MATCH_PASSWORD: ${CREATE_MATCH_PASSWORD:-}
|
||||
STREAM_KEY: ${STREAM_KEY:-}
|
||||
SERIES_AUTO_ADVANCE_SECONDS: ${SERIES_AUTO_ADVANCE_SECONDS:-30}
|
||||
SERVER_IDLE_TIMEOUT_MINUTES: ${SERVER_IDLE_TIMEOUT_MINUTES:-30}
|
||||
volumes:
|
||||
# Datenbank (Matches, Ergebnisse) überdauert Updates
|
||||
- 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
|
||||
Reference in new issue
Block a user