Silverbullet packaged for Yunohost to easily self-host it

Hello there :wave: !

I discovered Silverbullet lately and took the opportunity to package it for Yunohost.

Yunohost is a Debian-based operating-system meant to ease and democratize the installation and administration of self-hosted web applications (including upgrades, backup and restorations, etc.). Also it’s Free/Libre/Open-Source.

Also regarding the Silverbullet package:

When installing it, you are asked to questions:

  • the domain on which you install the app (you must create a dedicated domain, usually a sub-domain of your main one);
  • who is the administrator of the app: this is the Yunohost user who should use the app;

Note: as of today (2024-03-13), the package is fresh new, it is still marked as broken. In fast, that’s because the CI has not run to rate the app. You may install it anyway (it should work) or wait a few weeks.

Enjoy!

3 Likes

If you want to know more about Yunohost: https://yunohost.org

If you want to install it, you may follow this guide: Install YunoHost | Yunohost Documentation

(PS: I circumvent the limitations of 2 links per post, Yunohost is a community driven project, I hope it’s not a problem)

This is super cool. Thanks for doing this!

1 Like

Thanks a lot, very cool! I just installed it and it works perfectly!

As a Yunohost user, thank you! I hope I can try it soon :slight_smile:

Update: ARM64 architecture now supported for Yunohost since version 0.8.1~ynh1 !

1 Like

Thank you for creating this. I discovered SB because you created the YunoHost install.

I have a question though. I found where the files are stored in the server on Yuno, but I want to synchronize md files from my LogSeq files to SB on the server. Currently, the Notes folder does not have read or write permissions and I am wondering if there is risk to enabling that for an ftp user so that I can synchronize them back and forth.

You may do that, but the trickiest part is that the rights will be reset after each upgrade.

You may hack something using the Yunohost Hooks and/or you may also change the SB_FOLDER env variable to your sftp folder with the rights correctly set (the package sets a default value for it but you may override it in /home/yunohost.app/silverbullet/custom.env)

Thanks so much for the reply and ideas about how to do it.

I did add the following to the file custom.env here: /home/yunohost.app/silverbullet/

# Here you can define your custom env variables
SB_FOLDER="/home/ftpsbnotes/sbnotes"

When I create a new file in the SB interface though, it is still going to the original Notes folder rather than the new one I created.

Am I missing something else I need to do to make this work? Restart the server?

Normally restarting the service should be enough:

systemctl restart silverbullet
1 Like

Unfortunately, when I changed the path as outlined above, it started throwing a 502 bad gateway error. After I removed the path and restarted, it worked again. Not sure if permissions issue or what. Just would prefer a sync that doesn’t require me to use github for my data and change my Logseq processes.

Hi,

Thank you so much fflorent for porting SilverBullet to Yunohost and for updating the package so quickly!

It’s a tiny detail: I think there’s a typo with the link (which doesn’t appear as such) on this message.

image

1 Like

Oh, you mean this should be [PLUGS](https://silver.[...]/PLUGS)? I am fixing that.

1 Like

Hey @fflorent, thank you for putting in the time and effort! I just setup my own Silverbullet instance using Yunohost!
However, I struggled, getting the latest concepts to work and when I checked I’ve found, that the installed version is 0.10.4~ynh1 (which should be the latest release).

My weird behaviour happens when I try to update libraries.
Clicking on the link, I receive the error: “Could not load page !officialURL/Libraries: Failed to fetch” and the URL changes to https://my.url.com/!silverbullet.md/Libraries

I can’t compare to the original SETTINGS file, since it appears empty to me. On the other hand my CONFIG file is empty, while the silverbullet one has content.
I also checked the meta tags that is a short list on my instance


while on the official page it is rather big (and the filtering looks different (pin vs. tag)).

While compiling this post, I also checked my yunohost.app/silverbullet/notes/ folder and found that I am lacking many files I would expect (like Library/Std/) I am only able to find SETTINGS and index.
I am really lost here - is this normal behaviour? I haven’t found a comprehensive source of documentation unfortunately, therefore I reach out to you (oh and to @zef of course :slight_smile:

Happy Easter!

P.S.: I would have loved to put in more links to make your life easier, but apparently as a new user, I am not allowed to add more than two links.

P.S.2: I tried to populate my Library/Std/ folder by manually creating the files (like Quick Note), but failed due to the read-only restriction.

Thanks for your feedback @razortide!

I have nether had such a /home/yunohost.app/silverbullet/notes/Library/std folder in my instance. However there exists a .../Library/Core folder.

I faced some issues when trying setting up a new Silverbullet instance. I know that @zef has migrated the website for v1 to v1.silverbullet.md, and I had to replace all the occurrences of silverbullet.md present under /home/yunohost.app/silverbullet/notes to v1.silverbullet.md.

/home/yunohost.app/silverbullet/notes/index.md:![[!v1.silverbullet.md/Getting Started]]
/home/yunohost.app/silverbullet/notes/SETTINGS.md:This page contains some configuration overrides for SilverBullet. A list of configs and their documentation [[!v1.silverbullet.md/SETTINGS|can be found here]].
/home/yunohost.app/silverbullet/notes/SETTINGS.md:To update the [[!v1.silverbullet.md/Libraries|libraries]] specified below, run {[Libraries: Update]}
/home/yunohost.app/silverbullet/notes/SETTINGS.md:- import: "[[!v1.silverbullet.md/Library/Core/*]]"

Does it work better after this change?

Hey @fflorent,

thank you for your fast answer. I am a bit confused - what do I need to do to apply that change? Creating a new Silverbullet instance or is or something else?

Thank you!

just replace the content of the markdown files on the filesystem using SSH, or through your browser.

I suspect the changes made by Zef as he announced in this post introduced a regression for all the Silverbullet instances (as described in my post below his message).

Gotcha! It works, as far as I can see! Any plans do update to V2?

The V2 is not official yet, so not until then.