Prerequisites
trinitycore/trinitycore:3.3.5) - Pull this image using docker pull trinitycore/trinitycore:3.3.5Setting Up
Project Structure:
trinitycore-server).configs (for configuration files)data (for game data)mysql (for database storage)Configuration Files:
worldserver.conf and authserver.conf) from the TrinityCore resources.configs directory.docker-compose.yml
docker-compose.yml in your project's root directory.services:
authserver:
image: trinitycore/trinitycore:3.3.5
container_name: trinity_bnetserver
entrypoint: authserver
volumes:
- ./configs:/home/circleci/project/bin/check_install/etc
ports:
- 1119:1119
- 8081:8081
depends_on:
- mysql
networks:
- trinitycore
worldserver:
image: trinitycore/trinitycore:3.3.5
container_name: trinity_worldserver
entrypoint: worldserver
volumes:
- ./configs:/home/circleci/project/bin/check_install/etc
- ./data:/trinity/data
ports:
- 8085:8085
depends_on:
- mysql
networks:
- trinitycore
mysql:
image: mysql:5.7
container_name: trinity_mysql
environment:
MYSQL_ROOT_PASSWORD: trinitycore
MYSQL_DATABASE: trinity
MYSQL_USER: trinity
MYSQL_PASSWORD: trinity
volumes:
- ./mysql:/var/lib/mysql
networks:
- trinitycore
networks:
trinitycore:
Start Your Server:
docker-compose up -dConnecting to the Server
Additional Notes
volumes sections in the docker-compose.yml ensure the persistence of your data.Please remember to rename the worldserver.conf.dist and authserver.conf.dist files in worldserver.conf and authserver.conf respectively, unless you want to keep the configuration files of a previously compiled version of the core.