Some checks failed
CD / Build and push images (push) Successful in 3m57s
CD / Deploy to Test (push) Successful in 9s
CI / Lint, typecheck, test (push) Failing after 4m16s
CI / Auth e2e pack (push) Has been skipped
CI / Import/export fidelity gate (push) Has been skipped
CI / Build container images (push) Has been skipped
CD / Smoke tests against Test (push) Successful in 1m19s
CD / Promote to Int (push) Successful in 11s
The slug-based machine surfaces now see and shape the hierarchy: - REST: page list/detail carry parent (the parent page's slug, nulled when the token's user may not read it — same no-leak rule as the internal list); create accepts parent; PATCH accepts parent (slug nests, null moves to the top level, appended at the end of the new sibling group via the new PagesService.moveToEnd). Cycle/depth refusals keep their regular error codes. OpenAPI updated. - MCP: list_pages returns parent, create_page takes an optional parent slug, update_page moves with parent (slug|null); tool errors carry the api code (page_cycle covered in the e2e pack). - ZIP export deliberately stays flat — noted in features.md; the hierarchy is organizational only. e2e: REST pack covers nested create, list shape, move/root-move, 409 page_cycle, 404 unknown parent; MCP pack covers nested create, list parent, and the cycle tool error. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5.3 KiB
5.3 KiB
Dorfteich — what it is and why you might want it
Deutsche Fassung: docs/de/features.md
Dorfteich is an open-source wiki for people who want to think and write together — in real time, on their own server, without handing their knowledge to a cloud company.
The name means "village pond": the place where everyone in the village comes together. Your wiki is organized into ponds — one personal pond for every member, plus shared ponds for teams, clubs, families, or projects.
Writing together, live
- Real-time collaboration. Open the same page as a colleague and watch each other type — with named cursors and a presence strip showing who is on the page. No locking, no "someone else is editing" dialogs, no lost changes.
- Works offline. Keep typing when the connection drops; your edits merge back in automatically when you are online again.
- A friendly editor. Headings, lists, task lists, tables, quotes, code blocks, and images — with full Markdown round-trip: what you write can always leave the system as clean Markdown again.
- Wikilinks. Type
[[page-name]]to link pages. Links to pages that do not exist yet are collected for you, one click creates them. Backlinks show you where every page is referenced.
Never lose anything
- Version history. Every page keeps automatic snapshots plus named versions you save yourself. Compare, see who contributed, and restore any earlier state — restores are visible live in every open editor.
- Trash with a grace period. Deleted pages sit in a per-pond trash and can be restored for weeks before they are purged.
- Real backups. Nightly database + file backups, optional off-host copies to any Nextcloud you control, and a tested one-click restore — including a documented path to rebuild an instance from nothing.
Organize the way you think
- Page tree: nest pages under pages (up to 6 levels) — slugs and links stay flat, so moving a page never breaks anything; the ZIP export also stays flat (the hierarchy is organizational only)
- Labels, hierarchical if you like, to slice a pond any way you want — and to scope access rules (see below).
- Fast full-text search across everything you may read — accent- and umlaut-insensitive, with substring matching.
- A table of contents, page indexes, diagrams and more through built-in plugins (see "Extensible" below).
Share exactly as much as you want
- Fine-grained permissions. Grant read or write access per pond, per label, or per page — to individual people, to all signed-in members, or to the public internet. Deny rules carve out exceptions. A built-in inspector explains why someone can or cannot see a page.
- Public pages. Publish selected pages read-only to the world, with clean URLs — the rest of the pond stays private.
- Comments. Discuss in threads next to the content, resolve what is settled, and choose per pond whether every reader or only editors may comment.
- Notifications you control. Watch pages or whole ponds, get an in-app inbox, and choose e-mail digests (hourly, daily, or off) with a working unsubscribe link.
Your documents come and go freely
- Import Word (
.docx), LibreOffice (.odt), and Markdown files — including embedded images. - Export any page as Markdown, Word, LibreOffice, or PDF (with your pond's typography), and any pond as a ZIP of Markdown files. No lock-in, ever.
Machines are welcome too — on your terms
- REST API. A clean, token-authenticated public API to read, write, search, label, and comment — with an OpenAPI description. Tokens carry exactly the permissions of their owner, never more.
- Built-in MCP endpoint. Connect Claude Code or any MCP-capable AI assistant directly to your wiki — it can search, read, and (if you allow it) write pages. Both interfaces are off by default and each pond opts in separately.
Extensible, but safely
- Plugins add block types (Mermaid diagrams, full draw.io editing), page tools (table of contents, page index), and section styles. Every plugin runs in a strict sandbox: no cookies, no storage, no network — it cannot read more than the person looking at it.
- Reference plugins ship with the product and double as documented examples for writing your own.
Private by design
- Self-hosted. One
docker compose up, a friendly first-run wizard, and it is yours. Everything — fonts included — is served from your own domain: pages make zero requests to third parties. - GDPR-friendly. Imprint and privacy-policy pages built in (with templates), personal data export as ZIP, account deletion with content-preserving pseudonymization, and an audit trail of administrative actions.
- Bilingual. The entire interface speaks German and English; every user picks their language.
Honest operations
- Health endpoints that distinguish "down" from "degraded", an admin system panel with job status, backup state, audit log and storage overview, monthly automated restore drills — the operator can prove the backups work, not just hope.
Dorfteich is MIT-licensed open source. If you can run Docker, you can run Dorfteich — see self-hosting.