Introduction
Orimora is a self-hosted team knowledge base built with SvelteKit. It combines a collaborative rich-text editor (TipTap / ProseMirror, Yjs), structured collections, full-text search, comments, webhooks, and a versioned REST API for tools and automation.
How to use this documentation
Section titled “How to use this documentation”| If you want to… | Start here |
|---|---|
| Run the app locally (Postgres + Redis + Yarn) | Installation |
| Deploy with Docker in production | Deployment |
| Understand every env var | Configuration |
| Call the HTTP API (auth, rates, pagination) | REST API overview |
| Browse operations & schemas | OpenAPI reference |
| Sync with Obsidian | Obsidian plugin |
Key features
Section titled “Key features”- Editor — TipTap with real-time collaboration (Hocuspocus), revision history, typography controls
- Collections — Tree of documents with icons and ordering
- Search — PostgreSQL full-text search plus fuzzy matching
- Comments — Inline threads and resolution
- REST API —
/api/v1/documentsand/api/v1/collectionswith Bearerkb_API keys - Obsidian — Push/pull and incremental sync — see the reference page above
- AI assistant — Bring-your-own LLM (encrypted at rest)
Architecture (short)
Section titled “Architecture (short)”| Layer | Technology |
|---|---|
| App | SvelteKit, Svelte 5, adapter-node |
| Data | PostgreSQL 16+, Drizzle ORM |
| Cache / queues | Redis, BullMQ |
| Real-time | Yjs, Hocuspocus WebSocket (/collab) |
| Auth | HTTP-only sessions + OAuth; API keys for automation |
More detail: Architecture and Database migrations.
Licensing
Section titled “Licensing”Source layout and license information are in the GitHub repository linked from the site header.