Prerequisites
trinitycore/trinitycore:3.3.5
) - Pull this image using docker pull trinitycore/trinitycore:3.3.5
Setting 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:
trinity_bnetserver:
image: trinitycore/trinitycore:3.3.5
container_name: trinity_bnetserver
entrypoint: bnetserver
volumes:
- ./configs:/home/circleci/project/bin/check_install/etc
ports:
- 1119:1119
- 8081:8081
depends_on:
- mysql
networks:
- trinitycore
trinity_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
- 8086:8086
depends_on:
- mysql
networks:
- trinitycore
trinity_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 -d
Connecting 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.