SilverBullet replaces note apps like Roam Research with an open-source, self-hosted Markdown workspace powered by dynamic queries and embedded Space Lua.
Dutch computer scientist Zef Hemel built SilverBullet to treat personal notes as an extensible database rather than a locked vendor silo. Rooted in standard Markdown files on your own storage, it delivers an uncluttered web notebook powered by live queries and custom scripts.
Roam Research popularized networked thought by turning every bullet into an addressable node in a proprietary cloud graph, charging ongoing subscriptions. SilverBullet matches that linking workflow with bi-directional references and automated task queries, but organizes content into standard Markdown documents rather than nested outliner blocks. Non-technical writers get a familiar document interface that reads like a clean digital notebook, though they miss Roam's drag-and-drop block references and polished native mobile apps.
The practical divide is data ownership and hosting. Roam stores notes in a closed database that demands manual exports to escape. SilverBullet saves every page as a standard text file on your drive, making library backups as simple as copying a directory. That autonomy requires self-hosting: you must maintain a lightweight container or personal server, whereas Roam handles operations behind an email login.
How does SilverBullet compare to Roam Research? Roam is a paid cloud outliner built around block nodes. SilverBullet is an open-source, document-based Markdown workspace that runs on your own hardware with no recurring fees.
Is SilverBullet free for commercial use? Yes, the software is fully open-source with no license fees or feature gates.
Can I use SilverBullet on a phone? Yes, you can access your instance through any mobile browser or install it as a progressive web app on your home screen.
SilverBullet suits individuals who value total data ownership and can manage a lightweight personal server, but it is not built for teams needing simultaneous collaborative editing. Active commits through September 2026 and an unrestrictive MIT license that lets you audit or modify the code freely make it a reliable home for long-term personal knowledge.
We started this exact setup from scratch in a clean Linux machine on Nov 2, 2026 and checked it through SilverBullet's own API: every check passed. Recipes are re-checked regularly and removed if they stop working.
mkdir -p silverbullet && cd silverbullet
curl -fsSL https://open-source.store/tools/silverbullet/compose.yml -o compose.ymlcat > .env <<EOF
ADMIN_USER=admin
ADMIN_PASSWORD=$(openssl rand -hex 12)
EOFADMIN_USER — Administrator username for SilverBullet.ADMIN_PASSWORD — Administrator password for SilverBullet. Generated above; keep it secret.docker compose up -dservices:
silverbullet:
image: ghcr.io/silverbulletmd/silverbullet:2.12.1
ports:
- "3000:3000"
environment:
SB_USER: ${ADMIN_USER}:${ADMIN_PASSWORD}
volumes:
- silverbullet-data:/data
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:3000/.ping"]
interval: 5s
timeout: 5s
retries: 5
volumes:
silverbullet-data:
Go, gRPC and Protobuf done right, LLM agents in production, and the hard parts of shipping a first product.
Show that SilverBullet is listed as an open-source alternative. Paste into your README:
Ubuntu 24.04 · Apple container, Docker 29.1.3, Compose 2.40.3+ds1-0ubuntu1~24.04.1. Images pulled in 92 s: ghcr.io/silverbulletmd/silverbullet:2.12.1.
Based on the upstream setup. Official compose. Image pinned to 2.12.1; volume made named; basic authentication enabled with credentials in .env.
silverbullet-1 | 2026-11-02T23:22:17.225890458Z Will run SilverBullet with UID 0, inferred from the owner of /data (set PUID environment variable to override) silverbullet-1 | 2026-11-02T23:22:17.227421166Z 2026-11-02T23:22:17.227151Z INFO silverbullet::server: SilverBullet 2.12.1-0-g4d5eac53-2026-10-12T06-21-29Z silverbullet-1 | 2026-11-02T23:22:17.227424625Z 2026-11-02T23:22:17.227173Z INFO silverbullet::server: Data folder: /data silverbullet-1 | 2026-11-02T23:22:17.227425458Z 2026-11-02T23:22:17.227176Z INFO silverbullet::boot: boot mode: single-space (SB_USER is set) silverbullet-1 | 2026-11-02T23:22:17.227605291Z 2026-11-02T23:22:17.227571Z INFO silverbullet_server_runtime_chrome::config: runtime Chrome detected: /usr/bin/chromium-headless-shell silverbullet-1 | 2026-11-02T23:22:17.228546291Z 2026-11-02T23:22:17.228529Z INFO silverbullet::server: SilverBullet is now running: http://0.0.0.0:3000