Organizations & projects
Workspaces with scoped org and project roles. Invite members by link, assign owner/admin/developer.
rbacPrimora is a self-hosted backend platform — auth, Postgres-backed APIs, S3-style object storage, JSON collections, scoped API keys, and a full audit log behind one dashboard. No hosted tier.
curl -fsSL https://raw.githubusercontent.com/Dvorinka/Primora/master/install.sh | bash
Inspired by the UX of Appwrite and Supabase — rebuilt as a single self-hosted stack you own outright.
Workspaces with scoped org and project roles. Invite members by link, assign owner/admin/developer.
rbacEmail/password via Better Auth, optional GitHub, Google, Discord and Microsoft OAuth. JWTs verified against JWKS.
better-auth + jwksS3-style buckets on your own filesystem, public or private. Upload, move, rename, inline preview.
local fsSchema-flexible JSON documents stored in Postgres JSONB. Query, create and update without migrations.
postgres jsonbprm_<prefix>_<secret> credentials, shown once at creation. Revocable, rate-limited per key.
Every mutating request recorded — actor, action, target. Filterable in the UI, exportable as CSV or JSON.
csv / json exportScheduled jobs and live event streams. Webhooks and connectors push project events to external systems.
schedules + webhooksSign-up policy, mail transport, and rate limits managed in-app — no restart, secrets stored AES-256-GCM.
settings → instanceFully client-side seeded workspace — append ?demo=true to the URL, no sign-up required.
One Postgres, one API, one process boundary per concern. Everything ships in Docker Compose.
Browser ──▶ Nginx ──┬──▶ Frontend SolidJS + Vite ├──▶ Auth Better Auth + Hono └──▶ API Go + Gin │ ├──▶ PostgreSQL primary datastore ├──▶ DragonflyDB cache + rate limits └──▶ Local FS object storage
Real UI, no mockups. Every screen is dark-first, hairline-divided, and keyboard-driven.
The same API powers a CLI, an MCP server, a desktop shell, and an installable PWA.
primora manages orgs, projects, buckets, objects, keys, and audit from the terminal.
$ primora storage objects --bucket assets --limit 10
Exposes primora_* tools to MCP clients — drive the platform from an agent.
primora_list_projects · primora_upload_object · …
Tauri 2 shell that connects to your deployment, with tray presence and native notifications.
apps/desktop · tauri 2
The dashboard installs on mobile and desktop browsers — same console, native frame.
installable · offline-aware shell
Docker with the Compose plugin is the only prerequisite. Up in one command.