Open core

Run the whole thing yourself.

Not a demo, not a client, not a reduced community edition. The stack that serves this page is the stack you can put on your own machine — and it keeps working with the network cable pulled out.

One command

git clone <the repo> sanctuary && cd sanctuary
cp .env.example .env
docker compose up -d

Then open http://localhost:8080. Migrations and seeds run themselves; there is no setup wizard because there is no setup.

Full instructions, including the two secrets you must generate before exposing it to anything, are in SELF_HOSTING.md in the repository.

Why you might want to

It works with no uplink

Maps and routing, the reading room, the book, the games, the search index — all on the device. This is tested, not promised.

Nothing phones home

No analytics, no CDN, no web fonts, no third-party scripts. A test fails the build if a new outbound host appears.

It runs on a LAN

A school, a boat, a clinic, a valley with bad weather. One box on the network and everyone on it has the whole thing.

Your data stays yours

Your instance's database is on your disk. Nobody here can read it, and nothing syncs anywhere by default.

What is open, and what is hosted

Stated plainly, because a boundary you discover after a weekend of work is a bad boundary.

Open — yours to run

  • The whole storefront: 124 pages, no build step, no framework
  • The API — accounts, cards, chat, moderation, wallet ledger
  • The admin console
  • The database schema and every migration
  • The proxy config, the security headers, the CSP
  • The offline engines: maps and routing, search, the book, the games
  • The test suites, including the structural guards
  • The self-hosted WebRTC relay
  • The onion service — the mirror, and how to visit it over Tor

Hosted-only — not distributed

  • Blackhorn content — its channels, tools and game modes
  • The hosted quanta economy. Quanta on your instance are yours; they do not move between instances and are not redeemable anywhere
  • The project's own content — scripture, world lore, the wiki, the art. The engine runs without them
  • Third-party keys. Stripe, market data, model providers — all optional, all yours, all degrade honestly when absent
  • The public box's own data, obviously

The licence

The licence governing a fork has not been chosen yet. The repository ships a LICENSE and a NOTICE, and core-manifest.json names the core boundary — but the specific terms under which you may run, modify and redistribute a variant are a decision the keeper has not made, and a guess printed here would be worse than this gap, because people would rely on it.

If you are waiting on this before building something serious, say so — knowing somebody is actually waiting is what moves a decision like this.

Become an Open-Core Partner

Get it running, get listed. Instances that are genuinely up are listed publicly in the partner directory, with a badge.

  1. Get it running. One command above. It needs to actually answer on a URL somebody else can reach.
  2. Apply. Name, instance URL, one line about what it is for — from the partner directory.
  3. Verification. The URL is checked to be reachable and running this stack. This is the only bar; it is not a quality review.
  4. Listed. Approval is manual — a person looks at it — so allow a little time. Then your instance carries the partner badge.

See also: The partner directory · Support · Terms