version: "3.8" services: couchbase: image: couchbase:community-6.6.0 ports: - "8091-8096:8091-8096" - "11210:11210" volumes: - couchbase-data:/opt/couchbase/var couchbase-init: image: couchbase:community-6.6.0 depends_on: - couchbase entrypoint: ["/bin/bash", "/init-couchbase.sh"] volumes: - ./docker/couchbase-init.sh:/init-couchbase.sh:ro environment: COUCHBASE_HOST: couchbase COUCHBASE_ADMIN_USER: Administrator COUCHBASE_ADMIN_PASS: password COUCHBASE_BUCKET: hbs COUCHBASE_BUCKET_PASS: aci gameserver: build: context: . dockerfile: docker/Dockerfile depends_on: - couchbase-init working_dir: /workspace volumes: - .:/workspace environment: HM_COUCHBASE_HOST: couchbase command: ["bash", "-lc", "make -C hm_gameserver && ./hm_gameserver/hm_gameserver"] ports: - "3724:3724" lobbyserver: build: context: . dockerfile: docker/Dockerfile depends_on: - couchbase-init - gameserver working_dir: /workspace volumes: - .:/workspace environment: HM_COUCHBASE_HOST: couchbase command: ["bash", "-lc", "make -C hm_lobbyserver && ./hm_lobbyserver/hm_lobbyserver --gameserver=gameserver --gameserver_port=3724"] ports: - "45678:45678" volumes: couchbase-data: