version: "3.8" services: couchbase: image: ${COUCHBASE_IMAGE:-couchbase:community-6.6.0} env_file: .env ports: - "8091-8096:8091-8096" - "11210:11210" volumes: - couchbase_data:/opt/couchbase/var gameserver: build: context: . dockerfile: docker/Dockerfile.gameserver env_file: .env depends_on: - couchbase ports: - "3724:3724" volumes: - ./hm_gameserver:/workspace/hm_gameserver - ./hm_base:/workspace/hm_base - ./hm_database:/workspace/hm_database - ./hm_log:/workspace/hm_log working_dir: /workspace command: ["./hm_gameserver/hm_gameserver", "--log=/workspace/hm_log/hm_gameserver.log"] lobbyserver: build: context: . dockerfile: docker/Dockerfile.lobbyserver env_file: .env depends_on: - couchbase - gameserver ports: - "45678:45678" volumes: - ./hm_lobbyserver:/workspace/hm_lobbyserver - ./hm_base:/workspace/hm_base - ./hm_database:/workspace/hm_database - ./hm_log:/workspace/hm_log working_dir: /workspace command: - "./hm_lobbyserver/hm_lobbyserver" - "--gameserver=gameserver" - "--log=/workspace/hm_log/hm_lobbyserver.log" sunwell: build: context: ./hm_sunwell dockerfile: docker/Dockerfile.sunwell env_file: .env ports: - "3000:3000" web: build: context: ./hm_web dockerfile: docker/Dockerfile.web env_file: .env depends_on: - couchbase - sunwell ports: - "9002:9002" volumes: - ./hm_web:/workspace/hm_web - ./hm_sunwell:/workspace/hm_sunwell working_dir: /workspace/hm_web command: ["python", "app.py"] nginx: build: context: ./hm_nginx dockerfile: docker/Dockerfile.nginx env_file: .env depends_on: - web ports: - "8080:80" volumes: - ./hm_web/static:/usr/local/web/static:ro volumes: couchbase_data: