mirror of
https://github.com/uprightbass360/AzerothCore-RealmMaster.git
synced 2026-01-18 11:15:44 +00:00
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)
This commit is contained in:
352
.env
352
.env
@@ -1,352 +0,0 @@
|
||||
# ==============================================
|
||||
# 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=/nfs/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
|
||||
# ==============================================
|
||||
Reference in New Issue
Block a user