name: zombies services: redis: image: redis:8-alpine restart: unless-stopped command: ["redis-server", "--appendonly", "no"] healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 10 networks: - game fpm: build: context: . target: app restart: unless-stopped command: ["php-fpm", "-F"] environment: &game-env APP_NAME: Zombies APP_ENV: production APP_DEBUG: "false" APP_URL: https://022e-62-250-222-180.ngrok-free.app APP_KEY: ${APP_KEY:-} LOG_CHANNEL: stderr BROADCAST_CONNECTION: reverb REDIS_CLIENT: predis REDIS_HOST: redis REDIS_PORT: 6379 REDIS_PREFIX: "" CACHE_STORE: file SESSION_DRIVER: file QUEUE_CONNECTION: sync DB_CONNECTION: sqlite REVERB_APP_ID: ${REVERB_APP_ID:-game-local} REVERB_APP_KEY: ${REVERB_APP_KEY:-game-local-key} REVERB_APP_SECRET: ${REVERB_APP_SECRET:-game-local-secret} REVERB_HOST: reverb REVERB_PORT: 8080 REVERB_SCHEME: http REVERB_SERVER_HOST: 0.0.0.0 REVERB_SERVER_PORT: 8080 expose: - "9000" depends_on: redis: condition: service_healthy networks: - game reverb: build: context: . target: app restart: unless-stopped command: ["php", "artisan", "reverb:start", "--no-interaction"] environment: *game-env expose: - "8080" depends_on: redis: condition: service_healthy networks: - game simulate: build: context: . target: app restart: unless-stopped command: ["php", "artisan", "game:simulate"] environment: *game-env depends_on: redis: condition: service_healthy networks: - game web: build: context: . target: web restart: unless-stopped ports: - "80:80" depends_on: - fpm - reverb networks: - game networks: game: name: zombies-game