mirror of
https://github.com/azerothcore/azerothcore-wotlk.git
synced 2025-12-15 14:50:44 -08:00
Feat(Docker/bash): docker-compose system rework (#4488)
## ⚠️ATTENTION! ⚠️ Upgrading procedure: **Database:** After this PR will be merged you need to backup your DB first (you can use the db-assembler or any mysql client to generate the dump) and restore it after. The reason is that we use now docker named volumes instead of binded ones to improve performance. **Conf & client data**: if you use the default configuration, both the etc and the data folder are now available inside the **/env/docker**. Finally, you can cleanup the /docker folder previously used by our system. ## Changes Proposed: This PR will implement the [devcontainer ](https://code.visualstudio.com/docs/remote/containers) feature for VSCode. Allowing us to develop and debug directly within the container in the same way on all OSes. * Implemented support for vscode dev-container feature by remote-extension suite * Docker performance optimizations for MacOS and non-linux hosts * Bash system improvements * Implemented first command using Deno runtime environment (typescript) and [commander.js] * Implemented wait mechanism for db_assembler * Implemented db migration command * possibility to run the authserver and worldserver with GDB using the integrated simple-restarter * Implemented docker multi-stage mechanism to use one single Dockerfile for all the services * client-data downloader now creates a placeholder to avoid downloading the same version of data files multiple times * deployment of pre-compiled docker images on [docker hub](https://hub.docker.com/u/acore), you can test them [here](https://github.com/azerothcore/acore-docker)
This commit is contained in:
parent
4a8faafaff
commit
380f406248
100 changed files with 2747 additions and 777 deletions
0
env/docker/data/.gitkeep
vendored
Normal file
0
env/docker/data/.gitkeep
vendored
Normal file
0
env/docker/etc/.gitkeep
vendored
Normal file
0
env/docker/etc/.gitkeep
vendored
Normal file
20
env/docker/etc/authserver.conf.dockerdist
vendored
Normal file
20
env/docker/etc/authserver.conf.dockerdist
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
###############################################
|
||||
# AzerothCore Auth Server configuration file #
|
||||
###############################################
|
||||
[authserver]
|
||||
|
||||
# Do not change this
|
||||
# Files in LogsDir will reflect on your host directory: docker/authserver/logs
|
||||
LogsDir = "/azerothcore/env/dist/logs"
|
||||
|
||||
# Change this configuration accordingly with your docker setup
|
||||
# The format is "hostname;port;username;password;database":
|
||||
# - docker containers must be on the same docker network to be able to communicate
|
||||
# - the DB hostname will be the name of the database docker container
|
||||
LoginDatabaseInfo = "ac-database;3306;root;password;acore_auth"
|
||||
|
||||
# Add more configuration overwrites by copying settings from from authserver.conf.dist
|
||||
LogLevel = 3
|
||||
SQLDriverLogFile = "SQLDriver.log"
|
||||
SQLDriverQueryLogging = 1
|
||||
|
||||
23
env/docker/etc/worldserver.conf.dockerdist
vendored
Normal file
23
env/docker/etc/worldserver.conf.dockerdist
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
################################################
|
||||
# AzerothCore World Server configuration file #
|
||||
################################################
|
||||
[worldserver]
|
||||
|
||||
# Do NOT change those Dir configs
|
||||
# Files in LogsDir will reflect on your host directory: docker/worldserver/logs
|
||||
LogsDir = "/azerothcore/env/dist/logs"
|
||||
DataDir = "/azerothcore/env/dist/data"
|
||||
|
||||
# Change this configuration accordingly with your docker setup
|
||||
# The format is "hostname;port;username;password;database":
|
||||
# - docker containers must be on the same docker network to be able to communicate
|
||||
# - the DB hostname will be the name of the database docker container
|
||||
LoginDatabaseInfo = "ac-database;3306;root;password;acore_auth"
|
||||
WorldDatabaseInfo = "ac-database;3306;root;password;acore_world"
|
||||
CharacterDatabaseInfo = "ac-database;3306;root;password;acore_characters"
|
||||
|
||||
# Add more configuration overwrites by copying settings from worldserver.conf.dist
|
||||
LogLevel = 2
|
||||
|
||||
# Disable idle connections automatic kick since it doesn't work well on macOS + Docker
|
||||
CloseIdleConnections = 0
|
||||
0
env/docker/logs/.gitkeep
vendored
Normal file
0
env/docker/logs/.gitkeep
vendored
Normal file
Loading…
Add table
Add a link
Reference in a new issue