Hello everyone, I’d like your recommendations for a note taking app that:
- Can be selfhosted
- Stores the notes as plain text or *.md files, not some SQL database.
- Can use Marddown format.
- Have an android client or at least a mobile optimized web-interface.
- Not a must but it would be nice to have a to-do list option.
I tried:
- Trilium: use an encrypted litesql to store the notes.
- Joplin: does not encrypt the notes, but store them in random named directories, making ot harder finding the notes.
- Logseq: No firefox support, I did not check how it stores itsdatabase.
- Standard note: Needs subscription to selfhost or to even use markdown format, otherwise it is a heavy text editor.
- Memos: does not store plain files, instead uses a (sqlite probably) database even when setting local filesystem as current object storage.
- CodiMD: use database to store its notes
- Hedgedoc: the same as above
- Silverbulet.md: This is what I will end up using if Obsidian + syncthing was not for me,It is minimal without losing much features and can be enhanced with plug-ins. . It does need a bit of getting used to and it does not have an android app but can it can be run as PWA that runs offline. The only downside is it does clutter your note directory with a bunch of dot files (if you decided to install plug-ins).
The closest I found so far is Obsidian, which:
- Unfortunately, does not have any selfhosting option.
- Have a client app on every platform and store.
- Can use a custom directory to store it database as plain text files, which can be a network mounted directory (on my laptop/desktop) or a directory on my android phone that i will have to keep synchronized using a third party app.
- I used “Remotely Save by fyears” which allows you to synchronize local obsidian note directory with a cloud directory (onedrive, dropbox, webdav…), It requires webdav for self-hosted options, kinda forcing you to use a 3th party service to run a 3rd party plug-in so you can use Obsidian with your home server directory. On top of that It can only use a folder on the root of the webdave server (say /notes instead of /documents/notes).
- I used syncthing initially to sync my Notes directory but I ended up using it to keep a buch of directories in sync across all my devices. Leaving you to use whatever app you like on any device, not just Obsidian.
Edit: March-2nd: added memos, codimd, hedgedoc Edit: March-9th, It has been a busy week and I could not do much. I added silverbullet and both syncthing adn remotly-save for obsidian. I’m using now Silverbullet and Obsidian+syncthing until I decide on one. Thank you everyone who helped me choosing.
I write nearly everything in markdown. Like you, I don’t want databases, or other barriers that will complicate portability.
I just use my text editor of choice, usually VSCodium or vim on the desktop, and Syncthing to keep the notes synced across all of our devices.
On Android, I’ve been happily using the Markor markdown editor for years. I’ve tried several others but always return to its simplicity.
All of the above editors support opening folders in a tree view, so you can easily keep your notes sorted under a traditional folder structure and find what you when you need it.
Edit: Forgot to mention that Markor does have a dedicated to-do feature too, which also uses markdown.
Thank you for your reply, I do host a vscode instance to keep for my python learning. I will fall to that (with markor) if nothing else works.
You’re very welcome. For Markor, I wasn’t a fan of the default viewer theme, which is how I view most notes when on mobile, so I made some tweaks to improve its appearance…below is a screenshot:
If you want something similar, add the following under Settings > View mode:
And replace the
<style>...</style>
block under theinject -> head
pop-up with the following CSS:<style> html, body { font-family: sans-serif-condensed; font-size: 110%; background: #0d1117; color: #c9d1d9; margin: 0; padding: 0.5em; } a { color: 58a6ff; text-decoration: none; } h1, h2, h3, h4 { padding-bottom: 0.25em; border-bottom: 2px solid #222934; } hr { border: 2px solid #222934; } pre, code { color: #b5a5ee; } </style>
Thank you for the tips about enhancing the UI, I appreciate it.