name: 'Quantum Core X' services: # authentication service auth: image: ghcr.io/meikellp/quantum-core-x/auth restart: unless-stopped ports: - "11000:11000" volumes: - ./auth.appsettings.json:/app/appsettings.json:ro depends_on: db-mysql: condition: service_healthy cache: condition: service_healthy # game service game: image: ghcr.io/meikellp/quantum-core-x/game restart: unless-stopped ports: - 13000:13000 volumes: - ./game.appsettings.json:/app/appsettings.json:ro - ./data:/app/data:ro depends_on: db-mysql: condition: service_healthy cache: condition: service_healthy # redis holds live data of the game world # used as distributed memory between server nodes cache: image: redis:latest restart: unless-stopped volumes: - cache_data:/data healthcheck: test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] interval: 10s timeout: 5s retries: 3 # persistent storage db-mysql: image: mariadb:12.3 hostname: db environment: - MARIADB_USER=metin2 - MARIADB_PASSWORD=metin2 - MARIADB_DATABASE=metin2 - MARIADB_ROOT_PASSWORD=supersecure.123 volumes: - db_data_mysql:/var/lib/mysql healthcheck: test: [ "CMD", "healthcheck.sh", "--connect", "--innodb_initialized" ] interval: 10s timeout: 5s retries: 3 volumes: cache_data: db_data_mysql: