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

Selfhosted

40229 readers
1200 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 1 year 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.

you are viewing a single comment's thread
view the rest of the comments
[–] Nibodhika 28 points 8 months ago* (last edited 8 months ago) (5 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 8 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

[–] Nibodhika 1 points 8 months ago

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.

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

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

[–] [email protected] 2 points 8 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.

[–] Nibodhika 3 points 8 months ago (1 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

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

Wow, I asked the right person. Thanks for the info!

[–] Nibodhika 2 points 8 months ago (1 children)

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.

[–] [email protected] 1 points 8 months ago

I should probably figure out discord one of these days. Thanks for letting me know that's where to go for this project.

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

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.

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

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"?

[–] Nibodhika 2 points 8 months ago (1 children)

Only things served via https can be installed on Android.

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

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?

[–] Nibodhika 1 points 8 months ago

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.