Notesnook

Private, end-to-end encrypted note-taking app

Notes & Knowledge Base ★ 14.6k stars Medium setup GPL-3.0

Notesnook is an open-source, privacy-focused note-taking app with end-to-end encryption on all notes. Its sync server can be self-hosted so users keep complete control of their encrypted data.

Key features

  • End-to-end encrypted notes
  • Self-hostable sync server
  • Rich text editor
  • Cross-platform apps

Pros & cons

Strengths

  • Strong privacy by default
  • Polished apps on all platforms

Trade-offs

  • Self-hosting is relatively new
  • Some features tied to subscription

Notesnook replaces

Last reviewed Aug 26, 2026 · 819 words

Self-hosting Notesnook means running six containers to sync one app: an identity server, a sync server, a server-sent-events relay, a public-sharing (Monograph) server, a MongoDB replica set, and an S3-compatible store for attachments. That is more infrastructure than any other note app in the notes category asks for, and it is the fair price of what Notesnook does differently. Every note is encrypted on the device with a key derived from your password before it leaves; the server, and therefore you as its operator, only ever stores ciphertext. Joplin does end-to-end encryption too, but Notesnook ships polished native apps on every platform and treats encryption as the only mode rather than an option. With 14,470 stars and a GPL-3.0 license, it is the strongest privacy story in self-hosted notes, and the most work to own.

The pieces and their ports

The official docker-compose.yml in the server directory of the repository wires up the identity server on 8264, the sync server on 5264, the SSE server on 7264, and the Monograph server on 6264, with MongoDB and MinIO alongside. The identity server handles accounts and tokens; the sync server stores encrypted note blobs; the SSE server pushes "something changed" to open clients so sync feels instant; Monograph renders notes you deliberately publish as public pages. Attachments (images, files) go straight to the S3 bucket as encrypted objects, which is why MinIO is in the stack. Each of the four services needs to be reachable by the client apps, so behind a reverse proxy you end up with four hostnames or four paths, plus a fifth if you expose MinIO for attachment downloads.

The environment that matters

A handful of values in the .env file decide whether it works: INSTANCE_NAME, a strong NOTESNOOK_API_SECRET, DISABLE_SIGNUPS (set it to true after you register), SMTP settings for account verification and two-factor emails, and the S3 endpoint, bucket, and credentials. Get SMTP working before creating an account, because the client expects a confirmation email and the identity server refuses some flows until the address is verified. Then in the desktop or mobile app, go to Settings, then Servers, and enter the four URLs before logging in. The app stores them per device, so every phone and laptop needs the same entry once.

What the encryption changes for you as the operator

You cannot reset a forgotten password. There is no admin panel to look inside a user's notes, no server-side search, no export from the database. Backups are simple and useless without the password: dump MongoDB and copy the S3 bucket, and you have restored ciphertext. The recovery key each account generates at signup is the only way back in; write it on paper. This is the correct design for the goal, and it means the operational discipline is different from a Nextcloud-style app where the admin is God. If a household member loses both password and recovery key, their notes are gone, and no amount of root access changes that.

Where it beats Joplin and Trilium, and where it does not

Against Joplin: Notesnook's apps are faster and better looking, mobile editing is far more pleasant, and encryption cannot be accidentally left off. Joplin, in return, syncs over WebDAV or S3 with no dedicated server at all, has a plugin ecosystem, and stores Markdown you can read with any editor. Against Trilium: Trilium is a deeply hierarchical knowledge base with scripting and a single container; Notesnook is a notebook and tag system with no server-side smarts by design. The Joplin versus Trilium comparison is the right read if the encryption requirement is negotiable, because both of them are a fraction of the hosting effort.

The subscription question

Notesnook the company sells a Pro subscription on its hosted service that gates things like unlimited notebooks and larger attachments. On a self-hosted server the picture has changed over time as the self-hosting support matured, and the project's own documentation is the authority on which features are enabled for accounts on a custom server; check it before assuming everything is included. Self-hosting itself is genuinely new for the project, and the release notes have included breaking changes to the server setup, so pin image tags and read them before pulling.

What I'd do

If you currently pay for Evernote or keep sensitive notes in Notion and want them encrypted on your own hardware, run the official compose on a 2 GB VPS behind a reverse proxy with four hostnames, MinIO local, signups disabled after day one, MongoDB dumped nightly, recovery keys printed. Migrate with the importer tool. If you do not need zero-knowledge encryption, run Joplin against a WebDAV share and spend the saved evening elsewhere.

Compare Notesnook

38 head-to-head comparisons.

Similar notes & knowledge base apps