this post was submitted on 01 Mar 2024
102 points (95.5% liked)

Selfhosted

40438 readers
446 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 30 points 9 months ago (5 children)

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

[–] [email protected] 6 points 9 months ago (1 children)

That. Looks. Incredible!

Thank you so much for sharing!

[–] [email protected] 4 points 9 months ago
[–] [email protected] 5 points 9 months ago

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.

[–] [email protected] 5 points 9 months ago

Third vote for Silverbullet here. I'm really enjoying using it.

load more comments (2 replies)
[–] [email protected] 28 points 9 months ago* (last edited 9 months ago) (8 children)

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)
[–] [email protected] 5 points 9 months ago (1 children)

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

load more comments (1 replies)
[–] [email protected] 3 points 9 months ago

+1 for silverbullet. I have it running and is great

[–] [email protected] 2 points 9 months ago (1 children)

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.

[–] [email protected] 3 points 9 months ago (3 children)

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

load more comments (3 replies)
load more comments (5 replies)
[–] [email protected] 19 points 9 months ago (5 children)

Obsidian + Syncthing is what I’ve settled on. Not perfect, but the best I’ve used.

[–] [email protected] 2 points 9 months ago

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.

load more comments (4 replies)
[–] [email protected] 18 points 9 months ago* (last edited 9 months ago) (1 children)
[–] [email protected] 7 points 9 months ago* (last edited 9 months ago) (1 children)

This is also what I use. It ticks all of OPs boxes, but it might be overkill if you just want notes.

[–] [email protected] 4 points 9 months ago

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.

[–] [email protected] 13 points 9 months ago (1 children)

Nextcloud Notes is pretty good. Btw Joplin has an option for End-to-end encryption.

[–] [email protected] 5 points 9 months ago

I use Nextcloud Notes too. Simple and ok for my usage.

[–] [email protected] 12 points 9 months ago

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.

[–] [email protected] 12 points 9 months ago (1 children)

Obaidian + Syncthing will do the trick.

[–] [email protected] 3 points 9 months ago

Obaidian + Syncthing will do the trick.

This will be my backup plan if nothing else work out.

[–] [email protected] 11 points 9 months ago

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

[–] [email protected] 8 points 9 months ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 8 points 9 months ago (1 children)

Obsidian + obsidian git plugin

load more comments (1 replies)
[–] [email protected] 8 points 9 months ago (2 children)

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.

[–] [email protected] 2 points 9 months ago

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.

load more comments (1 replies)
[–] [email protected] 8 points 9 months ago

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.

[–] [email protected] 7 points 9 months ago

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
[–] [email protected] 6 points 9 months ago

I use obsidian with obsidian-livesync for selfhosting the notes. Works pretty well across linux, macos, ios so far

[–] [email protected] 6 points 9 months ago (1 children)

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.

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago)

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.

[–] [email protected] 6 points 9 months ago* (last edited 9 months ago) (1 children)

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.

[–] [email protected] 3 points 9 months ago

+1 on Logseq and Sync Thing.

[–] [email protected] 5 points 9 months ago

Nextcloud notes. They'll sync as text filed between your devices. You can use markdown, and they have a mobile app.

[–] [email protected] 5 points 9 months ago (7 children)

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.

[–] [email protected] 3 points 9 months ago

I sync obsidian with my self hosted owncloud instance.

load more comments (6 replies)
[–] [email protected] 5 points 9 months ago
[–] [email protected] 5 points 9 months ago* (last edited 9 months ago) (1 children)

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.

load more comments (1 replies)
[–] talentedkiwi 4 points 9 months ago* (last edited 9 months ago)

Lots of good suggestions. I've also used memos, but wasn't a huge fan of how the notes were organized. Solid app and definitely worth a look.

https://github.com/usememos/memos

Edit: I'm holding out hope for when notesnook goes self-hosted.

Edit 2: after looking at my older instance I see they save the notes in a database and is not relevant to your question.

[–] [email protected] 4 points 9 months ago (2 children)

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.

load more comments (2 replies)
[–] [email protected] 4 points 9 months ago

Dokuwiki with markdown plugin, or gollum wiki (or one of its forks) should meet the requirements

[–] [email protected] 3 points 9 months ago
[–] [email protected] 3 points 9 months ago (3 children)
load more comments (3 replies)
[–] [email protected] 3 points 9 months ago

Silverbullet but you have to do your own authentication and TLS

[–] [email protected] 3 points 9 months ago

Obsidian + private GitHub repo hosting

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago) (1 children)

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.

Links for convenience:

https://hackmd.io/#

https://github.com/hackmdio/codimd

[–] [email protected] 2 points 9 months ago

Looks great, I'm definitely checking it this weekend. Thank for the share

[–] [email protected] 3 points 9 months ago

Obsidian without a doubt!

[–] [email protected] 3 points 9 months ago

Yes Joplin encrypts the notes.

[–] [email protected] 3 points 9 months ago

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.

load more comments
view more: next ›