Skip to main content

Welcome to Orkestra

Orkestra is the SaaS plumbing every product rebuilds — users, auth, RBAC, multi-tenancy, navigation, logging — already done.

Eight core modules (user, auth, authz, tenant, notification, navigation, logging, compliance) supply the baseline on day one. Per ADR-0006 Orkestra is a core-only base — it ships no addons. A fork builds its own verticals (invoicing, payments, subscriptions, RAG, AI agents, documents, identity, …) on top, against the in-tree SDK contract, using the same Module seam the core is built on and toggling them at /admin/modules.

Where to next

  • Getting Started — boot Orkestra locally in under five minutes.
  • Architecture — the two-tier tenancy model and module lifecycle.
  • Operating Orkestra — deployment, module configuration, SMTP/OAuth.
  • Module Catalog — the eight core modules, what each does and depends on, plus the seam for a fork's optional modules.
  • SDK Reference — the Module interface, ServiceRegistry, building an addon.
  • ADRs — architectural decisions that shape the platform.

Who this is for

These docs are for operators self-hosting Orkestra and developers building on the SDK or contributing addons. End-customer documentation (Tier-2 client onboarding) lives elsewhere.

Tech stack at a glance

LayerTechnology
BackendGo 1.25.13, Huma v2 (OpenAPI-first), 8 core modules (core-only base)
FrontendReact 19, TypeScript 5.9, Vite 8 (admin) / Vite 7 (client)
MobileFlutter 3.44
DatabaseMongoDB 8.0, Redis 8.2
AuthEmail/password (argon2id) + OAuth 2.1, MFA + passkeys, RS256 JWT, service accounts
RBAC6 platform roles + 5 tenant roles, Cedar policy engine, permissions resolved per request

Exact toolchain versions are pinned in .mise.toml, which CI reads too — so mise install gives you what CI uses.

:::info Editing these docs Every page here is written in the monorepo, under docs/site/, and mirrored into the Docusaurus site at build time. So the "Edit this page" link at the bottom lands on the real source file, and a docs change goes through the same PR queue and the same reviewers as code.

The orkestra-docs repository is the renderer — theming, sync scripts, and CI. Send content PRs to orkestra-cc/orkestra instead. :::