SilverBullet: a self-hosted personal knowledge management system for people with a hacker mindset

zef@lemmy.world to Selfhosted@lemmy.world – 423 points –
SilverBullet
silverbullet.md
82

You are viewing a single comment

Yes, it’s using SQLite under the hood in Online mode and IndexedDB in the browser in Sync mode.

SQLite should be more than enough, I can't find the file on the space folder though, is it created inside the docker container on server startup? Is there a reason not to store it in space so it doesn't need to be regenerated each time?

It’s .silverbullet.db in the root of your space folder. Note that because there’s no schemas in SB, SQLite is used as a fancy key-value store and many queries become somewhat (but not very) optimized table scans. In this SQLite file you’ll see a “kv” table that contains everything.

I feel like facepalming myself to death for having asked such a stupid question before running an ls -a on the folder.

One last question, I've been reading on Plugs because there's one thing that I use regularly that I think doesn't exist and want to know if it would be possible for me to implement, it's called plantuml. Essentially it's a plug that would act on a specific block of code, like the latex one, and would use POST the code to a configurable url, get an image as return and display that instead.

Yes this is doable, with the caveat that I have not invested a lot of time in documenting all the plug APIs etc. You can have a look at the mermaid plug to get a sense of how this can be done, it will be similar except that you — indeed — may end up having to post something to a URL somewhere rather than render the thing on-the-fly with a JavaScript library you load externally: https://github.com/silverbulletmd/silverbullet-mermaid

Actually mermaid seems to be able to do all I'm doing with plantuml and syntax is very similar, might give that a try before since that one would also work in offline mode.