Notabula is a self-hosted, multi-user notes app modeled on iOS Notes — live editing, folders, and checklists, installable as an app on any device. Your notes live on your own server, and they're never locked in.
Most notes apps hold your writing hostage in someone else's cloud. Notabula keeps every note on infrastructure you run — and makes leaving as easy as staying.
Every note is stored in your own PostgreSQL database, on hardware you control. No cloud account, no data mining, no one reading over your shoulder.
Export everything as a zip — plain text, images, and lossless JSON — and import it back anytime. Nightly server-side backups and a one-click admin restore.
Read everywhere offline. Edits and new notes queue on your device and sync the moment the connection returns — no lost thoughts.
Lock any note with a passphrase. It's encrypted on your device (PBKDF2 → AES-GCM) so the server only ever stores ciphertext — unreadable even to you without the key.
Modeled on iOS Notes, with the polish you expect — and a few things it never had.
Bold, headings, lists, checklists, quotes, and inline images render live — raw markup is never shown.
Nested folders, #hashtag tags with autocomplete, pinning, and full-text search across everything.
Media, Links, Open Tasks, Locked, and Last 7 Days surface the right notes automatically.
Any URL in any note unfurls into a title, description, and image card.
Share notes or folders as viewer or editor, or mint a secret "anyone with the link" link.
A word-level redline of every change, with one-click restore to any earlier version.
Client-side AES-GCM encryption — the server stores only ciphertext it can't read.
Full zip export and import, nightly backups, and an admin one-click restore.
Username and password with long-lived sessions and optional TOTP two-factor.
Notes are private to you unless you deliberately share them. Lock the sensitive ones and even the server can't read them. Add TOTP two-factor to your account, and everything runs behind your own login, on your own machine.
No third-party analytics, no ads, no tracking — just your notes, where you put them.
You need Docker with Compose. The database schema is created and upgraded automatically on startup.
Copy the env files and set a database password and secret key.
Install dependencies and build the front end once.
One compose command and you're live on port 8200.
Open http://<host>:8200 — the first account you register becomes the admin. Deploy to a NAS with prebuilt images via DEPLOY.md.