2 apps Bear
Joplin screenshot thumbnail

Joplin

Notes on Windows, macOS, Linux, Android, iOS, and the terminal, synced through your own server: Joplin pairs its open-source clients with Joplin Server, the official self-hosted backend that replaces Dropbox, OneDrive, or Nextcloud as the synchronization target. Notes are Markdown with inline attachments (images, PDFs, audio), organized into hierarchical notebooks and sub-notebooks with cross-cutting tags, alongside to-do lists with reminders and alarms. End-to-end encryption is the headline feature: enabled in the clients, it encrypts sync payloads on-device before upload, so the server stores blobs it cannot read - genuine protection even if the host is compromised. The desktop app offers both Rich Text and Markdown editors, extended by a plugin ecosystem, custom themes, and an Extension API for writing your own scripts; a Web Clipper for Chrome and Firefox captures full pages or screenshots straight into notebooks. Joplin Server ships as a Docker image with SQLite for evaluation and PostgreSQL for production, offers a filesystem storage driver for large content, and includes multi-user support and note sharing - all free under AGPL-3.0 when self-hosted. Notes stay in an open format, so the exit path always exists.

Deploy
ZenNotes screenshot thumbnail

ZenNotes

With over 2,200 GitHub stars and a philosophy that your notes should be files you own rather than rows in a database, ZenNotes is the keyboard-first Markdown editor that runs as a self-hosted web app backed by a Go server accessible from any browser on your network. Every note is a plain .md file in a vault directory you mount, with zero proprietary lock-in. Modal editing with real Vim motions, leader-key flows, and a command palette keeps your hands on the keyboard through edit, split, and preview modes. The rendering engine handles KaTeX math, Mermaid diagrams, TikZ graphics, and JSXGraph plots directly from Markdown syntax alongside wiki links and callout blocks. A first-party MCP server ships in the box with one-click integration for Claude Desktop and Cursor, letting AI assistants read and write the same Markdown files on disk without sync layers or duplicate copies. The bundled zen CLI provides note creation, search, tagging, task toggling, and piped capture with JSON output for shell scripting. Board views render plain CSV files as Kanban columns. Daily notes, quick capture, archive, and trash round out the vault workflow. The Go backend serves the browser frontend on port 7878 with token-based authentication, configurable browse roots, TLS proxy support, and file permission hardening at 0600/0700 defaults. Deploy via the multi-arch Docker image for linux/amd64 and linux/arm64. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.

Deploy