diff --git a/.env b/.env new file mode 100644 index 0000000..c56209c --- /dev/null +++ b/.env @@ -0,0 +1,98 @@ +# ============================================== +# AZEROTHCORE DATABASE LAYER ENVIRONMENT - LOCAL TESTING +# ============================================== +# Environment variables for local Docker testing + +# ============================================== +# 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 - Conservative for local testing +DB_WAIT_RETRIES=30 +DB_WAIT_SLEEP=3 + +# ============================================== +# DOCKER IMAGES (REQUIRED) +# ============================================== +# Database layer images +AC_DB_IMPORT_IMAGE=acore/ac-wotlk-db-import:14.0.0-dev +MYSQL_IMAGE=mysql:8.0 +ALPINE_IMAGE=alpine:latest + +# ============================================== +# IMAGE PULL POLICY (REQUIRED) +# ============================================== +IMAGE_PULL_POLICY=if_not_present + +# ============================================== +# MYSQL CONFIGURATION (REQUIRED) +# ============================================== +# MySQL server settings +MYSQL_CHARACTER_SET=utf8mb4 +MYSQL_COLLATION=utf8mb4_unicode_ci +MYSQL_MAX_CONNECTIONS=100 +MYSQL_INNODB_BUFFER_POOL_SIZE=128M +MYSQL_INNODB_LOG_FILE_SIZE=32M + +# MySQL health check settings - Local testing values +MYSQL_HEALTHCHECK_INTERVAL=10s +MYSQL_HEALTHCHECK_TIMEOUT=5s +MYSQL_HEALTHCHECK_RETRIES=10 +MYSQL_HEALTHCHECK_START_PERIOD=30s + +# ============================================== +# NETWORK CONFIGURATION (REQUIRED) +# ============================================== +# External database port +DOCKER_DB_EXTERNAL_PORT=64306 + +# ============================================== +# DEPLOYMENT CONFIGURATION (REQUIRED) +# ============================================== +# Storage configuration for local testing +STORAGE_PATH=./local-data + +# ============================================== +# CONTAINER NAMES (REQUIRED) +# ============================================== +# Database layer container names +CONTAINER_MYSQL=ac-mysql +CONTAINER_DB_INIT=ac-db-init +CONTAINER_DB_IMPORT=ac-db-import +CONTAINER_BACKUP=ac-backup + +# ============================================== +# NETWORK SETTINGS (REQUIRED) +# ============================================== +NETWORK_NAME=azerothcore +NETWORK_SUBNET=172.20.0.0/16 +NETWORK_GATEWAY=172.20.0.1 + +# ============================================== +# BACKUP CONFIGURATION (REQUIRED) +# ============================================== +# Host volume paths for backup +HOST_BACKUP_PATH=./backups +HOST_BACKUP_SCRIPTS_PATH=./backup-scripts + +# Backup settings +BACKUP_CRON_SCHEDULE=0 3 * * * +BACKUP_RETENTION_DAYS=7 + +# ============================================== +# SERVER CONFIGURATION (REQUIRED) +# ============================================== +# Timezone +TZ=UTC \ No newline at end of file diff --git a/.env-core b/.env-core index 719a70c..4a49e75 100644 --- a/.env-core +++ b/.env-core @@ -116,7 +116,7 @@ DEPLOYMENT_MODE=local # Storage configuration for Portainer NFS deployments # Leave empty for local development with named volumes -STORAGE_PATH=/nfs/containers/azerothcore +STORAGE_PATH=./local-data # ============================================== # CONTAINER NAMES (REQUIRED) diff --git a/.env-database b/.env-database index e71de96..7498efa 100644 --- a/.env-database +++ b/.env-database @@ -62,7 +62,7 @@ DOCKER_DB_EXTERNAL_PORT=64306 # DEPLOYMENT CONFIGURATION (REQUIRED) # ============================================== # Storage configuration for Portainer NFS deployments -STORAGE_PATH=/nfs/containers/azerothcore +STORAGE_PATH=./local-data # ============================================== # CONTAINER NAMES (REQUIRED) diff --git a/.env-optional b/.env-optional index 2c87ca6..2877564 100644 --- a/.env-optional +++ b/.env-optional @@ -19,7 +19,7 @@ IMAGE_PULL_POLICY=if_not_present # DEPLOYMENT CONFIGURATION (REQUIRED) # ============================================== # Storage configuration (must match other layers) -STORAGE_PATH=/nfs/containers/azerothcore +STORAGE_PATH=./local-data # Deployment mode DEPLOYMENT_MODE=local diff --git a/.env-services b/.env-services index fbc1e0c..b9d36d4 100644 --- a/.env-services +++ b/.env-services @@ -62,7 +62,7 @@ SOAP_PORT=7878 # DEPLOYMENT CONFIGURATION (REQUIRED) # ============================================== # Storage configuration (must match database layer) -STORAGE_PATH=/nfs/containers/azerothcore +STORAGE_PATH=./local-data # ============================================== # CONTAINER NAMES (REQUIRED) diff --git a/.env-tools b/.env-tools index 724bb39..09a713a 100644 --- a/.env-tools +++ b/.env-tools @@ -19,7 +19,7 @@ MYSQL_PORT=64306 # TOOL STORAGE PATHS (REQUIRED) # ============================================== # Storage for tools (separate from core stack) -STORAGE_PATH_TOOLS=/nfs/containers-tools +STORAGE_PATH_TOOLS=./local-data-tools # ============================================== # NETWORK CONFIGURATION (REQUIRED) diff --git a/local-data/config/dbimport.conf b/local-data/config/dbimport.conf new file mode 100644 index 0000000..fccecae --- /dev/null +++ b/local-data/config/dbimport.conf @@ -0,0 +1,5 @@ +LoginDatabaseInfo = "ac-mysql;3306;root;azerothcore123;acore_auth" +WorldDatabaseInfo = "ac-mysql;3306;root;azerothcore123;acore_world" +CharacterDatabaseInfo = "ac-mysql;3306;root;azerothcore123;acore_characters" +Updates.EnableDatabases = 7 +Updates.AutoSetup = 1 diff --git a/local-data/mysql-data/backup.sql b/local-data/mysql-data/backup.sql new file mode 100644 index 0000000..e69de29 diff --git a/portainer-diagnostics.sh b/portainer-diagnostics.sh old mode 100755 new mode 100644 diff --git a/portainer-verify.sh b/portainer-verify.sh old mode 100755 new mode 100644 diff --git a/quick-fix-portainer.sh b/quick-fix-portainer.sh old mode 100755 new mode 100644