Read-only instance only updating in "sync" mode

I maintain a public-facing copy of my space to share my notes with others over the internet, and I’m trying to migrate to a simple “read-only” instance similar to https://silverbullet.md

The problem that I’m encountering is that when I push changes to the site (add new files to the sb space folder), the read-only SB instance doesn’t update. If I switch from “online” mode to “sync” mode, then the changes appear, but they disappear again if I switch back to “online” mode.

Is this the intended behavior? I noticed that https://silverbullet.md operates in online mode by default, so maybe I’m just doing something wrong. I’d prefer not to have to use “sync” mode because the people accessing my site are not SB users and find the long initial “sync” process confusing and annoying.

Do you use a second “admin” instance of SilverBullet to make your changes? Do they share the same space?

SB creates a database in the root of the space. If two instances share this db it will lead to conflicts.

No, I am not pointing multiple sb instances to the same space. My “read-only” instance is running on my raspberry pi and my “read-write” instance is running on my local device. I have a git repository for my space, and when I want to update the “read-only” version I push to the repo cloned on my pi where a git hook takes over and copies the changes from the repo to the space folder.

My setup is inspired by this blog post: here

That said, I’m open to changing my setup if necessary since it’s not quite working the way I want.

You can automate the syncing by following the guide at Backup your space to Github

And SilverBullet has the permission required to access the files?

Yes, this is a limitation of read-only mode right now. It indexes your space only upon boot, then it switches all syscalls to read-only mode only and no changes are picked up. What I do on silverbullet.md is to restart the instance on every content update, this takes a little time, but it works.

I see. For my specific use-case I need to update the read-only site very often (multiple times a day). I suppose I could use a git hook or cron job to just rebuild the whole docker container (I’m using docker). Is that the best way, or is there a more convenient/faster method of triggering a restart of the instance?

I would imagine a simple docker restart of the container would be sufficient.

1 Like