Posts (Latest 10 updated) :
Read all

Welcome to the AzerothCore Docker guide!


Installing AzerothCore using Docker is a simplified procedure that has several benefits:

  • It's very easy! Docker will do all the dirty work for you.
  • It can be done in all operating systems where Docker is available (including Windows, GNU/Linux, macOS)
  • You don't need to install many dependencies (forget about visual studio, cmake, mysql, etc.. they are NOT required)
  • Forget about platform-specific bugs. When using Docker, AzerothCore will always run in Linux-mode.
  • There are many other benefits when using Docker


Software requirements

The only requirements are git and Docker.

Old Operating Systems [not tested]:

Before going further, make sure you have docker and docker-compose installed in your system by typing in a terminal:

docker --version
docker-compose --version

You should see a similar output:


Note for Windows users: you can use git-bash (the shell included in git) as a terminal.

Clone the AzerothCore repository

You need to clone the AzerothCore repository (or use your own fork):

git clone

Now go into the main directory using cd azerothcore-wotlk. All commands will have to be run inside this folder.

WoW Client Data files

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 docker/worldserver/data/ which is inside azerothcore-wotlk.


Inside your terminal (if you use Windows, use git bash), run the following commands inside azerothcore-wotlk'

1) Generate your server configuration files:


2) Compile AzerothCore:


This will take a while. Meanwhile you can go and drink a glass of wine :wine_glass:

3) Run the containers

docker-compose up

Docker will build and run your containers. Meanwhile you will see messages like:

Could not connect to MySQL database at Can't connect to MySQL server on '' (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.

4) Access database and update realmlist

To access your MySQL database we recommend clients like HeidiSQL (for Windows/Linux+Wine) or SequelPro (for macOS). Use root as user and as default host. The default password of the root DB user will be password.

Unless your server installation is on the same network as your client, you might want to update the realmlist address in the acore_auth database with your server public IP address :

USE acore_auth;
SELECT * FROM realmlist;

More info

Memory usage

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:

AzerothCore Containers Memory

When used on GNU/Linux system, the amount of memory used by Docker is even less.

Docker containers vs Virtual machines

Using Docker will have the same benefits as using virtual machines, but with much less overhead:

Docker containers vs Virtual machines

AzerothCore running on macOS with Docker AzerothCore on macOS using Docker

AzerothCore running on Windows 10 with Docker AzerothCore on Windows 10 with Docker

Docker reference & support requests

For server administrators, we recommend to read the Docker documentation as well as the Docker Compose reference.

If you want to be an administrator of an AzerothCore production server, it helps if you master the basics of Docker usage.

Feel free to ask questions on StackOverflow and link them in the #support-docker channel of our Discord chat. We will be happy to help you!


Faq? Faq you!

Where are the etc and logs folders of my server?

By default they are located in docker/authserver/ and docker/worldserver/.

How can I change the docker containers configuration?

You can copy the file .env.dist, renaming the copy in .env and editing it accordingly to your needs.

In the .env file you can configure:

  • the location of the data, etc and logs folders
  • the open ports
  • the MySQL root password

Then your docker-compose up will automatically locate the .env with your custom settings.

How can I start, stop, create and destroy my containers?

  • The docker-compose start will start your existing containers.

  • The docker-compose stop will stop your containers, but it won't remove them.

  • The docker-compose up builds, (re)creates, and starts your containers.

  • The docker-compose down command will stop your containers, but it also removes the stopped containers as well as any networks that were created.

How can I delete my database files?

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: docker-compose down.

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 xxxx_ac-database.

How can I run commands in the worldserver console?

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 azerothcore-wotlk_ac-worldserver_1.

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. Example:

winpty docker attach azerothcore-wotlk_ac-worldserver_1

To detach: press ctr+p and ctrl+q.

Do NOT try to detach using ctrl+c or you will kill your worldserver process!