services: dogama: image: ghcr.io/dogama/dogama:${DOGAMA_VERSION:-latest} restart: unless-stopped ports: - "${DOGAMA_HTTP_PORT:-8080}:8080" environment: TZ: ${TZ:-UTC} DOGAMA_AGENT_URL: http://agent:8081 DOGAMA_AGENT_TOKEN_FILE: /run/secrets/agent_token DOGAMA_MASTER_KEY_FILE: /run/secrets/master_key DOGAMA_SERVERS_ROOT: /srv/game-servers DOGAMA_BACKUPS_ROOT: /srv/game-backups DOGAMA_IMPORTS_ROOT: /var/lib/dogama/imports/staging secrets: - agent_token - master_key volumes: - ./data:/var/lib/dogama - ${DOGAMA_SERVERS_ROOT:-/srv/game-servers}:/srv/game-servers - ${DOGAMA_BACKUPS_ROOT:-/srv/game-backups}:/srv/game-backups networks: - frontend - control - games depends_on: - agent agent: image: ghcr.io/dogama/dogama-agent:${DOGAMA_VERSION:-latest} restart: unless-stopped read_only: true environment: TZ: ${TZ:-UTC} DOGAMA_AGENT_LISTEN_ADDRESS: :8081 DOGAMA_AGENT_TOKEN_FILE: /run/secrets/agent_token DOGAMA_AGENT_REGISTRY_PATH: /var/lib/dogama-agent/registry.json DOGAMA_DOCKER_SOCKET: /var/run/docker.sock DOGAMA_DOCKER_NETWORK: dogama-games DOGAMA_ALLOWED_SERVER_ROOT: /srv/game-servers DOGAMA_ALLOWED_BACKUP_ROOT: /srv/game-backups secrets: - agent_token volumes: - /var/run/docker.sock:/var/run/docker.sock - agent_state:/var/lib/dogama-agent - ${DOGAMA_SERVERS_ROOT:-/srv/game-servers}:/srv/game-servers - ${DOGAMA_BACKUPS_ROOT:-/srv/game-backups}:/srv/game-backups tmpfs: - /tmp:rw,noexec,nosuid,nodev,size=16m security_opt: - no-new-privileges:true networks: - control - games networks: frontend: control: internal: true games: name: dogama-games volumes: agent_state: secrets: agent_token: file: ./secrets/agent_token master_key: file: ./secrets/master_key