# DO NOT EDIT THIS FILE # # This file is compatible with Lugo Studio. # If you change it, you may make it incompatible or Lugo Studio may not work correctly. version: '3.9' services: game_server: image: lugobots/server:${SERVER_VERSION:-latest} command: play --dev-mode --listening-duration=${LISTENING_DURATION:-50ms} --grpc-port=${GAME_GRPC_PORT:-5000} --timer-mode=${TIMER_MODE:-wait} ports: - "${GAME_GRPC_PORT:-5000}:${GAME_GRPC_PORT:-5000}" - "8080:8080" healthcheck: test: [ "CMD", "grpc-health-probe", "-addr=game_server:${GAME_GRPC_PORT:-5000}" ] interval: 2s timeout: 5s retries: 100 start_period: 10s watcher: build: context: . dockerfile: .lugo/watcher.Dockerfile working_dir: /builder volumes: - ${PROJECT_PATH:-./}:/builder command: - /bin/bash - -c - | rm -f /builder/.lugo/my_bot_binary || echo "Binary not found" export GOCACHE=/builder/.lugo/go-cache export GOMODCACHE=/builder/.lugo/go-mod-cache time go build -o /builder/.lugo/my_bot_binary main.go nodemon -L --ext go --watch "./*" --exec "go build -o /builder/.lugo/my_bot_binary main.go" healthcheck: test: [ "CMD", "test", "-f", "/builder/.lugo/my_bot_binary" ] interval: 2s timeout: 5s retries: 100 start_period: 10s player_home_01: build: context: . dockerfile: .lugo/watcher.Dockerfile command: ["nodemon", "-L", "--signal", "SIGHUP", "--watch", "/app/.lugo/my_bot_binary", "--exec", "/app/.lugo/my_bot_binary"] depends_on: game_server: condition: service_healthy watcher: condition: service_healthy environment: - BOT_NUMBER=1 - BOT_TEAM=home - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} volumes: - ./:/app player_home_02: build: context: . dockerfile: .lugo/watcher.Dockerfile command: ["nodemon", "-L", "--signal", "SIGHUP", "--watch", "/app/.lugo/my_bot_binary", "--exec", "/app/.lugo/my_bot_binary"] depends_on: game_server: condition: service_healthy watcher: condition: service_healthy environment: - BOT_NUMBER=2 - BOT_TEAM=home - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} volumes: - ./:/app player_home_03: build: context: . dockerfile: .lugo/watcher.Dockerfile command: ["nodemon", "-L", "--signal", "SIGHUP", "--watch", "/app/.lugo/my_bot_binary", "--exec", "/app/.lugo/my_bot_binary"] depends_on: game_server: condition: service_healthy watcher: condition: service_healthy environment: - BOT_NUMBER=3 - BOT_TEAM=home - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} volumes: - ./:/app player_home_04: build: context: . dockerfile: .lugo/watcher.Dockerfile command: ["nodemon", "-L", "--signal", "SIGHUP", "--watch", "/app/.lugo/my_bot_binary", "--exec", "/app/.lugo/my_bot_binary"] depends_on: game_server: condition: service_healthy watcher: condition: service_healthy environment: - BOT_NUMBER=4 - BOT_TEAM=home - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} volumes: - ./:/app player_home_05: build: context: . dockerfile: .lugo/watcher.Dockerfile command: ["nodemon", "-L", "--signal", "SIGHUP", "--watch", "/app/.lugo/my_bot_binary", "--exec", "/app/.lugo/my_bot_binary"] depends_on: game_server: condition: service_healthy watcher: condition: service_healthy environment: - BOT_NUMBER=5 - BOT_TEAM=home - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} volumes: - ./:/app player_home_06: build: context: . dockerfile: .lugo/watcher.Dockerfile command: ["nodemon", "-L", "--signal", "SIGHUP", "--watch", "/app/.lugo/my_bot_binary", "--exec", "/app/.lugo/my_bot_binary"] depends_on: game_server: condition: service_healthy watcher: condition: service_healthy environment: - BOT_NUMBER=6 - BOT_TEAM=home - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} volumes: - ./:/app player_home_07: build: context: . dockerfile: .lugo/watcher.Dockerfile command: ["nodemon", "-L", "--signal", "SIGHUP", "--watch", "/app/.lugo/my_bot_binary", "--exec", "/app/.lugo/my_bot_binary"] depends_on: game_server: condition: service_healthy watcher: condition: service_healthy environment: - BOT_NUMBER=7 - BOT_TEAM=home - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} volumes: - ./:/app player_home_08: build: context: . dockerfile: .lugo/watcher.Dockerfile command: ["nodemon", "-L", "--signal", "SIGHUP", "--watch", "/app/.lugo/my_bot_binary", "--exec", "/app/.lugo/my_bot_binary"] depends_on: game_server: condition: service_healthy watcher: condition: service_healthy environment: - BOT_NUMBER=8 - BOT_TEAM=home - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} volumes: - ./:/app player_home_09: build: context: . dockerfile: .lugo/watcher.Dockerfile command: ["nodemon", "-L", "--signal", "SIGHUP", "--watch", "/app/.lugo/my_bot_binary", "--exec", "/app/.lugo/my_bot_binary"] depends_on: game_server: condition: service_healthy watcher: condition: service_healthy environment: - BOT_NUMBER=9 - BOT_TEAM=home - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} volumes: - ./:/app player_home_10: build: context: . dockerfile: .lugo/watcher.Dockerfile command: ["nodemon", "-L", "--signal", "SIGHUP", "--watch", "/app/.lugo/my_bot_binary", "--exec", "/app/.lugo/my_bot_binary"] depends_on: game_server: condition: service_healthy watcher: condition: service_healthy environment: - BOT_NUMBER=10 - BOT_TEAM=home - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} volumes: - ./:/app player_home_11: build: context: . dockerfile: .lugo/watcher.Dockerfile command: ["nodemon", "-L", "--signal", "SIGHUP", "--watch", "/app/.lugo/my_bot_binary", "--exec", "/app/.lugo/my_bot_binary"] depends_on: game_server: condition: service_healthy watcher: condition: service_healthy environment: - BOT_NUMBER=11 - BOT_TEAM=home - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} volumes: - ./:/app player_away_01: image: ${AWAY_BOT:-lugobots/level-1:v4} depends_on: game_server: condition: service_healthy environment: - BOT_NUMBER=1 - BOT_TEAM=away - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} - MODE=${MODE:-default} # default zombies statues kids defenses player_away_02: image: ${AWAY_BOT:-lugobots/level-1:v4} depends_on: game_server: condition: service_healthy environment: - BOT_NUMBER=2 - BOT_TEAM=away - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} - MODE=${MODE:-default} # default zombies statues kids defenses player_away_03: image: ${AWAY_BOT:-lugobots/level-1:v4} depends_on: game_server: condition: service_healthy environment: - BOT_NUMBER=3 - BOT_TEAM=away - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} - MODE=${MODE:-default} # default zombies statues kids defenses player_away_04: image: ${AWAY_BOT:-lugobots/level-1:v4} depends_on: game_server: condition: service_healthy environment: - BOT_NUMBER=4 - BOT_TEAM=away - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} - MODE=${MODE:-default} # default zombies statues kids defenses player_away_05: image: ${AWAY_BOT:-lugobots/level-1:v4} depends_on: game_server: condition: service_healthy environment: - BOT_NUMBER=5 - BOT_TEAM=away - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} - MODE=${MODE:-default} # default zombies statues kids defenses player_away_06: image: ${AWAY_BOT:-lugobots/level-1:v4} depends_on: game_server: condition: service_healthy environment: - BOT_NUMBER=6 - BOT_TEAM=away - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} - MODE=${MODE:-default} # default zombies statues kids defenses player_away_07: image: ${AWAY_BOT:-lugobots/level-1:v4} depends_on: game_server: condition: service_healthy environment: - BOT_NUMBER=7 - BOT_TEAM=away - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} - MODE=${MODE:-default} # default zombies statues kids defenses player_away_08: image: ${AWAY_BOT:-lugobots/level-1:v4} depends_on: game_server: condition: service_healthy environment: - BOT_NUMBER=8 - BOT_TEAM=away - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} - MODE=${MODE:-default} # default zombies statues kids defenses player_away_09: image: ${AWAY_BOT:-lugobots/level-1:v4} depends_on: game_server: condition: service_healthy environment: - BOT_NUMBER=9 - BOT_TEAM=away - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} - MODE=${MODE:-default} # default zombies statues kids defenses player_away_10: image: ${AWAY_BOT:-lugobots/level-1:v4} depends_on: game_server: condition: service_healthy environment: - BOT_NUMBER=10 - BOT_TEAM=away - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} - MODE=${MODE:-default} # default zombies statues kids defenses player_away_11: image: ${AWAY_BOT:-lugobots/level-1:v4} depends_on: game_server: condition: service_healthy environment: - BOT_NUMBER=11 - BOT_TEAM=away - BOT_GRPC_URL=game_server:${GAME_GRPC_PORT:-5000} - MODE=${MODE:-default} # default zombies statues kids defenses