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