services: app: build: context: .. restart: unless-stopped mem_limit: ${APP_MEMORY_LIMIT:-512m} cpus: ${APP_CPUS:-2.0} pids_limit: 128 read_only: true cap_drop: [ALL] security_opt: [no-new-privileges:true] environment: PUBLIC_ORIGINS: ${PUBLIC_ORIGIN:?Set PUBLIC_ORIGIN} REGIONS: ${REGIONS:-eu} TURN_URLS: ${TURN_URLS:-} TURN_SECRET: ${TURN_SECRET:-} METRICS_TOKEN: ${METRICS_TOKEN:?Set METRICS_TOKEN} GOMEMLIMIT: ${APP_GO_MEMORY_LIMIT:-384MiB} TRUSTED_PROXY_CIDRS: 172.30.90.2/32 networks: game: ipv4_address: 172.30.90.3 logging: &logs driver: json-file options: max-size: 10m max-file: '3' web: image: caddy:2.11.2-alpine@sha256:834468128c7696cec0ceea6172f7d692daf645ae51983ca76e39da54a97c570d restart: unless-stopped depends_on: [app] ports: - ${BIND_ADDRESS:-0.0.0.0}:${HTTP_PORT:-80}:80 - ${BIND_ADDRESS:-0.0.0.0}:${HTTPS_PORT:-443}:443 - ${BIND_ADDRESS:-0.0.0.0}:${HTTPS_PORT:-443}:443/udp environment: SITE_ADDRESS: ${SITE_ADDRESS:?Set SITE_ADDRESS} TLS_CONFIG: ${TLS_CONFIG:-} volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - caddy_data:/data - caddy_config:/config networks: game: ipv4_address: 172.30.90.2 logging: *logs networks: game: ipam: config: - subnet: 172.30.90.0/24 volumes: caddy_data: caddy_config: