Run the whole stack yourself.

ShatteredArchive is a Docker Compose stack of small, independent services for MUD players and builders — a scriptable web client, an area builder, a map and data browser, a single sign-on hub and a few tools that grew out of the same workshop. Every service below is running live so you can see what you get before you clone anything.

Live demos

Public instances of the services in deploy/docker-compose.yml and deploy/docker-compose.shattered-archive-experimental.yml. They are shared, so treat anything you create as disposable — the point is to show what a self-hosted deployment looks like, not to be durable storage.

Self-hosting setup

The stack addresses its services by hostname rather than by port, so a local deployment needs those names pointing at your own machine before Docker will resolve them. This is a one-time step.

1. Map the development domains to localhost

Windows (Administrator PowerShell):

pnpm setup:hosts:win

macOS / Linux:

sudo pnpm setup:hosts:nix

This writes entries pointing the following names at 127.0.0.1:

  • game-client.shatteredarchive.dev
  • game-server.shatteredarchive.dev
  • web-client.shatteredarchive.dev
  • web-server.shatteredarchive.dev
  • auth.shatteredarchive.dev
  • scrum-poker.shatteredarchive.dev

2. Bring the stack up

From deploy/. The default compose file runs the published services; the experimental one adds MUD Builder and Kingdom Tactics.

docker compose -f docker-compose.yml up -d

3. Open the client

Browse to http://game-client.shatteredarchive.dev. If you land back on this page instead, the host entries from step 1 have not taken effect — restart Docker and reload.

Seeing this page on a subdomain you expected an app on? That is the symptom of an incomplete step 1: the name resolved to this edge rather than to your local Docker network.

Documentation