# ================================================================================ # 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