mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-13 00:58:34 +00:00
307 lines
9.2 KiB
Plaintext
307 lines
9.2 KiB
Plaintext
# ================================================================================
|
|
# AzerothCore RealmMaster - Pre-Built Images Configuration
|
|
# ================================================================================
|
|
# Use this minimal configuration file to deploy pre-built RealmMaster images
|
|
# from Docker Hub. No local building required!
|
|
#
|
|
# Quick Start:
|
|
# 1. Copy this file: cp .env.prebuilt .env
|
|
# 2. Set your DOCKERHUB_USERNAME below
|
|
# 3. Run: ./deploy.sh
|
|
#
|
|
# The pre-built images include 32 modules from the RealmMaster profile:
|
|
# - Playerbots, Transmog, Solo LFG, Eluna, NPC Buffer, and 27 more
|
|
# - See config/module-profiles/RealmMaster.json for full list
|
|
# ================================================================================
|
|
|
|
# =====================
|
|
# REQUIRED: Docker Hub Configuration
|
|
# =====================
|
|
# Set this to your Docker Hub username where the images are published
|
|
DOCKERHUB_USERNAME=your-dockerhub-username
|
|
|
|
# =====================
|
|
# Project Configuration
|
|
# =====================
|
|
COMPOSE_PROJECT_NAME=azerothcore-realmmaster
|
|
|
|
# =====================
|
|
# Module Profile Selection
|
|
# =====================
|
|
# Choose which module profile build to use:
|
|
# - realmmaster: 32 modules (playerbots, transmog, solo-lfg, eluna, etc.) - Recommended
|
|
# - suggested-modules: Alternative suggested module set
|
|
# - all-modules: All supported modules
|
|
# - playerbots-only: Just playerbots
|
|
MODULE_PROFILE=realmmaster
|
|
|
|
# =====================
|
|
# Pre-Built Images from Docker Hub
|
|
# =====================
|
|
# These images are built nightly with different module profiles
|
|
# Using profile-specific tags ensures you get the exact module set you want
|
|
AC_AUTHSERVER_IMAGE_MODULES=${DOCKERHUB_USERNAME}/${COMPOSE_PROJECT_NAME}:authserver-${MODULE_PROFILE}-latest
|
|
AC_WORLDSERVER_IMAGE_MODULES=${DOCKERHUB_USERNAME}/${COMPOSE_PROJECT_NAME}:worldserver-${MODULE_PROFILE}-latest
|
|
|
|
# Alternative: Use date-tagged images for version pinning
|
|
# AC_AUTHSERVER_IMAGE_MODULES=${DOCKERHUB_USERNAME}/${COMPOSE_PROJECT_NAME}:authserver-${MODULE_PROFILE}-20260109
|
|
# AC_WORLDSERVER_IMAGE_MODULES=${DOCKERHUB_USERNAME}/${COMPOSE_PROJECT_NAME}:worldserver-${MODULE_PROFILE}-20260109
|
|
|
|
# Alternative: Use generic latest tags (default: realmmaster profile)
|
|
# AC_AUTHSERVER_IMAGE_MODULES=${DOCKERHUB_USERNAME}/${COMPOSE_PROJECT_NAME}:authserver-latest
|
|
# AC_WORLDSERVER_IMAGE_MODULES=${DOCKERHUB_USERNAME}/${COMPOSE_PROJECT_NAME}:worldserver-latest
|
|
|
|
# Standard images (fallback if modules images not available)
|
|
AC_AUTHSERVER_IMAGE=acore/ac-wotlk-authserver:master
|
|
AC_WORLDSERVER_IMAGE=acore/ac-wotlk-worldserver:master
|
|
|
|
# Database and client data images
|
|
AC_DB_IMPORT_IMAGE=acore/ac-wotlk-db-import:master
|
|
AC_CLIENT_DATA_IMAGE=acore/ac-wotlk-client-data:master
|
|
|
|
# Helper images
|
|
ALPINE_IMAGE=alpine:latest
|
|
MYSQL_IMAGE=mysql:8.0
|
|
|
|
# =====================
|
|
# Storage Paths
|
|
# =====================
|
|
STORAGE_PATH=./storage
|
|
STORAGE_PATH_LOCAL=./local-storage
|
|
STORAGE_CONFIG_PATH=${STORAGE_PATH}/config
|
|
STORAGE_LOGS_PATH=${STORAGE_PATH}/logs
|
|
STORAGE_MODULES_PATH=${STORAGE_PATH}/modules
|
|
STORAGE_LUA_SCRIPTS_PATH=${STORAGE_PATH}/lua_scripts
|
|
STORAGE_MODULE_SQL_PATH=${STORAGE_PATH}/module-sql-updates
|
|
STORAGE_INSTALL_MARKERS_PATH=${STORAGE_PATH}/install-markers
|
|
STORAGE_CLIENT_DATA_PATH=${STORAGE_PATH}/client-data
|
|
BACKUP_PATH=${STORAGE_PATH}/backups
|
|
|
|
# =====================
|
|
# Timezone
|
|
# =====================
|
|
HOST_ZONEINFO_PATH=/usr/share/zoneinfo
|
|
TZ=UTC
|
|
|
|
# =====================
|
|
# Networking
|
|
# =====================
|
|
NETWORK_NAME=azerothcore
|
|
NETWORK_SUBNET=172.20.0.0/16
|
|
NETWORK_GATEWAY=172.20.0.1
|
|
|
|
# =====================
|
|
# Server Address & Realm
|
|
# =====================
|
|
# Change this to your server's public IP or domain name
|
|
SERVER_ADDRESS=127.0.0.1
|
|
REALM_PORT=8215
|
|
|
|
# =====================
|
|
# Ports
|
|
# =====================
|
|
# Authentication server
|
|
AUTH_EXTERNAL_PORT=3784
|
|
AUTH_PORT=3724
|
|
|
|
# World server
|
|
WORLD_EXTERNAL_PORT=8215
|
|
WORLD_PORT=8085
|
|
|
|
# SOAP/Remote access
|
|
SOAP_EXTERNAL_PORT=7778
|
|
SOAP_PORT=7878
|
|
|
|
# MySQL database (for external access)
|
|
MYSQL_EXTERNAL_PORT=64306
|
|
|
|
# phpMyAdmin web interface
|
|
PMA_EXTERNAL_PORT=8081
|
|
|
|
# Keira3 editor interface
|
|
KEIRA3_EXTERNAL_PORT=4201
|
|
|
|
# =====================
|
|
# MySQL Database Configuration
|
|
# =====================
|
|
MYSQL_IMAGE=mysql:8.0
|
|
CONTAINER_MYSQL=ac-mysql
|
|
MYSQL_HOST=ac-mysql
|
|
MYSQL_PORT=3306
|
|
|
|
# Security: Change these passwords!
|
|
MYSQL_ROOT_PASSWORD=azerothcore123
|
|
MYSQL_ROOT_HOST=%
|
|
MYSQL_USER=root
|
|
|
|
# Database names
|
|
DB_AUTH_NAME=acore_auth
|
|
DB_WORLD_NAME=acore_world
|
|
DB_CHARACTERS_NAME=acore_characters
|
|
DB_PLAYERBOTS_NAME=acore_playerbots
|
|
|
|
# Database performance settings
|
|
MYSQL_CHARACTER_SET=utf8mb4
|
|
MYSQL_COLLATION=utf8mb4_unicode_ci
|
|
MYSQL_MAX_CONNECTIONS=1000
|
|
MYSQL_INNODB_BUFFER_POOL_SIZE=256M
|
|
MYSQL_INNODB_LOG_FILE_SIZE=64M
|
|
MYSQL_INNODB_REDO_LOG_CAPACITY=512M
|
|
|
|
# MySQL tmpfs (RAM disk) for performance
|
|
MYSQL_RUNTIME_TMPFS_SIZE=8G
|
|
MYSQL_DISABLE_BINLOG=1
|
|
|
|
# Database connection settings
|
|
DB_WAIT_RETRIES=60
|
|
DB_WAIT_SLEEP=10
|
|
DB_RECONNECT_SECONDS=5
|
|
DB_RECONNECT_ATTEMPTS=5
|
|
|
|
# Database worker threads
|
|
DB_LOGIN_WORKER_THREADS=1
|
|
DB_WORLD_WORKER_THREADS=1
|
|
DB_CHARACTER_WORKER_THREADS=1
|
|
DB_LOGIN_SYNCH_THREADS=1
|
|
DB_WORLD_SYNCH_THREADS=1
|
|
DB_CHARACTER_SYNCH_THREADS=1
|
|
|
|
# =====================
|
|
# Automated Backups
|
|
# =====================
|
|
BACKUP_RETENTION_DAYS=3
|
|
BACKUP_RETENTION_HOURS=6
|
|
BACKUP_DAILY_TIME=09:00
|
|
BACKUP_INTERVAL_MINUTES=60
|
|
BACKUP_EXTRA_DATABASES=
|
|
BACKUP_HEALTHCHECK_MAX_MINUTES=1440
|
|
BACKUP_HEALTHCHECK_GRACE_SECONDS=4500
|
|
|
|
# =====================
|
|
# Module Configuration (Pre-Built)
|
|
# =====================
|
|
# These settings tell the system that modules are already built into the images
|
|
STACK_IMAGE_MODE=modules
|
|
STACK_SOURCE_VARIANT=playerbots
|
|
# Note: MODULES_ENABLED_LIST varies by profile - the list below is for the 'realmmaster' profile
|
|
# For other profiles, see the corresponding JSON in config/module-profiles/
|
|
MODULES_ENABLED_LIST=MODULE_PLAYERBOTS,MODULE_TRANSMOG,MODULE_SOLO_LFG,MODULE_ELUNA,MODULE_AIO,MODULE_NPC_BUFFER,MODULE_NPC_BEASTMASTER,MODULE_SOLOCRAFT,MODULE_1V1_ARENA,MODULE_ACCOUNT_ACHIEVEMENTS,MODULE_ACTIVE_CHAT,MODULE_ARAC,MODULE_ASSISTANT,MODULE_AUTO_REVIVE,MODULE_BLACK_MARKET_AUCTION_HOUSE,MODULE_BOSS_ANNOUNCER,MODULE_BREAKING_NEWS,MODULE_ELUNA_SCRIPTS,MODULE_EVENT_SCRIPTS,MODULE_FIREWORKS,MODULE_GAIN_HONOR_GUARD,MODULE_GLOBAL_CHAT,MODULE_GUILDHOUSE,MODULE_INSTANCE_RESET,MODULE_ITEM_LEVEL_UP,MODULE_LEARN_SPELLS,MODULE_MORPHSUMMON,MODULE_NPC_ENCHANTER,MODULE_NPC_FREE_PROFESSIONS,MODULE_RANDOM_ENCHANTS,MODULE_REAGENT_BANK,MODULE_TIME_IS_TIME
|
|
MODULES_CPP_LIST=
|
|
MODULES_REQUIRES_CUSTOM_BUILD=0
|
|
MODULES_REQUIRES_PLAYERBOT_SOURCE=1
|
|
|
|
# =====================
|
|
# Playerbot Runtime Configuration
|
|
# =====================
|
|
# Enable/disable playerbots and set population
|
|
PLAYERBOT_ENABLED=1
|
|
PLAYERBOT_MIN_BOTS=40
|
|
PLAYERBOT_MAX_BOTS=200
|
|
|
|
# =====================
|
|
# Client Data
|
|
# =====================
|
|
# Client data version (auto-detected when blank)
|
|
CLIENT_DATA_VERSION=
|
|
CLIENT_DATA_PATH=
|
|
|
|
# =====================
|
|
# Server Configuration Preset
|
|
# =====================
|
|
# Apply a configuration preset during deployment
|
|
# Options: none, blizzlike, fast-leveling, hardcore-pvp, casual-pve
|
|
SERVER_CONFIG_PRESET=none
|
|
|
|
# =====================
|
|
# Eluna Lua Scripting
|
|
# =====================
|
|
AC_ELUNA_ENABLED=1
|
|
AC_ELUNA_TRACE_BACK=1
|
|
AC_ELUNA_AUTO_RELOAD=1
|
|
AC_ELUNA_BYTECODE_CACHE=1
|
|
AC_ELUNA_SCRIPT_PATH=lua_scripts
|
|
AC_ELUNA_REQUIRE_PATHS=
|
|
AC_ELUNA_REQUIRE_CPATHS=
|
|
AC_ELUNA_AUTO_RELOAD_INTERVAL=1
|
|
|
|
# =====================
|
|
# Container Management
|
|
# =====================
|
|
CONTAINER_USER=0:0
|
|
CONTAINER_DB_IMPORT=ac-db-import
|
|
CONTAINER_DB_INIT=ac-db-init
|
|
CONTAINER_DB_GUARD=ac-db-guard
|
|
CONTAINER_BACKUP=ac-backup
|
|
CONTAINER_MODULES=ac-modules
|
|
CONTAINER_POST_INSTALL=ac-post-install
|
|
|
|
# =====================
|
|
# Database Guard
|
|
# =====================
|
|
DB_GUARD_RECHECK_SECONDS=120
|
|
DB_GUARD_RETRY_SECONDS=10
|
|
DB_GUARD_WAIT_ATTEMPTS=60
|
|
DB_GUARD_HEALTH_MAX_AGE=180
|
|
DB_GUARD_HEALTHCHECK_INTERVAL=30s
|
|
DB_GUARD_HEALTHCHECK_TIMEOUT=10s
|
|
DB_GUARD_HEALTHCHECK_RETRIES=5
|
|
DB_GUARD_VERIFY_INTERVAL_SECONDS=86400
|
|
|
|
# =====================
|
|
# Health Checks
|
|
# =====================
|
|
# MySQL health checks
|
|
MYSQL_HEALTHCHECK_INTERVAL=20s
|
|
MYSQL_HEALTHCHECK_TIMEOUT=15s
|
|
MYSQL_HEALTHCHECK_RETRIES=25
|
|
MYSQL_HEALTHCHECK_START_PERIOD=120s
|
|
|
|
# Auth server health checks
|
|
AUTH_HEALTHCHECK_INTERVAL=30s
|
|
AUTH_HEALTHCHECK_TIMEOUT=10s
|
|
AUTH_HEALTHCHECK_RETRIES=3
|
|
AUTH_HEALTHCHECK_START_PERIOD=60s
|
|
|
|
# World server health checks
|
|
WORLD_HEALTHCHECK_INTERVAL=30s
|
|
WORLD_HEALTHCHECK_TIMEOUT=10s
|
|
WORLD_HEALTHCHECK_RETRIES=3
|
|
WORLD_HEALTHCHECK_START_PERIOD=120s
|
|
|
|
# Backup health checks
|
|
BACKUP_HEALTHCHECK_INTERVAL=60s
|
|
BACKUP_HEALTHCHECK_TIMEOUT=30s
|
|
BACKUP_HEALTHCHECK_RETRIES=3
|
|
BACKUP_HEALTHCHECK_START_PERIOD=120s
|
|
|
|
# =====================
|
|
# Management Tools
|
|
# =====================
|
|
# phpMyAdmin configuration
|
|
PMA_HOST=ac-mysql
|
|
PMA_PORT=3306
|
|
PMA_USER=root
|
|
PMA_ARBITRARY=1
|
|
PMA_ABSOLUTE_URI=
|
|
PMA_UPLOAD_LIMIT=300M
|
|
PMA_MEMORY_LIMIT=512M
|
|
PMA_MAX_EXECUTION_TIME=600
|
|
|
|
# Keira3 configuration
|
|
KEIRA_DATABASE_HOST=ac-mysql
|
|
KEIRA_DATABASE_PORT=3306
|
|
|
|
# =====================
|
|
# Compose Overrides
|
|
# =====================
|
|
# Enable optional compose overrides (set to 1 to enable)
|
|
COMPOSE_OVERRIDE_MYSQL_EXPOSE_ENABLED=0
|
|
COMPOSE_OVERRIDE_WORLDSERVER_DEBUG_LOGGING_ENABLED=0
|
|
|
|
# =====================
|
|
# DO NOT MODIFY BELOW (Build-related, not used with pre-built images)
|
|
# =====================
|
|
AUTO_REBUILD_ON_DEPLOY=0
|
|
DB_UPDATES_ALLOWED_MODULES=all
|
|
DB_UPDATES_REDUNDANCY=1
|