# ============================================== # AZEROTHCORE DOCKER ENVCHARONMENT CONFIGURATION # ============================================== # REQUIRED: All values must be set - no defaults in compose # ============================================== # DATABASE CREDENTIALS (REQUIRED) # ============================================== MYSQL_ROOT_PASSWORD=azerothcore123 DOCKER_DB_ROOT_PASSWORD=azerothcore123 MYSQL_USER=acore MYSQL_HOST=ac-mysql MYSQL_PORT=3306 # Database names DB_AUTH_NAME=acore_auth DB_WORLD_NAME=acore_world DB_CHARACTERS_NAME=acore_characters # ============================================== # NETWORK CONFIGURATION (REQUIRED) # ============================================== # External IP for realm list (use actual server IP, not 'auto') EXTERNAL_IP=192.168.1.100 # 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 # Bind IPs BIND_IP=0.0.0.0 SOAP_IP=0.0.0.0 # Internal ports (container side) AUTH_PORT=3724 WORLD_PORT=8085 SOAP_PORT=7878 RA_PORT=3443 # ============================================== # PATHS (REQUIRED) # ============================================== # Container internal paths AC_DATA_DIR=/azerothcore/data AC_LOGS_DIR=/azerothcore/logs AC_CONFIG_DIR=/azerothcore/env/dist/etc AC_MODULES_DIR=/azerothcore/modules AC_BIN_DIR=/azerothcore/env/dist/bin # Host volume paths (for bind mounts if not using named volumes) HOST_DATA_PATH=./data HOST_DB_PATH=/srv/azerothcore/database HOST_LOGS_PATH=/srv/azerothcore/logs HOST_CONFIG_PATH=/srv/azerothcore/config HOST_BACKUP_PATH=./backups HOST_BACKUP_SCRIPTS_PATH=./backup-scripts # ============================================== # VOLUME NAMES (REQUIRED) # ============================================== VOLUME_DB_DATA=ac_mysql_data VOLUME_WORLD_DATA=ac_data VOLUME_CONFIG=ac_config VOLUME_LOGS=ac_logs VOLUME_BACKUP=ac_backup # ============================================== # CONTAINER NAMES (REQUIRED) # ============================================== CONTAINER_MYSQL=ac-mysql CONTAINER_DBINIT=ac-db-init CONTAINER_DBIMPORT=ac-db-import CONTAINER_AUTHSERVER=ac-authserver CONTAINER_WORLDSERVER=ac-worldserver CONTAINER_ELUNA=ac-eluna # ============================================== # 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_CONTAINERS= # Use named volumes (true for local, false for Portainer) USE_NAMED_VOLUMES=true # ============================================== # 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 # Server mode (0 = Normal, 1 = PvP) GAME_TYPE=0 # Realm configuration REALM_ID=1 REALM_NAME=AzerothCore REALM_ZONE=1 REALM_FLAGS=0 REALM_TIMEZONE=1 REALM_ALLOWED_SECURITY_LEVEL=0 REALM_POPULATION=0 REALM_GAMEBUILD=12340 # ============================================== # PERFORMANCE SETTINGS (REQUIRED) # ============================================== # Process settings PROCESS_PRIORITY=0 USE_PROCESSORS=0 COMPRESSION=1 # Connection limits MAX_CONNECTIONS=1000 MAX_PLAYERS=100 MAX_OVERSPEED_PINGS=2 # Pool sizes INNODB_BUFFER_POOL_SIZE=256M INNODB_LOG_FILE_SIZE=64M # Timeouts SOCKET_TIMEOUT_TIME=900000 SESSION_ADD_DELAY=10000 GRID_CLEANUP_DELAY=300000 MAP_UPDATE_INTERVAL=100 # ============================================== # UPDATE SETTINGS (REQUIRED) # ============================================== UPDATES_ENABLE_DATABASES=7 UPDATES_AUTO_SETUP=1 UPDATES_REDUNDANCY=2 UPDATES_ARCHIVED_REDUNDANCY=0 UPDATES_ALLOW_REHASH=1 UPDATES_CLEAN_DEAD_REF_MAX_COUNT=3 # ============================================== # LOGGING CONFIGURATION (REQUIRED) # ============================================== LOG_LEVEL=1 LOG_FILE= LOG_TIMESTAMP=0 LOG_FILE_LEVEL=0 DB_ERROR_LOG_FILE=DBErrors.log CHAR_LOG_FILE= GM_LOG_FILE= RA_LOG_FILE= SQL_DRIVER_LOG_FILE= SQL_DRIVER_QUERY_LOGGING=0 # Logger configuration - Commented out to use worldserver.conf defaults # APPENDER_CONSOLE_CONFIG=1,2,0 # LOGGER_ROOT_CONFIG=1,Console # LOGGER_SERVER_CONFIG=1,Console # ============================================== # FEATURE FLAGS (REQUIRED) # ============================================== # Console settings CONSOLE_ENABLE=1 # SOAP settings SOAP_ENABLED=0 # Remote Access settings RA_ENABLE=0 RA_IP=127.0.0.1 RA_MIN_LEVEL=3 # Close idle connections CLOSE_IDLE_CONNECTIONS=false # Skip checks (use with caution) SKIP_BATTLEGROUND_RELOCATE_CHECK=0 # ============================================== # BACKUP CONFIGURATION (REQUIRED) # ============================================== # Cron schedule BACKUP_CRON_SCHEDULE=0 3 * * * # Retention BACKUP_RETENTION_DAYS=7 # Backup file prefix BACKUP_FILE_PREFIX=acore_backup # ============================================== # DOCKER/PODMAN SETTINGS (REQUIRED) # ============================================== # User to run containers (root or specific UID) DOCKER_USER=root # Container runtime (docker or podman) CONTAINER_RUNTIME=podman # Restart policy RESTART_POLICY=unless-stopped # Health check settings HEALTHCHECK_INTERVAL=30s HEALTHCHECK_TIMEOUT=10s HEALTHCHECK_RETRIES=5 HEALTHCHECK_START_PERIOD=60s # ============================================== # SECURITY SETTINGS (REQUIRED) # ============================================== # Account security WRONG_PASS_MAX_COUNT=3 WRONG_PASS_BAN_TIME=600 WRONG_PASS_BAN_TYPE=0 BAN_EXPIRY_CHECK_INTERVAL=60 # ============================================== # GAME RATES (REQUIRED) # ============================================== RATE_HEALTH=1 RATE_MANA=1 RATE_XP_KILL=1 RATE_XP_QUEST=1 RATE_XP_EXPLORE=1 RATE_DROP_MONEY=1 RATE_DROP_ITEMS=1 RATE_HONOR=1 RATE_REPUTATION=1 RATE_TALENT=1 # ============================================== # CHARACTER SETTINGS (REQUIRED) # ============================================== CHARACTERS_PER_ACCOUNT=50 CHARACTERS_PER_REALM=10 HEROIC_CHARACTERS_PER_REALM=1 START_PLAYER_LEVEL=1 START_HEROIC_PLAYER_LEVEL=55 START_PLAYER_MONEY=0 START_HEROIC_PLAYER_MONEY=2000 MAX_PLAYER_LEVEL=80 MIN_DUAL_SPEC_LEVEL=40 # ============================================== # VMAP/MMAP SETTINGS (REQUIRED) # ============================================== VMAP_ENABLE_LOS=1 VMAP_ENABLE_HEIGHT=1 VMAP_PET_LOS=1 VMAP_ENABLE_INDOOR_CHECK=1 MMAP_ENABLE_PATH_FINDING=0 # ============================================== # API KEYS / SECRETS (REQUIRED IF USING FEATURES) # ============================================== # Add any API keys or secrets here # DISCORD_WEBHOOK_URL= # EXTERNAL_API_KEY= # MONITORING_TOKEN= # ============================================== # CUSTOM MODULE SETTINGS # ============================================== # Eluna settings ELUNA_ENABLED=1 # 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 # ============================================== # WEB INTERFACE SETTINGS # ============================================== # External access configuration # Set EXTERNAL_BASE_URL for custom domain (e.g., https://acore.example.com) # Leave empty to auto-detect from browser location EXTERNAL_BASE_URL= baseUrl=http://localhost port=4201 url=http://localhost:4201 # PHPMyAdmin settings PMA_HOST=ac-mysql PMA_PORT=3306 PMA_USER=acore PMA_EXTERNAL_PORT=8081 PMA_ARBITRARY=1 PMA_ABSOLUTE_URI= PMA_UPLOAD_LIMIT=300M PMA_MEMORY_LIMIT=512M PMA_MAX_EXECUTION_TIME=600 # Keira3 Database Editor settings KEIRA3_EXTERNAL_PORT=4201 # CMS Web Interface settings (optional service) CMS_EXTERNAL_PORT=8001 # Service Configuration Toggles USE_OFFICIAL_KEIRA3=false CLIENT_DATA_METHOD=7z SIMPLIFIED_LOGGING=false # Grafana settings GF_EXTERNAL_PORT=3001 GF_SECURITY_ADMIN_USER=admin GF_SECURITY_ADMIN_PASSWORD=acore123 GF_SERVER_ROOT_URL=http://localhost:3000 GF_INSTALL_PLUGINS=grafana-piechart-panel # Security settings GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION=false GF_SECURITY_SECRET_KEY= GF_USERS_ALLOW_SIGN_UP=false GF_USERS_ALLOW_ORG_CREATE=false GF_AUTH_ANONYMOUS_ENABLED=false GF_SERVER_ENABLE_GZIP=true GF_SECURITY_COOKIE_SECURE=false GF_SECURITY_COOKIE_SAMESITE=lax # InfluxDB settings INFLUXDB_EXTERNAL_PORT=8087 INFLUXDB_INIT_MODE=setup INFLUXDB_ADMIN_USER=acore INFLUXDB_ADMIN_PASSWORD=acore123 INFLUXDB_ORG=azerothcore INFLUXDB_BUCKET=metrics INFLUXDB_TOKEN=acore-monitoring-token-12345 # Security settings INFLUXDB_HTTP_AUTH_ENABLED=true INFLUXDB_HTTP_HTTPS_ENABLED=false # ============================================== # END OF CONFIGURATION # ==============================================