Skip to content

Add docker build support and deployment - #3

Open
nae-stormrage wants to merge 2 commits into
Trion-Control-Panel:mainfrom
nae-stormrage:docker
Open

Add docker build support and deployment#3
nae-stormrage wants to merge 2 commits into
Trion-Control-Panel:mainfrom
nae-stormrage:docker

Conversation

@nae-stormrage

Copy link
Copy Markdown

Description

Adds Docker support for building and running ArgusCore.

Single multi-stage Dockerfile with dedicated targets:

  • build — compiles worldserver and bnetserver from source (Ubuntu 24.04, CMake + Ninja + Boost)
  • tdb-download — downloads and extracts the TDB release (world + hotfixes SQL) from GitHub, independent of the build stage
  • runtime-base - shared lightweight runtime layer with compiled binaries;
  • worldserver/bnetserver - final runtime images, built FROM runtime-base;
  • db-init - separate Ubuntu-based image that sequentially applies the SQL files needed to bootstrap the databases (create_mysql.sql, auth_database.sql, characters_database.sql, TDB_*_7.3.5.26972.sql).

docker-compose.yml orchestrating mysql, db-init, bnetserver, and worldserver, with proper startup ordering (depends_on + healthcheck + service_completed_successfully);

.env.example for configuring DB credentials, game data path.

Game data (maps/vmaps/mmaps/dbc) is mounted read-only from the host rather than baked into the image, keeping the image size reasonable and avoiding redistribution of extracted client data.

Type of change

  • C++ fix / feature
  • DB fix (SQL only)
  • Build / CMake
  • Documentation

Related issue

Testing

  • Compiles without warnings
  • Server boots successfully
  • Tested in-game

Checklist

  • One fix per PR — not mixed with unrelated changes
  • SQL files follow the YYYY_MM_DD_NN_database.sql naming scheme
  • No debug code or leftover TODOs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant