x-environment: &common-environment MYSQL_HOST: ${MYSQL_HOST} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} MYSQL_PORT: ${MYSQL_PORT} MYSQL_DB_ACCOUNT: ${MYSQL_DB_ACCOUNT} MYSQL_DB_PLAYER: ${MYSQL_DB_PLAYER} MYSQL_DB_COMMON: ${MYSQL_DB_COMMON} MYSQL_DB_LOG: ${MYSQL_DB_LOG} TEST_SERVER: ${TEST_SERVER} DB_ADDR: ${DB_ADDR} DB_PORT: ${DB_PORT} PUBLIC_IP: ${PUBLIC_IP} GAME_MAX_LEVEL: ${GAME_MAX_LEVEL} GAME_MALL_URL: ${GAME_MALL_URL} services: # MySQL Database mysql: image: mysql:5.5 restart: on-failure environment: # Password for root access MYSQL_ROOT_PASSWORD: 'metin2' ports: - '${MYSQL_PORT}:${MYSQL_PORT}' expose: - ${MYSQL_PORT} volumes: - ./storage/database/:/var/lib/mysql/ healthcheck: test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$$MYSQL_ROOT_PASSWORD' ] interval: 10s timeout: 5s retries: 5 # DBCache Server db: image: ${GAME_IMAGE} restart: on-failure environment: *common-environment expose: - ${DB_PORT} command: db volumes: - ./storage/log/db/:/app/log/ depends_on: mysql: condition: service_healthy # Auth server auth: image: ${GAME_IMAGE} restart: on-failure environment: <<: *common-environment MYSQL_DB_PLAYER: ${MYSQL_DB_ACCOUNT} GAME_HOSTNAME: auth GAME_CHANNEL: 1 GAME_AUTH_SERVER: master GAME_PORT: 11000 GAME_P2P_PORT: 12000 expose: - 11000 - 12000 ports: - '11000:11000' command: game volumes: - ./storage/log/auth/:/app/log/ depends_on: mysql: condition: service_healthy # Game server (CH1) ch1_first: image: ${GAME_IMAGE} restart: on-failure environment: <<: *common-environment GAME_HOSTNAME: ch1_first GAME_CHANNEL: 1 GAME_MARK_SERVER: 1 GAME_PORT: 13000 GAME_P2P_PORT: 14000 GAME_MAP_ALLOW: 1 4 5 6 3 23 43 112 107 67 68 72 208 302 304 expose: - 13000 - 14000 ports: - '13000:13000' command: game volumes: - ./storage/log/ch1/first/:/app/log/ - ./storage/mark/:/app/mark/ depends_on: mysql: condition: service_healthy ch1_game1: image: ${GAME_IMAGE} restart: on-failure environment: <<: *common-environment GAME_HOSTNAME: ch1_game1 GAME_CHANNEL: 1 GAME_MARK_SERVER: 0 GAME_PORT: 13001 GAME_P2P_PORT: 14001 GAME_MAP_ALLOW: 21 24 25 26 108 61 63 69 70 73 216 217 303 expose: - 13001 - 14001 ports: - '13001:13001' command: game volumes: - ./storage/log/ch1/game1/:/app/log/ depends_on: mysql: condition: service_healthy ch1_game2: image: ${GAME_IMAGE} restart: on-failure environment: <<: *common-environment GAME_HOSTNAME: ch1_game2 GAME_CHANNEL: 1 GAME_MARK_SERVER: 0 GAME_PORT: 13002 GAME_P2P_PORT: 14002 GAME_MAP_ALLOW: 41 44 45 46 109 62 64 65 66 71 104 301 351 expose: - 13002 - 14002 ports: - '13002:13002' command: game volumes: - ./storage/log/ch1/game2/:/app/log/ depends_on: mysql: condition: service_healthy # Game server (game99) game99: image: ${GAME_IMAGE} restart: on-failure environment: <<: *common-environment GAME_HOSTNAME: game99 GAME_CHANNEL: 99 GAME_MARK_SERVER: 0 GAME_PORT: 13099 GAME_P2P_PORT: 14099 GAME_MAP_ALLOW: 113 81 100 101 103 105 110 111 114 118 119 120 121 122 123 124 125 126 127 128 181 182 183 200 expose: - 13099 - 14099 ports: - '13099:13099' command: game volumes: - ./storage/log/game99/:/app/log/ depends_on: mysql: condition: service_healthy