The hunt for a self-hosted notes system
To be honest, I love self-hosting tools. I think it has to do with my love of learning, but I digress. I know there are gobs of note-taking/sharing/synchronizing apps out there, many of them free, but they all lacked features, and I wanted to self-host.
What I Was Looking For
I wanted a note-taking app, with the following capabilities:
- Synchronization across devices
- E2EE (end-to-end encryption)
- Rich media note-taking ability
- Markdown style note-taking
- Image support
- Code highlighting
- Embeddable documents
- Web-based interface
- Desktop and Mobile capable
What I Found
After searching the interwebs for a bit I ran across Trilium and Joplin.
Admittedly, I tried Trilium first, since it boasted a Desktop-and-mobile web platform which got rid of my need for synchronization. But after a few days, I decided to move on. Trilium is an electron-based application, and it just doesn’t work as well in the browser as it does in the app. I decided I’d give Joplin a try (and I’m certainly glad I did!).
Joplin for the Win!
Joplin is pretty much everything I’ve needed for this endeavor. It even comes packed with some extra cool features like the text-based Mermaid diagramming capability. It lacks a web app, but it does have iOS, Android, and Desktop apps, which work really well. Another feature I love is nested notebooks. This allows me to keep a running daily note, in a hierarchically way. See the image below.
Another great feature is the simplicity of sync and encryption. I’ve got a WebDAV server setup which runs over HTTPS and using E2EE, everything stays nice and secure.