DocuVault
Self-hosted team documentation with Git as the source of truth. Edit collaboratively in the browser; every save is a commit to your repo. Comes with a CRUD MCP server for local AI editing and a role-based permission system. AI features are optional.
Website · Install guide · MCP server · Contributing
Why
Most documentation tools either lock your content into a proprietary store (Notion, Confluence) or make you choose between web-editing and Git workflow (raw GitLab/GitHub, plain Markdown sites). DocuVault keeps both: your documents live as Markdown files in a Git repository you control, while the team gets a real WYSIWYG editor, search, sharing, and permissions on top.
For developers and AI tools, the same files are available locally — clone the repo, edit with Claude Code / Cursor / your editor of choice, push, and the web UI reflects the change. The included MCP server gives AI agents full CRUD access to documents without leaving the agent's tool loop.
Features
- Git-backed storage. Every save is a commit, with full version history. A space syncs with a GitLab repository (GitHub is planned), or with a single folder of one such as the
docs/ of a monorepo, or stays a local Git repository on the server.
- Local-first AI editing. Clone the repo and edit with any LLM tool that works on files. No vendor lock-in.
- Built-in MCP server. Point Claude Code, Claude Desktop or Cursor at
/api/mcp, sign in once in the browser, and your agent can search, read, create, edit and share documents with your permissions.
- WYSIWYG editor. TipTap-based rich editor that emits clean Markdown.
- Role-based permissions. Super Admin, Org Admin, Editor, Viewer, plus fine-grained per-space permissions.
- Teams. Group users into teams (a user can be in several) and grant space access once per team instead of once per person. Members inherit every grant of every team they're in; the strongest grant — personal or inherited — wins.
- Public share links. Optional password protection, view-only or comment access. Renders rich markdown including embedded HTML and JavaScript (deliberate — see SECURITY.md).
- Optional AI. Ask questions about your documentation and find your conversations again across spaces, with answers that name their sources, create documents and propose edits you apply. Drafts of status reports and meeting protocols from a space's recent notes and tasks. Voice input, semantic search (pgvector + OpenAI embeddings) and writing assistance. The UI hides AI features when no API key is configured. See docs/assistant.md.
- Tasks (alpha). Tasks in spaces with assignee, due date and status, created by hand, from inbox notes, by the assistant, over MCP, or suggested from meeting action items. See docs/tasks.md.
- Meeting transcription bot (alpha). Joins a Teams or Discord meeting, transcribes it and files a meeting note plus the transcript into a space's inbox; action items become suggested tasks. See docs/meeting-bot.md.
- Inbox / quick capture. Write or speak a note first; the assistant suggests the space and the tasks in it, and you confirm. Notes are filed into documents later, with optional AI-assisted routing.
- Email notifications. Per-user instant or digest mode for space changes; password reset; invitations.
- First-boot setup wizard. No
ADMIN_EMAIL/ADMIN_PASSWORD env vars to fumble — visit the URL, create the admin, done.
- Admin settings UI. Configure SMTP, OpenAI, and GitLab from the browser; values stored encrypted in the database.
- Your brand. Set the app name, a primary colour, logos for light and dark backgrounds and a favicon in the admin UI. They apply everywhere: sign-in page, app, shared pages, tab titles and emails. See Whitelabeling.
Screenshots
| |
|---|
| Your spaces | Every save is a commit |
How it works
| |
|---|
| AI agents write through MCP | Ask your documentation |
| Comments that stay on their words | Scrub through version history |
| Public links with password and comments | Inbox with AI routing |
Tech stack
- Backend: Spring Boot 3.2, Kotlin, JPA/Hibernate
- Frontend: Angular 18, TipTap
- Database: PostgreSQL 16 + pgvector
- Object storage: MinIO (for logos, attachments)
- Cache / session store: Redis
- Reverse proxy + TLS: nginx-proxy + acme-companion (Let's Encrypt)
- Native apps: Capacitor (iOS/Android) — optional
Quick start
You need a Linux server with Docker, a DNS name pointing at it, and ports 80 + 443 open.
以上為 README 的開頭部分。其餘內容請閱讀原文。 檢視完整 README ↗