# ============================================== # AZEROTHCORE DOCKER ENVIRONMENT CONFIGURATION # ============================================== # REQUIRED: All values must be set - no defaults in compose # ============================================== # DATABASE CREDENTIALS (REQUIRED) # ============================================== MYSQL_ROOT_PASSWORD=azerothcore123 # Database connection settings MYSQL_HOST=ac-mysql MYSQL_PORT=3306 MYSQL_USER=root MYSQL_ROOT_HOST=% # Database names DB_AUTH_NAME=acore_auth DB_WORLD_NAME=acore_world DB_CHARACTERS_NAME=acore_characters # Database wait settings DB_WAIT_RETRIES=30 DB_WAIT_SLEEP=5 # ============================================== # DOCKER IMAGES (REQUIRED) # ============================================== # AzerothCore images AC_DB_IMPORT_IMAGE=acore/ac-wotlk-db-import:14.0.0-dev AC_AUTHSERVER_IMAGE=acore/ac-wotlk-authserver:14.0.0-dev AC_WORLDSERVER_IMAGE=acore/ac-wotlk-worldserver:14.0.0-dev AC_ELUNA_IMAGE=acore/eluna-ts:master # Base images MYSQL_IMAGE=mysql:8.0 ALPINE_IMAGE=alpine:latest ALPINE_GIT_IMAGE=alpine/git:latest # ============================================== # IMAGE PULL POLICY (REQUIRED) # ============================================== # Control when Docker pulls images # Options: always, never, missing, if_not_present # - always: Always pull the latest image (slower, ensures latest) # - never: Never pull, use only local images (fastest, may fail if image missing) # - missing/if_not_present: Only pull if image doesn't exist locally (recommended) IMAGE_PULL_POLICY=if_not_present # ============================================== # DEPLOYMENT OPTIMIZATION (REQUIRED) # ============================================== # Skip client data download if data already exists (speeds up deployment) SKIP_CLIENT_DATA_IF_EXISTS=true # Parallel container startup (reduces deployment time) ENABLE_PARALLEL_STARTUP=true # ============================================== # MYSQL CONFIGURATION (REQUIRED) # ============================================== # MySQL server 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 health check settings MYSQL_HEALTHCHECK_INTERVAL=15s MYSQL_HEALTHCHECK_TIMEOUT=10s MYSQL_HEALTHCHECK_RETRIES=20 MYSQL_HEALTHCHECK_START_PERIOD=60s # ============================================== # CONTAINER HEALTH CHECKS (REQUIRED) # ============================================== # Auth server health check AUTH_HEALTHCHECK_INTERVAL=30s AUTH_HEALTHCHECK_TIMEOUT=10s AUTH_HEALTHCHECK_RETRIES=3 AUTH_HEALTHCHECK_START_PERIOD=60s # World server health check WORLD_HEALTHCHECK_INTERVAL=30s WORLD_HEALTHCHECK_TIMEOUT=10s WORLD_HEALTHCHECK_RETRIES=3 WORLD_HEALTHCHECK_START_PERIOD=120s # ============================================== # NETWORK CONFIGURATION (REQUIRED) # ============================================== # External ports - must be specified DOCKER_DB_EXTERNAL_PORT=64306 DOCKER_AUTH_EXTERNAL_PORT=3784 DOCKER_WORLD_EXTERNAL_PORT=8215 DOCKER_SOAP_EXTERNAL_PORT=7778 # Internal ports (container side) AUTH_PORT=3724 WORLD_PORT=8085 SOAP_PORT=7878 # ============================================== # PATHS (REQUIRED) # ============================================== # Host volume paths (for bind mounts if not using named volumes) HOST_BACKUP_PATH=./backups HOST_BACKUP_SCRIPTS_PATH=./backup-scripts # ============================================== # DEPLOYMENT CONFIGURATION (REQUIRED) # ============================================== # Deployment mode: local (development) or portainer (production) DEPLOYMENT_MODE=local # Storage configuration for Portainer NFS deployments # Leave empty for local development with named volumes STORAGE_PATH=/nfs/containers/azerothcore # ============================================== # CONTAINER NAMES (REQUIRED) # ============================================== # Core service container names CONTAINER_MYSQL_INIT=ac-mysql-init CONTAINER_MYSQL=ac-mysql CONTAINER_DB_INIT=ac-db-init CONTAINER_DB_IMPORT=ac-db-import CONTAINER_AUTHSERVER=ac-authserver CONTAINER_WORLDSERVER=ac-worldserver CONTAINER_CLIENT_DATA=ac-client-data CONTAINER_ELUNA=ac-eluna CONTAINER_MODULES=ac-modules CONTAINER_BACKUP=ac-backup # ============================================== # NETWORK SETTINGS (REQUIRED) # ============================================== NETWORK_NAME=azerothcore NETWORK_SUBNET=172.20.0.0/16 NETWORK_GATEWAY=172.20.0.1 # ============================================== # SERVER CONFIGURATION (REQUIRED) # ============================================== # Timezone TZ=UTC # ============================================== # BACKUP CONFIGURATION (REQUIRED) # ============================================== # Cron schedule BACKUP_CRON_SCHEDULE=0 3 * * * # Retention BACKUP_RETENTION_DAYS=7 # ============================================== # CUSTOM MODULE SETTINGS # ============================================== # Playerbot settings PLAYERBOT_ENABLED=1 PLAYERBOT_MAX_BOTS=40 # Module Management (1 = enabled, 0 = disabled) MODULE_PLAYERBOTS=1 MODULE_AOE_LOOT=0 MODULE_LEARN_SPELLS=0 MODULE_FIREWORKS=0 MODULE_INDIVIDUAL_PROGRESSION=0 # ============================================== # END OF CONFIGURATION # ==============================================