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.

  • Nibodhika@lemmy.world
    link
    fedilink
    English
    arrow-up
    25
    ·
    edit-2
    8 months ago

    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)
    • mhz@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      8 months ago

      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@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        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.

    • johntash@eviltoast.org
      link
      fedilink
      English
      arrow-up
      2
      ·
      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.

    • constantokra@lemmy.one
      link
      fedilink
      English
      arrow-up
      2
      ·
      8 months ago

      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.

    • RBG@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      8 months ago

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

        • RBG@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 months ago

          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@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            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.