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
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.
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.
Is there any android client rather than using the web-interface that firefox wont let me connect to remotely without a valid certificat.
No, I use the PWA, i.e. access the page on your phone and as long as it's https it will prompt you to install it. Personally I just used a tailscale network to get past the https authorisation, this also allows me to access it outside of my house so win-win
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.
Didn't understood, this is just a markdown file, you can just type things, no need to have buttons to add text.
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.
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"?
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
It's not exactly what I think you're looking for, but depending on what you are trying to do, maybe look at hackmd/codimd.
It's more like Google docs meets markdown formatting. It's goal is realtime collaboration but I've definitely used it for syncing todo lists with people.
Codimd is the self hostable version.
Oh, and I think there is a way to have it sync with a GitHub repo too, in case that is useful.
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.
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.
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:
Open existing files in view mode: on (this may be default)
Link color: #71aaff
And replace the `` block under the inject -> head pop-up with the following CSS:
For standard notes, its got an auto-export plaintext file option on desktop. Were you wanting two-way editing of plaintext? (e.g. Auto export and import)