Skip to content

Quick start

The fastest path to a running cluster on a single machine is the bundled compose.yaml — it builds the unified service image and brings up PostgreSQL, Redis, NATS, the auth server, the gateway, and a world worker.

Docker Compose = development only

Docker Compose is for local development and code study. The only officially supported deployment target is Kubernetes via the Helm chart under deploy/helm/splintertree/. See Getting started › Deployment for the full picture.

Prerequisites

  • Docker 24+ with Compose v2
  • ~6 GB free disk for the builder image and database volumes
  • A 3.3.5a (build 12340) WoW client for end-to-end testing

Bring up the stack

# Build the unified service image (all Rust crates in one workspace build).
docker build --target builder -t splintertree-builder:check .

# Backing services only — useful for native development.
docker compose up db redis nats

# Or the full stack (needs the image built first).
docker compose up

The unified builder image takes ~2 minutes even when cached, so batch your edits before rebuilding.

Native build

If your toolchain has glibc startup files you can build natively instead:

cargo build
cargo build -p splintertree-world

# Tests
cargo test
cargo test -p splintertree-world

# Lint & format
cargo fmt --all
cargo clippy --all

Note

The local toolchain often misses glibc startup files — prefer the unified builder image for workspace-wide checks.

Connecting a local client

You bring your own client

Splintertree ships no Blizzard data and no client. To exercise the running cluster end-to-end you supply your own original 3.3.5a (build 12340) client; the project does not distribute or link to one.

For local exploration, point the client at the gateway by editing realmlist.wtf (set realmlist 127.0.0.1), register a development account through the admin portal or the splintertree-auth HTTP API, and launch the client (Wow.exe, or wine Wow.exe on Linux/macOS).

The desktop launcher under splintertree-launcher/ automates the sync flow — patch chain, addon manager, wine launch — for the same local-development scenario. Build prerequisites and the Tauri command surface live in splintertree-launcher/README.md.

Next steps