Start hereOverviewPrerequisitesInstallationBootstrapAdministrationUsage & commands

Overview

orgplatform is a self-hosted platform for running a Star Citizen organisation. One Rust backend, one Postgres database, one identity system — four surfaces over a shared core.

The four surfaces

All driven by one binary (plus the separate public overlay):

Discord botSlash commands for members and officers: events, RSVPs, fleet, governance, recognition, discipline.anyone
Web API + panelThe administrative portal and member dashboard at /panel.anyone
Public siteThe landing page and this documentation hub.anyone
In-game overlayThe separate public org-hud; speaks only the hud-protocol wire contract — no special backend access.anyone
It administers human decisions — it never makes them. The platform executes votes, records audits, and reconciles Discord to a desired state. It does not decide who gets promoted or expelled. Internalise this before operating it.

The vocabulary

Read this once — every page assumes these terms.

The rules that shape everything

  1. Config-is-data. Operational rules (tithe %, quorum %, probation length, thresholds) are rows in the config table, changed at runtime — not constants in code.
  2. Audit-everything. Every state or config change writes an immutable audit_log row.
  3. Domain event spine. Modules emit typed domain_events; the live layer, the provisioner and the dashboard subscribe. One emit, many subscribers.
  4. One permission model, both surfaces. Slash commands and web routes resolve the same rank → permission mapping, fail-closed, per request.
  5. Everything consequential is mediated. Destructive or org-defining actions are proposals routed through governance, not direct mutations.
  6. The overlay gets no special access. It authenticates as an ordinary member and speaks only hud-protocol.

Why you shouldn't hand-edit Discord

The platform keeps a registry of the roles and channels it created and a provisioner reconciles Discord to the desired state: it creates what's missing, renames what drifted, and soft-archives what was removed — it never hard-deletes. If you rename or delete a managed role in Discord, the next provision corrects it back. Make structural changes through the platform (panel or slash commands), not in Discord directly.

Next: Prerequisites.