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.
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)
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.
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
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.
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’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
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
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
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.
Third vote for Silverbullet here. I’m really enjoying using it.
That. Looks. Incredible!
Thank you so much for sharing!
It rules
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!
Obsidian + Syncthing is what I’ve settled on. Not perfect, but the best I’ve used.
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.
Another vote for Obsidian. I use it with the remotely-save plugin via WebDav and Nextcloud - completely self-hosted, I haven’t even made an Obsidian account. Sync conflicts are very rare, I’m using it on iOS and four desktops. While I wish it was OSS, nothing I’ve looked at even comes close to the flexibility of Obsidian. I’m using it for daily notes, habit tracking, task lists, and most recently to write a book.
Dokuwiki with markdown plugin, or gollum wiki (or one of its forks) should meet the requirements
Nextcloud notes. They’ll sync as text filed between your devices. You can use markdown, and they have a mobile app.
The closest one I’ve found to what I’m looking for in a note taking app is Obsidian. Really it kind of set the standard of what I need with how efficient it is to use. The only issue is syncing to my phone and tablet. I’m using Nextcloud and so far have only been able to get “read” access on my mobile devices. If I try to create/edit a note it gives me access errors that I haven’t found a way around. This isn’t a huge problem because I mostly reference notes on the devices anyway and am not making changes to them. Mobile note taking is typically done in my physical pocket notebook anyway.
For syncing to multiple devices, I would recommend syncthing. Was pretty easy to set up and haven’t had any issues.
I second this, my dumb-as-bricks setup for syncing obsidian notes is just running a Syncthing instance on a little Raspberry Pi I keep on all the time, and it works like a charm.
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.
Maybe you should try Anytype. It’s Open Source, encrypted, has applications for major OSes, provides synchronization, allows export of documents to Markdown and PDF. Sometimes it’s rough on the edges, but I think it has a potential.
Obsidian without a doubt!
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.