Files
AzerothCore-RealmMaster/.env-core
uprightbass360 fdd23c7fb7 Improve database timeout handling and add local testing setup
- Update database timeout values for better Portainer/NFS compatibility
- Add .env-database-local for local testing with reduced resource requirements
- Create local data directories and backup script validation
- Split compose validation confirms proper service dependency configuration
- Increase MySQL health check timeouts: start_period 60s→120s, timeout 10s→15s
- Extend database wait times: retries 30→60, sleep 5→10 (total 150s→600s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-09-29 21:14:46 -04:00

174 lines
5.4 KiB
Plaintext

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