512 lines
13 KiB
YAML
512 lines
13 KiB
YAML
services:
|
|
postgres:
|
|
image: postgres:13
|
|
container_name: wingsemu-postgres
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_DB: ${POSTGRES_DB:-game}
|
|
POSTGRES_USER: ${POSTGRES_USER:-postgres}
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres}"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: wingsemu-redis
|
|
restart: unless-stopped
|
|
command: ["redis-server", "--notify-keyspace-events", "Kx", "--appendonly", "yes"]
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
|
|
mongodb:
|
|
image: mongo:6
|
|
container_name: wingsemu-mongodb
|
|
restart: unless-stopped
|
|
environment:
|
|
MONGO_INITDB_ROOT_USERNAME: ${MONGO_ROOT_USERNAME}
|
|
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_ROOT_PASSWORD}
|
|
ports:
|
|
- "27017:27017"
|
|
volumes:
|
|
- mongodb_data:/data/db
|
|
healthcheck:
|
|
test: ["CMD", "mongosh", "--quiet", "--eval", "db.runCommand({ ping: 1 }).ok"]
|
|
interval: 15s
|
|
timeout: 10s
|
|
retries: 10
|
|
|
|
mqtt:
|
|
image: emqx/emqx:latest
|
|
container_name: wingsemu-mqtt
|
|
restart: unless-stopped
|
|
ports:
|
|
- "1883:1883"
|
|
- "18083:18083"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "emqx ctl status | grep -q 'is started'"]
|
|
interval: 15s
|
|
timeout: 10s
|
|
retries: 10
|
|
|
|
master:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/Dockerfile.service
|
|
args:
|
|
SERVICE_DIR: master
|
|
container_name: wingsemu-master
|
|
restart: unless-stopped
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
mongodb:
|
|
condition: service_healthy
|
|
mqtt:
|
|
condition: service_healthy
|
|
environment:
|
|
MASTER_PORT: 20500
|
|
DATABASE_IP: postgres
|
|
DATABASE_PORT: 5432
|
|
DATABASE_NAME: ${POSTGRES_DB:-game}
|
|
DATABASE_USER: ${POSTGRES_USER:-postgres}
|
|
DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
|
|
REDIS_IP: redis
|
|
REDIS_PORT: 6379
|
|
POSTGRES_DATABASE_IP: postgres
|
|
POSTGRES_DATABASE_PORT: 5432
|
|
POSTGRES_DATABASE_NAME: ${POSTGRES_DB:-game}
|
|
POSTGRES_DATABASE_USERNAME: ${POSTGRES_USER:-postgres}
|
|
POSTGRES_DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
|
|
WINGSEMU_MONGO_HOST: mongodb
|
|
WINGSEMU_MONGO_PORT: 27017
|
|
WINGSEMU_MONGO_DB: wingsemu_logs
|
|
WINGSEMU_MONGO_USERNAME: ${MONGO_ROOT_USERNAME}
|
|
WINGSEMU_MONGO_PWD: ${MONGO_ROOT_PASSWORD}
|
|
MQTT_BROKER_ADDRESS: mqtt
|
|
MQTT_BROKER_PORT: 1883
|
|
ASPNETCORE_URLS: ""
|
|
Logging__LogLevel__Microsoft.AspNetCore.Server.Kestrel: Error
|
|
command: ["/app/Master.dll"]
|
|
ports:
|
|
- "20500:20500"
|
|
|
|
login:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/Dockerfile.service
|
|
args:
|
|
SERVICE_DIR: login-server
|
|
container_name: wingsemu-login
|
|
restart: unless-stopped
|
|
depends_on:
|
|
master:
|
|
condition: service_started
|
|
environment:
|
|
SERVER_PORT: 4000
|
|
DEV_LOGIN_BYPASS: "true"
|
|
LOGIN_PACKET_TRACE: "false"
|
|
LOGIN_CHANNEL_OLD_FORMAT: "true"
|
|
LOGIN_CHANNEL_MINIMAL: "false"
|
|
LOGIN_CHANNEL_SEND_BOTH: "false"
|
|
LOGIN_PLAINTEXT_SEND: "false"
|
|
MASTER_IP: master
|
|
MASTER_PORT: 20500
|
|
DB_SERVER_IP: database
|
|
DB_SERVER_PORT: 29999
|
|
REDIS_IP: redis
|
|
REDIS_PORT: 6379
|
|
MQTT_BROKER_ADDRESS: mqtt
|
|
MQTT_BROKER_PORT: 1883
|
|
command: ["/app/LoginServer.dll"]
|
|
ports:
|
|
- "4000:4000"
|
|
|
|
gamechannel:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/Dockerfile.service
|
|
args:
|
|
SERVICE_DIR: game-server
|
|
container_name: wingsemu-gamechannel
|
|
restart: unless-stopped
|
|
depends_on:
|
|
master:
|
|
condition: service_started
|
|
database:
|
|
condition: service_started
|
|
bazaar:
|
|
condition: service_started
|
|
family:
|
|
condition: service_started
|
|
relation:
|
|
condition: service_started
|
|
mail:
|
|
condition: service_started
|
|
translation:
|
|
condition: service_started
|
|
environment:
|
|
MASTER_IP: master
|
|
MASTER_PORT: 20500
|
|
DATABASE_IP: postgres
|
|
DATABASE_PORT: 5432
|
|
DATABASE_NAME: ${POSTGRES_DB:-game}
|
|
DATABASE_USER: ${POSTGRES_USER:-postgres}
|
|
DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
|
|
DB_SERVER_IP: database
|
|
DB_SERVER_PORT: 29999
|
|
BAZAAR_SERVER_IP: bazaar
|
|
BAZAAR_SERVER_PORT: 25555
|
|
FAMILY_SERVER_IP: family
|
|
FAMILY_SERVER_PORT: 26666
|
|
RELATION_SERVER_IP: relation
|
|
RELATION_SERVER_PORT: 21111
|
|
MAIL_SERVER_IP: mail
|
|
MAIL_SERVER_PORT: 27777
|
|
TRANSLATIONS_SERVER_IP: translation
|
|
TRANSLATIONS_SERVER_PORT: 19999
|
|
GAME_SERVER_IP: 127.0.0.1
|
|
GAME_SERVER_PORT: 8000
|
|
GAME_SERVER_CHANNEL_ID: 1
|
|
GAME_SERVER_GROUP: 1
|
|
HTTP_LISTEN_PORT: 17500
|
|
REDIS_IP: redis
|
|
REDIS_PORT: 6379
|
|
MQTT_BROKER_ADDRESS: mqtt
|
|
MQTT_BROKER_PORT: 1883
|
|
WINGSEMU_MONGO_HOST: mongodb
|
|
WINGSEMU_MONGO_PORT: 27017
|
|
WINGSEMU_MONGO_DB: wingsemu_logs
|
|
WINGSEMU_MONGO_USERNAME: ${MONGO_ROOT_USERNAME}
|
|
WINGSEMU_MONGO_PWD: ${MONGO_ROOT_PASSWORD}
|
|
DB_FIRST: "false"
|
|
STRICT_DB_ONLY: "false"
|
|
command: ["/app/GameChannel.dll"]
|
|
volumes:
|
|
- ./resources:/app/resources
|
|
- ./config:/app/config
|
|
ports:
|
|
- "8000:8000"
|
|
- "17666:17500"
|
|
|
|
database:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/Dockerfile.service
|
|
args:
|
|
SERVICE_DIR: database-server
|
|
container_name: wingsemu-database
|
|
restart: unless-stopped
|
|
depends_on:
|
|
master:
|
|
condition: service_started
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
mqtt:
|
|
condition: service_healthy
|
|
environment:
|
|
DATABASE_SERVER_PORT: 29999
|
|
MASTER_IP: master
|
|
MASTER_PORT: 20500
|
|
DATABASE_IP: postgres
|
|
DATABASE_PORT: 5432
|
|
DATABASE_NAME: ${POSTGRES_DB:-game}
|
|
DATABASE_USER: ${POSTGRES_USER:-postgres}
|
|
DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_DATABASE_IP: postgres
|
|
POSTGRES_DATABASE_PORT: 5432
|
|
POSTGRES_DATABASE_NAME: ${POSTGRES_DB:-game}
|
|
POSTGRES_DATABASE_USERNAME: ${POSTGRES_USER:-postgres}
|
|
POSTGRES_DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
|
|
REDIS_IP: redis
|
|
REDIS_PORT: 6379
|
|
MQTT_BROKER_ADDRESS: mqtt
|
|
MQTT_BROKER_PORT: 1883
|
|
Logging__LogLevel__Microsoft.AspNetCore.Server.Kestrel: Error
|
|
command: ["/app/DatabaseServer.dll"]
|
|
ports:
|
|
- "29999:29999"
|
|
|
|
bazaar:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/Dockerfile.service
|
|
args:
|
|
SERVICE_DIR: bazaar-server
|
|
container_name: wingsemu-bazaar
|
|
restart: unless-stopped
|
|
depends_on:
|
|
master:
|
|
condition: service_started
|
|
database:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_healthy
|
|
mqtt:
|
|
condition: service_healthy
|
|
environment:
|
|
BAZAAR_SERVER_PORT: 25555
|
|
MASTER_IP: master
|
|
MASTER_PORT: 20500
|
|
DATABASE_IP: postgres
|
|
DATABASE_PORT: 5432
|
|
DATABASE_NAME: ${POSTGRES_DB:-game}
|
|
DATABASE_USER: ${POSTGRES_USER:-postgres}
|
|
DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
|
|
DB_SERVER_IP: database
|
|
DB_SERVER_PORT: 29999
|
|
REDIS_IP: redis
|
|
REDIS_PORT: 6379
|
|
MQTT_BROKER_ADDRESS: mqtt
|
|
MQTT_BROKER_PORT: 1883
|
|
Logging__LogLevel__Microsoft.AspNetCore.Server.Kestrel: Error
|
|
command: ["/app/BazaarServer.dll"]
|
|
volumes:
|
|
- ./resources:/app/resources:ro
|
|
- ./config:/app/config
|
|
ports:
|
|
- "25555:25555"
|
|
|
|
family:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/Dockerfile.service
|
|
args:
|
|
SERVICE_DIR: family-server
|
|
container_name: wingsemu-family
|
|
restart: unless-stopped
|
|
depends_on:
|
|
master:
|
|
condition: service_started
|
|
database:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_healthy
|
|
mqtt:
|
|
condition: service_healthy
|
|
environment:
|
|
FAMILY_SERVER_PORT: 26666
|
|
MASTER_IP: master
|
|
MASTER_PORT: 20500
|
|
DATABASE_IP: postgres
|
|
DATABASE_PORT: 5432
|
|
DATABASE_NAME: ${POSTGRES_DB:-game}
|
|
DATABASE_USER: ${POSTGRES_USER:-postgres}
|
|
DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
|
|
DB_SERVER_IP: database
|
|
DB_SERVER_PORT: 29999
|
|
REDIS_IP: redis
|
|
REDIS_PORT: 6379
|
|
MQTT_BROKER_ADDRESS: mqtt
|
|
MQTT_BROKER_PORT: 1883
|
|
Logging__LogLevel__Microsoft.AspNetCore.Server.Kestrel: Error
|
|
command: ["/app/FamilyServer.dll"]
|
|
volumes:
|
|
- ./resources:/app/resources:ro
|
|
- ./config:/app/config
|
|
ports:
|
|
- "26666:26666"
|
|
|
|
relation:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/Dockerfile.service
|
|
args:
|
|
SERVICE_DIR: relation-server
|
|
container_name: wingsemu-relation
|
|
restart: unless-stopped
|
|
depends_on:
|
|
master:
|
|
condition: service_started
|
|
database:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_healthy
|
|
mqtt:
|
|
condition: service_healthy
|
|
environment:
|
|
RELATION_SERVER_PORT: 21111
|
|
MASTER_IP: master
|
|
MASTER_PORT: 20500
|
|
DATABASE_IP: postgres
|
|
DATABASE_PORT: 5432
|
|
DATABASE_NAME: ${POSTGRES_DB:-game}
|
|
DATABASE_USER: ${POSTGRES_USER:-postgres}
|
|
DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
|
|
DB_SERVER_IP: database
|
|
DB_SERVER_PORT: 29999
|
|
REDIS_IP: redis
|
|
REDIS_PORT: 6379
|
|
MQTT_BROKER_ADDRESS: mqtt
|
|
MQTT_BROKER_PORT: 1883
|
|
Logging__LogLevel__Microsoft.AspNetCore.Server.Kestrel: Error
|
|
command: ["/app/RelationServer.dll"]
|
|
volumes:
|
|
- ./resources:/app/resources:ro
|
|
- ./config:/app/config
|
|
ports:
|
|
- "21111:21111"
|
|
|
|
mail:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/Dockerfile.service
|
|
args:
|
|
SERVICE_DIR: mail-server
|
|
container_name: wingsemu-mail
|
|
restart: unless-stopped
|
|
depends_on:
|
|
master:
|
|
condition: service_started
|
|
database:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_healthy
|
|
mqtt:
|
|
condition: service_healthy
|
|
environment:
|
|
MAIL_SERVER_PORT: 27777
|
|
MASTER_IP: master
|
|
MASTER_PORT: 20500
|
|
DATABASE_IP: postgres
|
|
DATABASE_PORT: 5432
|
|
DATABASE_NAME: ${POSTGRES_DB:-game}
|
|
DATABASE_USER: ${POSTGRES_USER:-postgres}
|
|
DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
|
|
DB_SERVER_IP: database
|
|
DB_SERVER_PORT: 29999
|
|
REDIS_IP: redis
|
|
REDIS_PORT: 6379
|
|
MQTT_BROKER_ADDRESS: mqtt
|
|
MQTT_BROKER_PORT: 1883
|
|
Logging__LogLevel__Microsoft.AspNetCore.Server.Kestrel: Error
|
|
command: ["/app/MailServer.dll"]
|
|
volumes:
|
|
- ./resources:/app/resources:ro
|
|
- ./config:/app/config
|
|
ports:
|
|
- "27777:27777"
|
|
|
|
translation:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/Dockerfile.service
|
|
args:
|
|
SERVICE_DIR: translation-server
|
|
container_name: wingsemu-translation
|
|
restart: unless-stopped
|
|
depends_on:
|
|
master:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_healthy
|
|
mqtt:
|
|
condition: service_healthy
|
|
environment:
|
|
TRANSLATION_SERVER_PORT: 19999
|
|
MASTER_IP: master
|
|
MASTER_PORT: 20500
|
|
REDIS_IP: redis
|
|
REDIS_PORT: 6379
|
|
MQTT_BROKER_ADDRESS: mqtt
|
|
MQTT_BROKER_PORT: 1883
|
|
DATABASE_IP: postgres
|
|
DATABASE_PORT: 5432
|
|
DATABASE_NAME: game
|
|
DATABASE_USER: ${POSTGRES_USER}
|
|
DATABASE_PASSWORD: ${POSTGRES_PASSWORD}
|
|
Logging__LogLevel__Microsoft.AspNetCore.Server.Kestrel: Error
|
|
command: ["/app/TranslationsServer.dll"]
|
|
volumes:
|
|
- ./translations:/app/translations
|
|
- ./resources:/app/resources:ro
|
|
ports:
|
|
- "19999:19999"
|
|
|
|
logs:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/Dockerfile.service
|
|
args:
|
|
SERVICE_DIR: logs-server
|
|
container_name: wingsemu-logs
|
|
restart: unless-stopped
|
|
depends_on:
|
|
master:
|
|
condition: service_started
|
|
mongodb:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
mqtt:
|
|
condition: service_healthy
|
|
environment:
|
|
LOGS_SERVER_PORT: 28888
|
|
MASTER_IP: master
|
|
MASTER_PORT: 20500
|
|
REDIS_IP: redis
|
|
REDIS_PORT: 6379
|
|
WINGSEMU_MONGO_HOST: mongodb
|
|
WINGSEMU_MONGO_PORT: 27017
|
|
WINGSEMU_MONGO_DB: wingsemu_logs
|
|
WINGSEMU_MONGO_USERNAME: ${MONGO_ROOT_USERNAME}
|
|
WINGSEMU_MONGO_PWD: ${MONGO_ROOT_PASSWORD}
|
|
MQTT_BROKER_ADDRESS: mqtt
|
|
MQTT_BROKER_PORT: 1883
|
|
ASPNETCORE_URLS: ""
|
|
Logging__LogLevel__Microsoft.AspNetCore.Server.Kestrel: Error
|
|
command: ["/app/LogsServer.dll"]
|
|
ports:
|
|
- "28888:28888"
|
|
|
|
scheduler:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/Dockerfile.service
|
|
args:
|
|
SERVICE_DIR: scheduler
|
|
container_name: wingsemu-scheduler
|
|
restart: unless-stopped
|
|
depends_on:
|
|
master:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_healthy
|
|
mqtt:
|
|
condition: service_healthy
|
|
environment:
|
|
MASTER_IP: master
|
|
MASTER_PORT: 20500
|
|
REDIS_IP: redis
|
|
REDIS_PORT: 6379
|
|
MQTT_BROKER_ADDRESS: mqtt
|
|
MQTT_BROKER_PORT: 1883
|
|
command: ["/app/Scheduler.dll"]
|
|
ports:
|
|
- "25000:25000"
|
|
|
|
volumes:
|
|
postgres_data:
|
|
redis_data:
|
|
mongodb_data:
|
|
|
|
|
|
|
|
|