wow-private-server/compose.yml
2025-08-21 18:36:36 +02:00

117 lines
4.1 KiB
YAML

services:
database:
build:
context: .
dockerfile: ./docker/database/Dockerfile
restart: unless-stopped
healthcheck:
test: ['CMD', 'healthcheck.sh', '--connect', '--innodb_initialized']
interval: 1m
timeout: 3s
retries: 5
start_period: 5m
volumes:
- ./vmangos-database:/var/lib/mysql
- ./storage/database/custom-sql:/sql/custom:ro
environment:
- TZ=Europe/Paris
- MARIADB_PASSWORD=mangos
- MARIADB_ROOT_PASSWORD=password
- VMANGOS_REALMLIST_NAME=gregan-wow
- VMANGOS_REALMLIST_ADDRESS=127.0.0.1
- VMANGOS_REALMLIST_PORT=8085
- VMANGOS_REALMLIST_ICON=1 # Sets the icon of the realm; 0 = Normal, 1 = PvP, 6 = RP, 8 = RP PVP
- VMANGOS_REALMLIST_TIMEZONE=10 # Sets the timezone of the realm; some common values are: 2 = United States, 3 = Oceanic, 4 = Latin America, 8 = English, 9 = German, 10 = French, 11 = Spanish, 12 = Russian
- VMANGOS_REALMLIST_ALLOWED_SECURITY_LEVEL=0 # Sets the minimum account security level required to log in to the realm; 0 = regular players
- VMANGOS_ENABLE_AUTOMATIC_WORLD_DB_CORRECTIONS=1
- VMANGOS_PROCESS_CUSTOM_SQL=1
realmd:
build:
context: .
dockerfile: ./docker/server/Dockerfile
user: 1000:1000
command: realmd
ulimits:
nofile: 1024
depends_on:
- database
restart: unless-stopped
healthcheck:
test: ['CMD', 'nc', '-z', 'localhost', '3724']
interval: 1m
timeout: 3s
retries: 5
start_period: 5m
ports:
- 3724:3724
volumes:
- ./config/realmd.conf:/opt/vmangos/config/realmd.conf:ro
- ./storage/realmd/logs:/opt/vmangos/storage/logs
environment:
- TZ=Europe/Paris
- WAIT_HOSTS=database:3306
- WAIT_TIMEOUT=300
mangosd:
build:
context: .
dockerfile: ./docker/server/Dockerfile
user: 1000:1000
command: mangosd
ulimits:
nofile: 1024
tty: true
stdin_open: true
depends_on:
- database
restart: unless-stopped
stop_grace_period: 2m
healthcheck:
test: ['CMD', 'nc', '-z', 'localhost', '8085']
interval: 1m
timeout: 3s
retries: 5
start_period: 5m
ports:
- 8085:8085
volumes:
- ./config/mangosd.conf:/opt/vmangos/config/mangosd.conf:ro
- ./storage/mangosd/extracted-data:/opt/vmangos/storage/data:ro
- ./storage/mangosd/logs:/opt/vmangos/storage/logs
- ./storage/mangosd/honor:/opt/vmangos/storage/honor
environment:
- TZ=Europe/Paris
- WAIT_HOSTS=database:3306
- WAIT_TIMEOUT=300
# # Optional:
# # See https://github.com/tiredofit/docker-db-backup#configuration for more
# # information.
# database-backup:
# image: tiredofit/db-backup
# depends_on:
# - database
# restart: unless-stopped
# volumes:
# - ./storage/database/backups:/backup
# environment:
# - TIMEZONE=Etc/UTC # Change this to your desired timezone (usually you want to match your host system's timezone)
# - CONTAINER_ENABLE_MONITORING=FALSE
# # If you are using a Linux host and your user's UID and GID are not 1000,
# # change these next two variables to reflect your user's UID and GID.
# # This will cause the user in the container to use the same UID and GID
# # and prevent permission issues on the bind mount.
# # If you are on Windows or macOS, you can ignore this.
# - USER_DBBACKUP=1000
# - GROUP_DBBACKUP=1000
# - DEFAULT_COMPRESSION=GZ
# - DEFAULT_BACKUP_INTERVAL=1440 # How often to run the backup in minutes; 1440 means once per day
# - DEFAULT_BACKUP_BEGIN=0400 # When to start the backup; 0400 means it starts at 04:00
# - DEFAULT_CLEANUP_TIME=10080 # How old backups have to be to get deleted; 10080 means backups older than a week get deleted
# - DB01_TYPE=mariadb
# - DB01_HOST=database
# - DB01_NAME=characters,realmd # Which databases should be backed up
# - DB01_USER=root
# - DB01_PASS=password # Must match the `MARIADB_ROOT_PASSWORD` environment variable of the `database` service