Files

77 lines
1.9 KiB
YAML

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}
DBC_LOCALE: ${DBC_LOCALE:-8}
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}
REALM_NAME: ${REALM_NAME:-Sylvania Solo}
REALM_ADDRESS: ${REALM_ADDRESS:-127.0.0.1}
REALM_PORT: ${REALM_PORT:-8086}
DBC_LOCALE: ${DBC_LOCALE:-8}
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: