dorfteich/docs/features.md
Claude Fable 5 2d51a55119
All checks were successful
CD / Build and push images (push) Successful in 2m40s
CD / Deploy to Test (push) Successful in 10s
CD / Smoke tests against Test (push) Successful in 1m9s
CI / Lint, typecheck, test (push) Successful in 4m23s
CI / Build container images (push) Has been skipped
CD / Promote to Int (push) Successful in 12s
CI / Auth e2e pack (push) Successful in 6m15s
CI / Import/export fidelity gate (push) Successful in 47s
Release / Build release images and notes (push) Successful in 1m7s
Release / Release-candidate operations QA (push) Successful in 41s
Prod deploy / Deploy the released images to Prod (push) Successful in 16s
QA: wire the M13 packs into CI, document the vault import (#119)
CI runs the two new packs after the graph pack (chained, each preceded
by the login rate-limit reset): create-missing-page.spec.ts (#115) and
import-vault.spec.ts (#117/#118).

Docs: the pond-admin guide gains a full 'Import an Obsidian vault'
chapter — the three dialog choices, and what happens to folders, links
(including the duplicate-name rule: the alphabetically first vault path
wins), tags, images, and embeds, plus the limits and the all-or-nothing
semantics. The user guide explains following a link to a page that does
not exist yet. features.md gets both bullets. German mirrors updated
throughout (English stays authoritative).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 18:28:45 +02:00

125 lines
5.8 KiB
Markdown

# Dorfteich — what it is and why you might want it
_Deutsche Fassung: [docs/de/features.md](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)
- **Obsidian vault import**: a pond admin uploads a whole vault as a ZIP —
folders become the page tree, tags become labels, `[[wikilinks]]` are
rewritten so they keep working, and images come along as pond files
- **Dead links are one click from a page**: opening a link to a page that
does not exist yet offers to create it right there
- **Knowledge graph**: an interactive map of every pond — pages as nodes,
wikilinks as edges, missing targets as dashed phantoms you can create
with a click; each page also gets a local neighborhood graph
- **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](self-hosting/README.md)._