Introduction
SilverBullet is a self-hosted note-taking and personal knowledge management application. It stores everything as plain Markdown files while adding powerful features like live queries, Lua scripting, and a rich plugin ecosystem on top.
What SilverBullet Does
- Edit Markdown notes with a WYSIWYG-style editor in the browser
- Query and aggregate data across notes using live query blocks
- Extend functionality with Lua scripts that run on pages
- Manage tasks, journals, and templates with built-in primitives
- Sync notes across devices via standard file sync tools
Architecture Overview
SilverBullet is written in TypeScript with a Deno-based backend. Notes are stored as plain Markdown files in a directory called a Space. The server watches for filesystem changes and indexes metadata into an in-memory database for queries. A service worker enables offline editing.
Self-Hosting & Configuration
- Deploy via Docker or install Deno and run directly
- Point the space directory to any folder of Markdown files
- Set basic auth credentials via environment variables
- Works behind a reverse proxy with Caddy or Nginx for HTTPS
- Backups are as simple as copying the Markdown files
Key Features
- Offline-first: service worker caches the app and syncs when online
- Live query language for pulling structured data from pages
- Lua-based scripting for custom page transformations and automation
- Keyboard-driven command palette for fast navigation
- Pluggable architecture with community plugins for calendars, feeds, and AI
Comparison with Similar Tools
- Obsidian — desktop-first with a vault model; SilverBullet is browser-based and self-hosted
- Logseq — outliner-focused; SilverBullet uses long-form Markdown with live queries
- Trilium Notes — hierarchical tree structure; SilverBullet is flat-file and scriptable
- Wiki.js — team wiki with database backend; SilverBullet targets personal use with plain files
FAQ
Q: Are notes stored in a database? A: No. All notes are plain Markdown files on disk that you can read with any text editor.
Q: Can I use it offline? A: Yes. A service worker caches the app and your notes for offline access, syncing when connectivity returns.
Q: Does it support plugins? A: Yes. Plugins are installed by adding them to the PLUGS page in your space.
Q: How do live queries work? A: You write query blocks in Markdown that pull data from page metadata, tasks, or tags and render results inline.