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’ve fallen deep down the Silverbullet rabbit hole. Self hosted markdown editor but with built in dataview style querying (if you used Obsidian that will be familiar), accessible cross platform and with a progressive web app, and basically endlessly extendable with a scripting language. Really really enjoying it and it’s made me finally move from Obsidian, which I used to evangelize (and pay for the premium sync features). Definitely check it out. Silverbullet.md
That. Looks. Incredible!
Thank you so much for sharing!
It rules
Third vote for Silverbullet here. I’m really enjoying using it.
I’m also on Silverbullet, and from OP’s description it sounds like it could be a good fit. I don’t use any of the fancy template stuff - just a bunch of md files in a directory with links between them.
I hosted it on my home server. It is great for sure, I will need to look into it enhancing its experience with plugins. Any idea about the PWA and how to use it? someone else here mentioned it it is a feature I’d like to have.
So on iOS it’s a matter of clicking the share button on Safari and selecting “add to homepage”. I think it’s similar on Android but I can’t confirm.
You sound like me from last month. I strongly recommend silverbullet, check it out on https://silverbullet.md
- Can be selfhosted
Check, even has a simple docker compose
- Stores the notes as plain text or *.md files, not some SQL database.
Check, it does have an SQL database, but it’s used for queries, you can even copy or modify MD files at will
- Can use Marddown format.
Check, it’s a superset of markdown that includes queries for cool stuff like create tables that group data from other pages
- Have an android client or at least a mobile optimized web-interface.
Check, it has a PWA that works offline and syncs when back online. Note that this means that all files will be on your device if you use it like that, but that’s expected.
- Not a must but it would be nice to have a to-do list option.
Check, like I mentioned you can query all tasks on all pages and even do filters based on several factors, like where the task is defined or extra attributes that you set to them, e.g. priority.
Edit: bonus points:
- The main developer is active here https://lemmy.world/post/11816898
- Also he’s very active on discord and always answering questions
- Easily extensible with plugins and simple JavaScript functions, e.g. very easy to write a function to import a section of a page
- You can have multiple instances in sync with syncthing (just exclude the databases from syncing)
PWA that works offline and syncs when back online. Note that this means that all files will be on your device
Someone else mentioned Silverbullet, I hosted on my home server and it looks promising, here are a few thing I will need to explore:
- The PWA sound like a feature I was hoping, i will need to check it out
- Is there any android client rather than using the web-interface that firefox wont let me connect to remotely without a valid certificat.
- While it looks easy to use markup language using
/
, I’m wondering is there is a plugin that add a tool bar or a client app that does have it.
Thank you for your comment
+1 for silverbullet. I have it running and is great
Is there a way to embed portions of one page into another page, such that if you edit it on either the change shows up on both, like in logseq?
The documentation is actually pretty good, but i’ve not been able to find that feature, if it exists. That’s probably the last thing keeping me on logseq.
Yes, but you need to hack your way around it, here’s an issue on GitHub explaining how to do it with my own solution there in comments. https://github.com/silverbulletmd/silverbullet/issues/338
Wow, I asked the right person. Thanks for the info!
Hahaha, I had that exact doubt and asked on the discord and the main Dev sent me that issue. I strongly recommend joining the Discord, it’s very active and sometimes there are interesting things there.
I should probably figure out discord one of these days. Thanks for letting me know that’s where to go for this project.
Another +1 for silverbullet from me too. I was skeptical about only having a PWA for mobile access, but it actually works really well.
It’s open source, so somewhat more customizable than obsidian since you can see the inner workings of it. There aren’t too many active community plugins yet, but there is a relatively new concept of ‘Space Scripts’ where you can write simple functions/commands directly in a note (markdown file) to extend silverbullet without even needing to write a real plugin. That’s been an amazing addition for me.
Check, it has a PWA that works offline and syncs when back online.
I am either an idiot or that is not working for me on my android phone. I have used PWAs before and I remember you can use them by tapping the “install” in the browser menu.
I installed Silverbullet via docker on my rpi4, but when I connect to it my browsers do not give me the option to install it as a PWA. I tried Mull, DuckDuckGo browser and even (gah!) Chrome.
I can only put a shortcut on my home screen, but that then goes to the IP of my rpi4 and when I am not online I cannot reach it.
Do I need to configure something that I forgot or is the shortcut on the home screen the “PWA”?
Only things served via https can be installed on Android.
Ah dang, had no idea. I see there’s instructions on how to make silver bullet accessible via internet through https. But I only need this locally in my home WiFi, not connected to outside internet. Is there an easy way to enable https for it without exposing it outside my home WiFi?
I use tailscale, that allows me to access it remotely securely and gets https. If you don’t want to do that it’s hard but doable to emit your own certificates, but the tailscale approach is a lot more simple.
Nextcloud with the “Notes” plugin and app.
https://nextcloud.com/blog/nextcloud-notes-secure-note-taking-integrated/
This is also what I use. It ticks all of OPs boxes, but it might be overkill if you just want notes.
Actually, nextcloud is what introduced me to the markdown format. Hiwever, i found myself using NC for its note app only, hence i’m looking for a lightweight alternative.
Obsidian + Syncthing is what I’ve settled on. Not perfect, but the best I’ve used.
I’ve used this for more than a year and can confirm it works really well.
This is what I’m using and it’s perfect for my use case. Tried more elaborate setups and it just wasn’t worth it. I also use it with my household over LAN.
Same combo, can use it on android (and probably iOS), windows, linux; the plugins really extend Obsidian’s abilities.
Can not really use on iOS unfortunately. iOS is awful about allowing other apps to sync in the background.
I do with Mobius and it’s usable. I have a Synology NAS always there at home to sync to though. (Mobius syncs 1-2 hours per day in the background but it’s dynamic and not predictable thanks to Apple).
If I didn’t syncing between iOS devices would probably not work very well.
Yes instant syncing with iOS requires you to open the app if you can’t wait. I’ll often open Mobius if I’m working back and forth to make sure it syncs instantly.
Nextcloud Notes is pretty good. Btw Joplin has an option for End-to-end encryption.
I use Nextcloud Notes too. Simple and ok for my usage.
I use Obsidian, you have mentioned it and it’s not self hosted, but for me that depends on how you look at it. I use it in a folder that’s synced to Nextcloud, so I consider the data self hosted markdown files. The viewer, i.e. the Obsidian app is not self hosted, but I consider that just a client used to view the data so it doesn’t really bother me.
I’m self-hosting Obsidian as described below and it works really well. The syncing happens automatically in the background and I rarely encounter conflicts. I’d highly recommend it! https://avidandrew.com/elevate-your-note-taking-with-obsidian.html
Obaidian + Syncthing will do the trick.
Obaidian + Syncthing will do the trick.
This will be my backup plan if nothing else work out.
Logseq has an Android app and clients for the usual desktop platforms. It stores as .md files. It meets your requirements. I’m not sure why you’re focused on Firefox support?
One I have my eye on is Silverbullet.md. the creator recently promoted it here and it has some nice ideas. It’s a web app that you self host. Behind the scenes everything is stored in .md files.
I’m getting a bit concerned with logseq. It’s just kind of backwards to have a web app packaged as a desktop/android app that can be hosted on a server, but you can’t store your files there. I get that they want to monetize sync, but they’re kind of bending over backwards here to not have what’s inherently a pretty reasonable feature in a web based app, and it makes me concerned about what they’re going to do with the project in the future.
Sucks that it doesn’t have any authentication or TLS support
I use logseq. It has an Android app, and also desktop app (the latter being more complex). Also, it’s plain markdown.
But you have to sync the different devices yourself and be careful not to run two instances at the same time.
Yep logseq + syncthing
I already replied to a different thread, but figured I’d comment on some of the other options too. My vote is for Silverbullet, but I’ve tried way too many note taking tools.
- Joplin: I ran into multiple syncing issues that caused data loss and large numbers of conflicted files. I’m pretty sure these were all fixed a long time ago, but it was annoying. The dev was always good about fixing issues when they came up. It takes forever to sync on my devices and only syncs while the app is open with the screen on. The format it exports markdown files in isn’t standard, so I had to write my own scripts to export from joplin to markdown and preserve metadata.
- Standard Notes: I was willing to pay for this, but it’s extremely slow. Their support said it’s because it loads everything into memory, which I’d expect to be terrible on mobile with large databases. It’s also pretty limited in what you can do on the free self-hosted version.
- Obsidian: I really like obsidian’s ui/ux, and my only complaint is that it’s not OSS. I’d even be happy if they offered a self-hosted sync solution. There are some third party solutions for syncing, but they aren’t as smooth as the paid sync.
- Trillium: I love Trillium. I would vote for it, but it recently entered into maintenance mode. The community is working to start a new fork and I’m sure it will be great, but it’s too new to know where things will go yet. Trilium lets you encrypt specific notes and also has a cool plugin system where the plugin scripts are just notes in the database. It does have a mobile interface, but it’s a bit limited compared to the desktop interface and also doesn’t have an option to sync notes to use offline.
- Silverbullet: My current choice. I use it between windows, macos, and an android phone. I leave all three clients on sync mode all the time. The interface is minimalistic, but offers everything I need for notes and documentation so far. One of the rare “markdown” tools that actually save your content to markdown files and not to a database with the ability to export to markdown. It also has a cool feature built in where it indexes all of your notes/tasks/paragraphs and lets you build queries around them sort of like the dataview plugin for obsidian.
- Emacs: I haven’t seen emacs mentioned yet, but emacs+org-mode is still great. The mobile apps just don’t live up to the desktop experience, and you’d still have to figure out how to sync your notes yourself. Logseq’s outliner format is a similar feel afaict
Logseq actually does not need to be run in a browser, there are apps for every system. It does not have any sync server to host though (so far) so you have to use syncthing or something to have your notes available between devices. It does store notes in .md format with clearly labelled names so you always have access to them.
It does have a learning curve and android apps still do have some bugs to iron out, but I started to really like it and use it as my bullet journal.
The whole system of linking notes and even singular text blocks works really well in my mind. I can write a quick note about my health in today’s journal file and tag it with #health and when I go to the health file it shows every mention of that tag from everywhere.
+1 on Logseq and Sync Thing.
Obsidian is my favorite thus far. It sucks at checklists/Todo though. So I use Quillpad as a shopping list keeper and Tasks.org as my task management/Todo, both syncing to my self hosted Nextcloud instance.
I’m still on Obsidian Sync because I couldn’t get Syncthing to work reliably, but that was very early in my selfhosting journey, so I will try again.
I sync obsidian with my self hosted owncloud instance.
Self hosted obsidian live sync eorks very well. I use it on 3 devices each with a different OS. Super fast and responsive. I can see text appear almost as fast as Google docs when types on one device and watched from another.
I know obsidian itself is not FOSD but the files are markdown and you can easily back them up with your existing backup setup (seafile for me) and then open up the plain md files if needed for some reason
I’ll give it a go. The plain md files is exactly why I went with Obsidian in the first place. I just haven’t found a FOSS alternative that I like as much. Closest is Acreom but it’s not yet open source, on the roadmap though.
Coming back to this, I just realized I have Seafile syncing my Obsidian vault already. I know you said you’re using it for Backup, but have you tried to use it as the only sync solution for Obsidian? I like it so much because of how fast it is, so if it works well, I may just do that once my membership expires.
Seafile doesn’t have 2 way sync on android. Would probably work well enough for sync between two computers
How incredibly timely!
I’ll have to give it a go with a copy of my vault.
Oh wow, direct obsidian seafile sync sounds amazing.
It bypasses the android sync app and just syncs to the server directly! This is brilliant!
Main issue with live sync is if you have multiple users you need multiple sync servers. This will allow all your seafile users to sync right away which us amazing!
For the past many years I’ve simply synced my notes across devices (originally from webDAV, currently Syncthing) and open them with my favourite Markdown editor for each platform. On my android phone it’s Markor, and Marktext on desktop.
I’ve tried so many note taking apps but especially Joplin’s weird renaming of my files cooled my enthusiasm for One App To Rule Them All. I do understand the attraction of it, I just prefer a simple setup where I’m not bound by any developer (team)’s whims.
I just prefer a simple setup where I’m not bound by any developer (team)’s whims.
This is my concern, if anything goes wrong with my favorite app I would just move on to another without much fuss.
Honestly I just have a directory with markdown files I sync between my devices using syncthing.
For editing on pc I use neovim and for editing on phone I use markor.
This. This is the answer.
Directory with markdown files and syncthing.
Use whatever editors on whatever device.