name: sylvania-core x-core: &core build: context: . args: BUILD_JOBS: ${BUILD_JOBS:-2} BUILD_TYPE: ${BUILD_TYPE:-Release} image: sylvania-core:${IMAGE_TAG:-local} working_dir: /opt/sylvania/bin restart: unless-stopped depends_on: database: condition: service_healthy environment: DB_HOST: database DB_PORT: 3306 DB_USER: ${DB_USER:-sylvania} DB_PASSWORD: ${DB_PASSWORD:-sylvania} REALM_NAME: ${REALM_NAME:-Sylvania Solo} REALM_ADDRESS: ${REALM_ADDRESS:-127.0.0.1} REALM_PORT: ${REALM_PORT:-8086} volumes: - ./data:/opt/sylvania/data:ro - ./sql:/src/sql:ro - sylvania-logs:/opt/sylvania/logs services: database: image: mariadb:11.4 restart: unless-stopped environment: MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-change-me} DB_USER: ${DB_USER:-sylvania} DB_PASSWORD: ${DB_PASSWORD:-sylvania} volumes: - database-data:/var/lib/mysql - ./docker/database/init.sh:/docker-entrypoint-initdb.d/00-sylvania-init.sh:ro - ./sql/base:/sylvania/base:ro - ./docker/db-dumps:/sylvania/dumps:ro healthcheck: test: ["CMD-SHELL", "healthcheck.sh --connect --innodb_initialized"] interval: 5s timeout: 5s retries: 30 start_period: 30s bnetserver: <<: *core command: ["bnetserver"] environment: DB_HOST: database DB_PORT: 3306 DB_USER: ${DB_USER:-sylvania} DB_PASSWORD: ${DB_PASSWORD:-sylvania} EXTERNAL_ADDRESS: ${EXTERNAL_ADDRESS:-127.0.0.1} ports: - "1119:1119" - "8081:8081" worldserver: <<: *core command: ["worldserver"] stdin_open: true tty: true ports: - "${REALM_PORT:-8086}:8085" volumes: database-data: sylvania-logs: