Welcome to the AzerothCore Docker guide!
Installing AzerothCore using Docker is a simplified procedure that has several benefits:
AzerothCore running on macOS with Docker
AzerothCore running on Windows 10 with Docker
The total amount of RAM when running all AzerothCore docker containers is less than 2 GB with no players online.
This is an example of a fresh, empty AzerothCore server running with Docker on macOS:
When used on GNU/Linux system, the amount of memory used by Docker is even less.
Usind Docker will have the same benefits as using virtual machines, but with much less overhead:
The only requirements are git and Docker.
Before going further, make sure you have
docker-compose installed in your system by typing in a terminal:
You should see a similar output:
Note for Windows users: you can use git-bash (the shell included in git) as a terminal.
You need to clone the AzerothCore repository (or use your own fork):
git clone https://github.com/azerothcore/azerothcore-wotlk.git
Now cd into the main directory using
cd azerothcore-wotlk. All commands will have to be run from this position.
You also need to have the data files. Check the step "5) Download the data files" from the installation guide.
Put your data files into the
docker/worldserver/data/ folder that is inside
Inside your terminal (if you use Windows, use git bash), run the following commands.
Note for Windows users: when running the following commands, you may need to use
bash bin\acore-... instead of
./bin/acore-.... Note using
\ instead of
bash bin... instead of
1) Generate your server configuration files:
2) Compile AzerothCore:
This will take a while. Meanwhile you can go and drink a glass of wine
3) Run the containers
Docker will build and run your containers. Meanwhile you will see messages like:
Could not connect to MySQL database at 127.0.0.1: Can't connect to MySQL server on '127.0.0.1' (111)
Retrying in 10 seconds...
Don't panic. Your server processes are simply waiting for the database container to be ready, it can take a while (depends on your machine).
Your server will be up and running shortly.
To access your MySQL database we recommend clients like HeidiSQL (for Windows/Linux+Wine) or SequelPro (for macOS). Use
root as user and
127.0.0.1 as default host.
The default password of the root DB user will be
If you want to be an administrator of an AzerothCore production server, it helps if you master the basics of Docker usage.
Faq? Faq you!
By default they are located in
You can copy the file
.env.dist, renaming the copy in
.env and editing it accordingly to your needs.
.env file you can configure:
docker-compose up will automatically locate the
.env with your custom settings.
docker-compose start will start your existing containers.
docker-compose stop will stop your containers, but it won’t remove them.
docker-compose up builds, (re)creates, and starts your containers.
docker-compose down command will stop your containers, but it also removes the stopped containers as well as any networks that were created.
Warning Once you've deleted your database files they are unrecoverable unless you have a backup.
To remove your database files you firstly want to make sure that your containers have been stopped and removed by typing:
After stopping and removing your containers you can proceed to remove the volume by typing:
docker volume rm azerothcore-wotlk_ac-database
Note If you've changed your folder name from the default
azerothcore-wotlk the volume name will be slightly different. To find the new volume name you can use the command
docker volume ls. The volume should be labelled something along the lines of
You can easily attach/detach from the worldserver console.
First of all, type
docker-compose ps to know the name of your worldserver container, it should be something like
To attach: open a new terminal tab and type
docker attach azerothcore-wotlk_ac-worldserver_1
Note for Windows users: using git bash on Windows you have to prefix this command with
winpty docker attach azerothcore-wotlk_ac-worldserver_1
To detach: press
Do NOT try to detach using
ctrl+c or you will kill your worldserver process!