{
  "schema": "leumas.docs.page/1",
  "id": "arch:PLATFORM",
  "slug": "architecture/platform",
  "kind": "pages",
  "bucket": "architecture",
  "title": "Platform",
  "name": "Platform",
  "eyebrow": null,
  "chip": null,
  "summary": "Everything Leumas puts on the internet — leumas.tech, every subdomain and every customer site, all of it Imperium output served by a Leumas-run Studio.",
  "keywords": [
    "leumas platform",
    "imperium hosting",
    "multi-tenant subdomains",
    "white-label web hosting",
    "self-hosted platform architecture",
    "how leumas hosts customer sites"
  ],
  "audience": "both",
  "funnel": {
    "product": "leumas-studio",
    "cta": "Host a site on Leumas Studio"
  },
  "body": "# Platform\n\n**Everything Leumas puts on the internet.**\n\n`leumas.tech`, every `*.leumas.tech` subdomain, and every customer site — all of it **Imperium\noutput**, all of it served by a **Leumas-run Leumas Studio**.\n\nWe are customer #1. We host our own platform with the product we sell, which is the only honest test\nof whether it works.\n\nCompanions: [CONTROL-PLANE.md](CONTROL-PLANE.md) · [APPLIANCES.md](APPLIANCES.md)\nExecution: [ops/todos/leumas-consolidation-roadmap.md](ops/todos/leumas-consolidation-roadmap.md)\n\n---\n\n## The thesis: everything ships twice\n\nEvery capability has **two destinations from one build**:\n\n```\n        shared/packages/<x>              the reusable guts — written once\n                 │\n                 ▼\n products/standalone/leumas-<x> a thin shell ──build──-> dist/\n                 │\n     ┌───────────┴───────────────────────────────────┐\n     ▼                                               ▼\n  a plugin any Studio installs                 an Imperium config\n  monetized by the app store                   <x>.leumas.tech\n  → APPLIANCES.md                              monetized directly\n                                               → THIS DOCUMENT\n```\n\nSame artifact. Two revenue surfaces. Zero duplicated code.\n\n---\n\n## What it is, mechanically\n\n**One renderer over a config store.** A site is not a codebase — it is a row.\n\n| Piece | What it does |\n|---|---|\n| `configs` collection | every site: its `mode`, its `data`, its `appearance`, its hosting target |\n| `@leumas/config-registry` | the ~30 modes a config can be — the vocabulary of what a page *is* |\n| `@leumas/ui` `DynamicPage` | renders `mode + data`; one build serves every subdomain |\n| `@leumas/hosting` | resolves an incoming host to a config, and to one of six **targets** |\n\n`target` ≠ `mode`. A target is *how* a host is served (config · proxy · server · static · bundle ·\nredirect); a mode is *what the page is*. A host can point at a local app as easily as at a config.\n\nBecause a site is a row, adding one is a form — not a deploy.\n\n---\n\n## What it covers\n\n| Lane | Examples |\n|---|---|\n| **Core** | `leumas.tech`, `api.`, `admin.`, `docs.` |\n| **Product sites** | one per capability — the standalone that is also an app-store plugin |\n| **Customer sites** | anything a Studio operator hosts, on our infrastructure or their own |\n\n---\n\n## How it relates to the other two\n\n```\n APPLIANCES ── Studio hosts sites ──-> PLATFORM ──-> the public internet\n                                            │\n                                            └── its pages call CONTROL's public API\n                                                (identity, membership, the store)\n```\n\nThe platform is **Imperium output**. It is not a separate stack, and there is no \"leumas.tech\ncodebase\" — there is a Studio with configs in it. That is the point: if the platform needs something\nImperium cannot express, Imperium gets it, and every customer gets it too.\n\n---\n\n## The boundary rule\n\n> Rendered by the one build, authored in Studio → **Platform**.\n> The machinery *doing* the hosting → **[APPLIANCES.md](APPLIANCES.md)**.\n> Leumas acting on a customer → **[CONTROL-PLANE.md](CONTROL-PLANE.md)**.\n\n---\n\nDetail — the site catalog, connect-a-domain, request resolution, the modes, SEO, the cluster:\n[ops/reference/platform-detail.md](ops/reference/platform-detail.md)\n",
  "source": {
    "path": "PLATFORM.md",
    "blobSha": "",
    "commit": "",
    "committedAt": "",
    "provenance": "no-git",
    "bytes": 4043,
    "hash": "e48ecd1044438b756ae1cd2862081d3ebca4b04a"
  },
  "urls": {
    "html": "/p/architecture/platform",
    "json": "/docs/architecture/platform.json",
    "md": "/docs/architecture/platform.md"
  },
  "links": {
    "composes": [],
    "usedBy": [],
    "product": [],
    "howTo": [],
    "skills": []
  }
}
