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: # SvelteKit's Node adapter caps request bodies at 512KB by default, # which rejects real-world plugin .dll uploads with HTTP 413. Same # trust boundary as the CSRF disable (see svelte.config.js) — this is # LAN-only, so "Infinity" (no cap) is fine. NOTE: "0" does NOT mean # unlimited in this adapter — it blocks anything > 0 bytes. SvelteKit's # own error message calls this out: "To disable body size limits, # specify Infinity rather than 0." If exposed to the public internet, # replace with a concrete byte cap (e.g. "128M") instead. BODY_SIZE_LIMIT: "Infinity" 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}