Product tour
Everything your notes need.
Nothing they don't.
Marrow is a self-hosted knowledge base built around a single promise: your export bundle restores to an exact replica of your workspace content — the node tree, revisions, attachments, properties, and links it carries. See exactly what round-trips.
Editor
Write without friction.
A block-based editor that stays out of the way. Markdown shortcuts, code blocks with syntax highlighting, tables, and inline @mentions — all auto-saved as you type.
Welcome to Marrow. This is your first page — start writing, or use / to insert a block.
$ docker compose up -dAssigned to @sean — due Friday.
Organization
Structure that scales.
Workspaces, spaces, and a self-referential node tree. Folders nest as deep as you need; pages live anywhere in the hierarchy. Role-based access — owner, editor, viewer — keeps the right people on the right content.
Three roles keep access simple. Owners manage membership; editors write; viewers read.
Search
Find it in a keystroke.
Full-text search across page names, bodies, and properties in a workspace. Hit Cmd+K anywhere in a workspace, start typing, and land on the right page — with a ranked snippet so you know you're in the right place before you click.
History
Every save, forever.
Revisions are append-only by design — a database trigger blocks any edit, so no save is ever silently overwritten. Browse the full history of any page, restore a previous version, or export the entire revision chain. (Deleting a page moves it to trash; purging trash removes it for good.)
Added deployment section and docker-compose instructions.
Expanded API routes table with node CRUD endpoints.
Initial draft — data model overview and tech stack.
Page created.
Revisions are immutable — every save is permanent, nothing is lost.
Self-host in minutes.
Docker Compose, a database, and you're running. No vendor lock-in, no usage limits, no surprises.
Get started on GitHub