73 lines
1.8 KiB
YAML
73 lines
1.8 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}
|
|
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:
|