Skip to content

Introduction

Orimora is a self-hosted team knowledge base built with SvelteKit. It combines a collaborative rich-text editor (TipTap / ProseMirror, Yjs), structured collections and tags, full-text search, comments, notifications (in-app / email / web push), passkey login, group-based permissions, encrypted off-site backups, and a versioned REST API + MCP surface for tools and automation.

I am a…Start here
Developer setting up locallyInstallationConfiguration
Ops deploying to productionCoolify Setup or Deployment
Team member using the appEditorCollaborationAI assistant
Integrations adminWebhooksPublishingREST API
If you want to…Start here
Run locally with Docker (recommended)Installation — Path A
Deploy on CoolifyCoolify Setup
Deploy with Docker Compose (standalone)Deployment
Understand every env varConfiguration
Set up backups & recoveryBackups · Disaster Recovery
If you want to…Start here
Write and format documentsEditor
Edit together in real timeCollaboration
Find contentSearch
Organize with tagsTags
Start from a templateTemplates
Stay notifiedNotifications
Secure your accountSecurity & passkeys
Export or printExport
Use the AI assistantAI assistant
If you want to…Start here
Call the HTTP APIREST API overview
Browse operations & schemasOpenAPI reference
Connect Cursor / MCPMCP & AI integrations
Sync with ObsidianObsidian plugin
Manage webhooks or publishingWebhooks · Publishing
  • Editor — TipTap with real-time collaboration (Hocuspocus), revision history, slash commands
  • Collections & tags — Document tree with icons/ordering, plus flat tags (incl. access-controlled restricted tags)
  • Search — PostgreSQL full-text search plus fuzzy matching
  • Comments — Inline threads on selected text
  • Notifications — In-app, email, and web push (independent per-channel toggles)
  • Templates — Reusable document starting points
  • Gamification — Optional points, badges, streaks, and a team leaderboard
  • Security — Passwordless login with WebAuthn passkeys; idle-session timeouts
  • Permissions — Groups, fine-grained capabilities, collection + tag ACLs
  • REST API/api/v1/documents with Bearer kb_ API keys (tags, filters, incremental sync)
  • MCP — HTTP endpoint /api/mcp for Cursor and Claude Desktop, plus an OAuth 2.1 flow for the Claude mobile app and claude.ai Custom Connectors
  • AI assistant — Bring-your-own LLM (encrypted at rest)
  • Backups & DR — Encrypted, off-site backups (age + rclone) with a restore runbook
  • Integrations — Webhooks, publishing channels (Git mirror / pull / webhook), Obsidian sync
LayerTechnology
AppSvelteKit, Svelte 5, adapter-node
DataPostgreSQL 16+, Drizzle ORM
Cache / queuesRedis, BullMQ
Real-timeYjs, Hocuspocus WebSocket (/collab)
AuthHTTP-only sessions + OAuth; API keys for automation

More detail: Architecture and Database migrations.

Source layout and license information are in the GitHub repository linked from the site header.