Files
electric-cherry/docker-compose.yml
T
joshandClaude Opus 4.7 13a29e5ace Add deploy + destroy server flow; migrate to t5_<mode>_<slug>_<n> naming
Full server lifecycle management from Electric Cherry: pick game/mode/map/pluto
key in the Fleet page, EC provisions the deployment via Komodo, allocates a
port in 28960-28980, creates the 0o777 host dir, and starts the container.
Destroy button tears everything down (Komodo Destroy+Delete, rm -rf host dir,
transactional DB cleanup) and surfaces any partial-failure warnings inline.

Same phase cuts over to the new naming scheme (t5_zombie_cosmodrome_1 etc.).
Komodo entity names now match EC server names 1:1 (no more _/- transform), and
the map catalog carries friendly/slug/canonical for each of the 11 t5 zombie
maps. Server rows gain game_mode, map_slug, host_dir, config_file, game_id,
image, created_by, and destroyed_at columns for provisioning + audit.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-09-13 18:38:42 -04:00

32 lines
1.1 KiB
YAML

services:
electric-cherry:
build:
context: .
image: electric-cherry:latest
container_name: electric-cherry
restart: unless-stopped
ports:
- "3000:3000"
# Lets RCON_HOST=host.docker.internal reach game servers running on the
# same Komodo host. Docker Engine 20.10+ resolves this alias when the
# extra_hosts entry is present.
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
# in prod (Komodo host), the game server tree is at /root/zombies
- /root/zombies:/root/zombies:rw
- /root/zombies/.electric-cherry:/data:rw
environment:
SERVERS_ROOT: /root/zombies/t5
REL_DEST: runtime/plutonium/storage/t5/raw/scripts/sp
BETA_ARCHIVE_DIR: /root/zombies/beta-archive
DB_PATH: /data/cherry.db
DEPLOY_KEEP_DAYS: "7"
KOMODO_ADDRESS: ${KOMODO_ADDRESS}
KOMODO_API_KEY: ${KOMODO_API_KEY}
KOMODO_API_SECRET: ${KOMODO_API_SECRET}
KOMODO_TARGET_SERVER: ${KOMODO_TARGET_SERVER}
RCON_PASSWORD: ${RCON_PASSWORD}
RCON_HOST: ${RCON_HOST:-host.docker.internal}
RCON_TIMEOUT_MS: ${RCON_TIMEOUT_MS:-3000}