feat(Core/Docker): production deploy configuration

- docker-compose.prod.yml: MySQL tuning (innodb_buffer_pool=4G),
  resource limits, log rotation
- scripts/prod-deploy.sh: production startup script mirroring
  start-server.sh sequence with pre-flight checks and sysctl tuning
- conf/dist/env.production: production environment variable template

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-02 21:47:39 +04:00
parent b0d62064ba
commit 0f2ec7c1b3
3 changed files with 300 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
# Production environment — copy to .env before deploying
# cp .env.production .env
# Docker image tag (master = latest stable build)
DOCKER_IMAGE_TAG=master
# Database root password — CHANGE THIS
DOCKER_DB_ROOT_PASSWORD=CHANGE_ME_STRONG_PASSWORD
# External ports
DOCKER_WORLD_EXTERNAL_PORT=8085
DOCKER_AUTH_EXTERNAL_PORT=3724
DOCKER_SOAP_EXTERNAL_PORT=7878
DOCKER_DB_EXTERNAL_PORT=3306
# Run server as this user (match host UID/GID to avoid volume permission issues)
# Run: id -u && id -g to get your values
DOCKER_USER=acore
DOCKER_USER_ID=1000
DOCKER_GROUP_ID=1000
# Volume paths (use absolute paths in production)
DOCKER_VOL_ETC=./env/dist/etc
DOCKER_VOL_LOGS=./env/dist/logs
DOCKER_VOL_DATA=ac-client-data
# Game rates (can also be set in worldserver.conf)
AC_RATE_XP_KILL=1
ACORE_PLAYERBOTS_RANDOM_BOT_AUTOLOGIN=0