SilverBullet
SilverBullet is a self-hosted note-taking replacement for Evernote and Microsoft OneNote.
Personal knowledge management, honestly reviewed. What you actually get when you trade Notion’s subscription for a Lua-powered browser app that lives on your server.
TL;DR
- What it is: A self-hosted, browser-based personal knowledge management tool built on Markdown — think Obsidian meets a queryable database, accessible from any browser including on mobile [1][3].
- Who it’s for: Developers, researchers, and technically-inclined founders who want to own their notes completely, query their knowledge like a database, and are willing to write a little Lua to unlock the real power [1][4].
- Cost savings: Notion runs $10–$18/mo per user. Obsidian Sync costs $4–8/mo. Roam Research is $15/mo. SilverBullet is $0 software cost — you pay only for the VPS it runs on ($5–10/mo on Hetzner or similar), and all your data stays in plain Markdown files on your disk [4][5].
- Key strength: Your notes aren’t just notes — they’re queryable objects. With Space Lua, you can write live queries that dynamically build tables, task lists, and dashboards directly inside your pages [1][3].
- Key weakness: There is no dedicated mobile app, the plugin catalog is small compared to Obsidian, and the Lua/query layer has a real learning curve. This is not a tool you hand to a non-technical co-founder and expect them to love [1][4].
What is SilverBullet
SilverBullet is a self-hosted web application for personal knowledge management. You run it on a server (or a Raspberry Pi), point it at a folder of Markdown files — called a “Space” — and access it from any browser. The GitHub description calls it “an open source personal productivity platform built on Markdown, turbo charged with the scripting power of Lua” [README].
That framing is accurate but undersells what makes it unusual. Most Markdown tools are editors that happen to have backlinks. SilverBullet treats your notes as a structured database from the start. Every page can have typed Frontmatter Attributes. Every tag creates an indexed object. And Space Lua — SilverBullet’s embedded Lua dialect — lets you write live queries that render directly into your pages, updating automatically as your Space changes [1][3].
A concrete example from the official website: if you tag a set of pages with #feature and give them an awesomeness attribute, you can drop a one-line query anywhere in your notes that renders a live, sorted feature list. The query renders inline on the page, not in a separate “database view” somewhere else [website]. LinuxLinks describes this accurately: “your notes essentially become a database that you can query” [3].
The architecture is worth understanding. The frontend is a Progressive Web App (PWA) built on CodeMirror 6, written in TypeScript. The backend is a Go binary. When you run in “Synced mode,” the entire Space is copied into your browser’s local IndexedDB, so the app works fully offline. Reconnect, and it syncs back to the server [1][3][website]. You can install it from Chrome as a desktop app, or pin it to your home screen on iOS or Android — at that point it’s functionally indistinguishable from a native app [website].
The project sits at 4,883 GitHub stars, is MIT-licensed, and has been in active development since early 2022. The current version is SilverBullet v2 — a partial reboot of the foundations from v1 [website][README].
Why People Choose It
The three reviews that gave the most useful signal land in roughly the same place: SilverBullet wins on privacy, programmability, and plain-file storage, and loses on plugin depth, mobile experience, and onboarding curve.
Versus Obsidian. This is the primary comparison. Obsidian is the dominant self-hosted Markdown tool, and SilverBullet is explicitly in that category. XDA Developers [1] notes that SilverBullet even includes a Vim mode for users who prefer that workflow. The meaningful differences: SilverBullet is browser-first (works on any device without installing anything beyond a PWA), while Obsidian is a native desktop app with mobile apps. Obsidian’s plugin ecosystem is enormous — thousands of community plugins vs. a much smaller catalog for SilverBullet. But Obsidian Sync costs $4–8/mo and sync is a common pain point; SilverBullet’s synced mode handles this natively as part of the self-hosted setup [1][4].
On UI philosophy, XDA [1] makes an important point: “Unlike tools like Obsidian, where customization is a part of the experience, SilverBullet has an interface focused more closely on its core functionality. There are far fewer buttons, and that makes it easy to stay locked on the task at hand.” If you’ve lost hours to Obsidian theme rabbit holes, this might actually be a feature.
Versus Notion. ReviewsApp [4] notes directly that “it is not a replacement for comprehensive applications like Notion or Obsidian” for most people — but the reasons why reveal who SilverBullet is actually for. Notion has a polished GUI, built-in collaboration, and no Markdown knowledge required. SilverBullet requires you to know Markdown, has no real-time collaboration, and has no GUI database builder. What it has instead is complete data ownership: your notes are .md files in a folder on disk, readable and writable by any tool, exportable without the app existing [3][4][5].
The privacy angle. FossEngineer [5] frames it clearly: data ownership, no external company analyzing your notes, no business-model dependency. This is the argument that actually lands for the SilverBullet audience. When you run it on your own VPS, the entire knowledge base — including search, queries, and tag indexes — runs locally. Nothing leaves your server.
The programmability angle. The Lua layer is what separates SilverBullet from “just another Markdown editor with backlinks.” XDA [1] describes it as “essentially like having a searchable database at your fingertips” — you can build custom interactive widgets, aggregate tasks across your entire Space, generate live dashboards from tagged pages, and write custom commands. The ceiling for power users is genuinely high. The catch: you need to learn at least basic Lua and the Space Lua query syntax to get there. LinuxLinks calls it “optimized for people with a hacker mindset” [3], which is accurate — the tool rewards investment.
Features
Core writing experience:
- Clean Markdown editor with Live Preview — markdown syntax is hidden when you’re not editing it [3]
- Vim mode available [1]
- Outlining tools for structured notes [website]
- Standard formatting shortcuts (Cmd+B, Cmd+I) and markdown modifiers [1]
- Hold Alt to reveal hidden markdown elements [1]
- Slash commands for common text operations [3]
Navigation and linking:
- Page Picker for quick navigation between pages [website]
- Wiki-style bidirectional links — link to a page that doesn’t exist yet, SilverBullet creates it on navigation [1]
- Existing pages show as blue links, non-existent pages as red [1]
- Linked mentions indexed at the bottom of every target page [3]
- Global Graph plug for visual knowledge graph (Shift+Cmd+G) [1]
Database and queries (the differentiator):
- Every page, tag, and Frontmatter Attribute becomes an indexed Object [website][3]
- Space Lua Integrated Queries — live queries that render inside pages and update automatically [1][3]
- Query syntax:
from index.tag "page" order by lastModified desc select name limit 5[1] - Built-in task system with cross-Space task aggregation via queries [website]
- Templates for generating dynamic content from query results [website]
Programmability:
- Space Lua — embedded Lua dialect for scripting [1][3]
- Custom Commands, Page Templates, Widgets via Lua [website]
- JavaScript support for additional scripting capabilities [4]
- Plugs system (SilverBullet’s plugin format) — smaller catalog than Obsidian [1]
Architecture and sync:
- PWA with full offline mode via local IndexedDB [1][3][website]
- Synced mode: full copy in browser, syncs back to server on reconnect [website]
- Files stored as plain
.mdfiles on disk — readable/writable independently of the app [3][4] - Installable as desktop app (Chrome) or home screen app (Safari, Android) [website]
Pricing: SaaS vs Self-Hosted Math
SilverBullet has no commercial SaaS offering. It’s purely self-hosted. There’s no free tier with upgrade prompts, no per-seat pricing, no sync add-on. The software is free (MIT license), and you host it yourself [README][4].
What you’re replacing:
| Tool | Cost |
|---|---|
| Notion (Plus) | $10–$18/mo per user |
| Roam Research | $15/mo |
| Obsidian Sync | $4–8/mo (on top of free app) |
| Craft | $5–10/mo |
| SilverBullet (self-hosted) | $0 software + $5–10/mo VPS |
Self-hosted math:
- SilverBullet software: $0 (MIT license)
- VPS (Hetzner CX11, 2GB RAM): ~$4–6/mo
- Your domain if you want HTTPS access: ~$10–15/yr
- Total: ~$5–7/mo indefinitely, no price increases, no per-seat surprises
Savings over Notion Plus over 3 years: roughly $350–600 for a solo user, more for teams (Notion charges per seat). The math gets more interesting if you currently pay for Obsidian Sync — same features included in the SilverBullet self-hosted stack at no additional cost.
The caveat that ReviewsApp [4] flags honestly: there’s no cloud option. If you want SilverBullet, you host it. If you’re not comfortable with that, there’s no “just sign up” fallback. That’s the whole point — and the whole trade-off.
Deployment Reality Check
SilverBullet ships as two things: a single self-contained Go binary, and a Docker container. The Docker path is the more common recommendation.
What you actually need:
- A Linux server with at least 512MB RAM (it’s Go + TypeScript, not a JVM — it’s lean) [website]
- Docker if you go the container route, or just download the binary if you prefer bare metal
- A reverse proxy (Caddy or nginx) for HTTPS if you’re exposing it beyond localhost
- A domain name if you want remote access
What the install looks like (Docker):
docker run -p 3000:3000 -v /path/to/your/space:/space silverbullet
That’s it. One command, no database setup, no Redis, no queue. The server stores everything as files in the mounted folder. This is notably simpler than tools like Activepieces or Gitea that need Postgres and Redis [README].
ReviewsApp [4] confirms the minimal requirements: “SilverBullet has very modest hardware requirements and can run even on older computers.” This is why Ayush Pande’s roundup of Raspberry Pi services [2] mentions it — it’s one of the few PKM tools that actually runs comfortably on a Pi 4 with 4GB RAM alongside other containers.
What can go sideways:
- No built-in authentication beyond a basic username/password. If you expose it to the internet, you need to handle auth at the reverse proxy layer or use the built-in basic auth [website].
- No built-in end-to-end encryption. If you’re storing sensitive content on a cloud VPS, you’re trusting your VPS provider and your own operational security.
- The Lua query layer is not documented as extensively as Obsidian’s plugin ecosystem. Expect time spent in the official manual and community channels.
- ReviewsApp [4] notes: “basic knowledge of Markdown syntax is required to use it effectively.” This should be obvious, but worth stating — if your team doesn’t write Markdown, this tool will frustrate them.
- Plugin catalog is small [1]. If you depend on a specific Obsidian plugin, check whether SilverBullet has an equivalent before switching.
Realistic time estimate: 20–30 minutes for a developer to get a working instance behind Caddy with HTTPS. For a non-technical user following a guide: 1–3 hours including domain setup, assuming basic Linux familiarity. No prior Go or TypeScript knowledge required to run it — only to modify it.
Pros and Cons
Pros
- Plain Markdown files, always. Your Space is a folder of
.mdfiles on disk. Open them in vim, sync them with rsync, back them up with rclone — no proprietary format, no lock-in [3][4][5]. - Genuinely MIT-licensed. Fork it, modify it, embed it — no commercial use restrictions, no “Fair-code” ambiguity [README][3].
- Queryable notes without a separate database. The Objects + Space Lua query system is a real differentiator. Dynamic task lists, cross-page aggregations, live dashboards — all built into the Markdown pages themselves [1][3].
- Browser-first, works everywhere. No install required on the client side — any modern browser accesses it. Works on iOS and Android as a PWA [1][website].
- Full offline mode. Synced mode copies everything locally. Unplug the network, everything still works [1][website].
- Lean resource footprint. Runs on a Raspberry Pi. No database daemon required [2][4][website].
- Clean, focused UI. Fewer buttons than Obsidian, less distraction, faster to navigate for users who don’t want to manage their tool manager [1].
Cons
- No dedicated mobile app. PWA works, but it’s not the same experience as a native app with background sync and offline-first design optimized for mobile [4].
- Small plugin catalog. Compared to Obsidian’s thousands of community plugins, SilverBullet’s plugs ecosystem is limited. If you rely on specific Obsidian extensions, check coverage before committing [1].
- Lua learning curve. The real power requires learning Space Lua syntax. It’s not hard, but it’s not zero [1][3]. For non-technical users, this layer is effectively invisible — and that means you’re missing the main reason to choose SilverBullet over simpler alternatives.
- No rich GUI / WYSIWYG. ReviewsApp [4] notes explicitly: “there is no rich GUI or true WYSIWYG mode.” Live preview helps, but it’s not the same as Notion’s drag-and-drop block editing.
- No real-time collaboration. This is a single-user tool at heart. Multi-user scenarios are technically possible but not a design priority [4].
- No cloud integration out of the box. No Dropbox sync, no Google Drive, no OneDrive [4]. You manage your own backup and sync strategy.
- Aimed squarely at technical users. LinuxLinks [3] and ReviewsApp [4] both note this explicitly — developers and researchers who are comfortable in a text-based environment. Non-technical users will find better options.
Who Should Use This / Who Shouldn’t
Use SilverBullet if:
- You’re a developer, researcher, or technical founder who uses a PKM tool daily and wants complete ownership of the data.
- You’re currently paying for Obsidian Sync, Notion, or Roam Research and want to eliminate that recurring bill without losing capability.
- You think in systems — you want your notes to be queryable, connected, and dynamically generated, not just stored.
- You’re comfortable with basic Lua or willing to spend a few hours learning it to unlock the dynamic query features.
- You want a tool that runs offline and doesn’t depend on a company staying in business.
Skip it (try Obsidian instead) if:
- You want the largest possible plugin ecosystem and community support.
- You need native mobile apps with full offline sync optimized for phone usage.
- You want extensive UI customization — Obsidian’s theme ecosystem is vastly larger.
Skip it (stay on Notion) if:
- You’re building a shared knowledge base with a non-technical team.
- You need real-time collaboration, comments, and the WYSIWYG block editor.
- You want databases, kanban boards, and calendars without any Markdown or scripting.
Skip it (try Logseq) if:
- You’re an outliner who thinks in bullet hierarchies rather than pages.
- You want an open-source tool with a larger community and more battle-tested mobile apps.
Alternatives Worth Considering
- Obsidian — the obvious primary comparison. Larger plugin ecosystem, native apps, Vim mode included, but sync costs money and data storage is local-only without the paid sync service. [1]
- Logseq — open-source, outliner-first, stronger mobile support, active community. Graph view is a first-class feature.
- Trilium Notes — hierarchical note taking, also self-hosted, more of a structured knowledge management tool than a Markdown editor. LinuxLinks lists it as a direct alternative [3].
- AppFlowy — open-source Notion alternative, block-based editor, collaborative. Better fit for teams than SilverBullet.
- Joplin — simpler, well-established, desktop+mobile apps, syncs with Nextcloud/S3/Dropbox. Lower ceiling but lower floor.
- Memos — lightweight, micro-blog style, ideal for quick captures rather than a knowledge system. FossEngineer covers it alongside SilverBullet [5].
- Notion — not open source, not self-hostable, but the benchmark for polished block-based collaboration. Stay here if your team isn’t technical.
For a technical solo founder choosing between SilverBullet and Logseq: pick SilverBullet if you care about database-style queries and don’t need a polished mobile experience; pick Logseq if you think in outlines and want broader platform coverage.
Bottom Line
SilverBullet is not trying to replace Notion for teams. It’s trying to be the smartest possible personal knowledge base for people who already think of their notes as structured data — and who are tired of paying $10–15/mo for the privilege of storing plain text on someone else’s servers. The Lua query layer is the genuine differentiator: the ability to write a one-line query that builds a live dashboard from tagged pages, inside the page itself, without any separate “database view” — that’s something no other self-hosted Markdown tool does as cleanly. The trade-offs are real: no polished mobile app, a small plugin catalog, and a technical user requirement that the project doesn’t apologize for. If you’re a developer or researcher who wants your notes to behave like a programmable database and you’re comfortable with Docker and basic scripting, SilverBullet delivers on its premise. If you need something your team’s non-technical members will adopt without training, look elsewhere.
If you want to run SilverBullet without spending your afternoon wiring up Caddy and Docker, that deployment setup is exactly what upready.dev handles for founders — one-time fee, running on your own server, owned infrastructure.
Sources
- Patrick Hearn, XDA Developers — “Silverbullet is a clean, easy-to-use, self-hosted notes app you need to try” (Dec 15, 2025). https://www.xda-developers.com/silverbullet-is-a-clean-easy-to-use-self-hosted-notes-app-you-need-to-try/
- Ayush Pande, XDA Developers — “7 self-hosted services I use that can run perfectly on a Raspberry Pi” (Apr 24, 2025). https://www.xda-developers.com/7-self-hosted-services-i-use-that-can-run-perfectly-on-a-raspberry-pi/
- LinuxLinks — “SilverBullet – note-taking application”. https://www.linuxlinks.com/silverbullet-note-taking-application/
- ReviewsApp.org — “SilverBullet – Personal Note Server”. https://reviewsapp.org/silverbullet-personal-note-server
- FossEngineer — “Self-Hostable F/OSS Note-Taking Tools”. https://fossengineer.com/selfhostable-note-taking-tools/
Primary sources:
- GitHub repository and README: https://github.com/silverbulletmd/silverbullet (4,883 stars, MIT license)
- Official website and documentation: https://silverbullet.md
Related Documents & Knowledge Base Tools
View all 226 →Stirling-PDF
75KThe most popular self-hosted PDF platform — merge, split, convert, OCR, sign, and process documents with AI, all running on your own infrastructure.
AppFlowy
69KAn open-source Notion alternative with AI, wikis, projects, and databases — cross-platform (desktop, mobile, web) with offline-first architecture and full data ownership.
AFFiNE Community Edition
66KAn open-source workspace that merges docs, whiteboards, and databases into one platform — a privacy-focused alternative to Notion and Miro with AI built in.
Docusaurus
64KA static site generator built on React for documentation websites — write in Markdown/MDX, version your docs, and deploy anywhere. Created by Meta.
Crawl4AI
62KOpen-source LLM-friendly web crawler that generates clean markdown from any website, purpose-built for RAG pipelines, AI data extraction, and automated research.
Atom
61KGitHub's hackable text editor, officially sunset in December 2022. The codebase remains archived on GitHub as a reference for community forks like Pulsar.