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 locallyInstallation → Configuration
Ops deploying to productionCoolify Setup or Deployment
Team member using the appEditor → Collaboration → AI assistant
Integrations adminWebhooks → Git mirror → REST 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 · Git mirror
  • 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, Git mirror, Pull-API folder shares, “Send to” endpoints, 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.