Papyra

A calm, self-hosted home for your notes.

Every note is an ordinary Markdown file in a folder you own. Papyra gives that folder a fast, beautiful place to live — search, links, sharing, and an assistant that answers from your own writing — without ever locking a word of it away.

No sign-up. The demo runs entirely on your device — nothing is sent anywhere.

The whole idea

Google-Keep-shaped surface.
Obsidian-shaped substance.

Most note apps keep your writing in a database and hand you an export button. Papyra has no export button to speak of, because it never needed one: the folder is the storage. Open it in Obsidian, sync it with Syncthing, grep it, back it up with rsync, edit a file by hand — Papyra watches the folder and picks up whatever changed.

Nothing about your notes depends on Papyra continuing to exist. That is the point.

~/notes/alice/quarterly-review.md
On disk
---
id: quarterly-review
title: Quarterly review
created: 2026-08-12T09:14:22Z
updated: 2026-08-28T16:02:41Z
categories: [work, planning]
pinned: true
---

# Quarterly review

Pull the numbers from [[revenue-model]] before Thursday.

- [x] Draft the summary
- [ ] Ask @dana for the support figures

What you get

Everything, running on your own hardware

Papyra is one Docker container. All of this ships today.

Your notes are ordinary files

Each note is a plain Markdown file with a YAML header, in a folder on your server. Copy it, back it up, or open it in another app — Papyra watches the folder and picks up whatever changed.

Markdown + frontmatter · Atomic writes · Obsidian-compatible

There is no save button

Edits are written a second and a half after you stop typing, and the label above the note tells you the moment they are safely stored. Older versions are kept, so you can scrub back through a note as it was.

Autosave · Snapshots · Time machine · Conflict resolver

It keeps working offline

With the server unreachable, Papyra still opens, still shows your notes and still takes edits. They queue on the device and upload themselves the moment the server is back.

Installable app · Write queue · Automatic replay

Search it, then ask it

Full-text search over every note, plus meaning-based search that finds the note you were thinking of. Then ask a question and get an answer drawn from your own writing, with citations you can open.

Lucene index · Semantic search · Local AI · Cited answers

Share a note, mention a person

Send a link that expires, or share directly with someone on your server. Name a colleague with @ and the block you mentioned them in lands in their inbox. Link notes to each other with double brackets.

Expiring links · Wiki links · Backlinks · @mentions

Yours, and only yours

Every account is sealed inside its own folder. Lock a note behind your fingerprint, sign in through your company identity provider, and let Papyra keep encrypted backups and a git mirror for you.

Passkey vault · SSO · Encrypted backups · Git mirror

Getting started

One file, one command

Save the compose file, run it, open http://localhost:8080. The first account you create is the administrator. The optional Ollama sidecar is what powers semantic search and the assistant locally — leave it out and everything else still works.

Terminal
curl -O https://raw.githubusercontent.com/lyfie-org/papyra/main/docker-compose.hub.yml
docker compose -f docker-compose.hub.yml up -d

# then open http://localhost:8080