SilverBullet Markdown 笔记部署教程
SilverBullet 是一款开源的基于 Markdown 的笔记和知识管理平台,运行在浏览器中但以纯文本文件的形式存储数据。它融合了 Wiki、笔记应用和个人知识库的特点,支持双向链接、模板、查询和插件系统。本教程将在搬瓦工 VPS 上通过 Docker 部署 SilverBullet。
一、SilverBullet 核心特性
- 纯 Markdown 存储:所有笔记以标准 Markdown 文件存储在文件系统中,数据完全可移植。
- 双向链接:支持 [[Wiki 链接]] 语法创建页面间的双向链接,自动生成反向引用。
- 实时渲染:所见即所得的 Markdown 编辑体验,编辑和预览一体化。
- Live Queries:使用查询语言动态聚合和展示笔记内容,类似数据库查询。
- 模板系统:支持页面模板和代码片段模板,加速内容创建。
- 插件架构:丰富的插件生态系统,可以扩展编辑器功能和集成外部服务。
- 离线支持:通过 Service Worker 实现离线访问和编辑,联网后自动同步。
二、环境准备
- 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
- 内存:至少 512MB RAM。
- 磁盘:至少 2GB 可用空间。
- Docker:已安装 Docker 和 Docker Compose(参考 Docker 安装教程)。
购买搬瓦工 VPS 请参考 全部方案,优惠码 NODESEEK2026 可享受 6.77% 折扣。
三、Docker 部署 SilverBullet
3.1 创建项目目录
mkdir -p /opt/silverbullet/space && cd /opt/silverbullet
3.2 创建 Docker Compose 文件
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
silverbullet:
image: zefhemel/silverbullet:latest
container_name: silverbullet
restart: always
ports:
- "3000:3000"
environment:
SB_USER: "admin:your_secure_password"
volumes:
- /opt/silverbullet/space:/space
EOF
将 SB_USER 中的密码修改为安全的值。如果需要多用户,可以用逗号分隔:"user1:pass1,user2:pass2"。
3.3 启动 SilverBullet
docker compose up -d
docker compose logs -f silverbullet
启动后访问 http://你的服务器IP:3000,输入用户名和密码登录即可开始使用。
四、Nginx 反向代理
cat > /etc/nginx/sites-available/silverbullet <<'EOF'
server {
listen 80;
server_name sb.example.com;
client_max_body_size 50m;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
ln -s /etc/nginx/sites-available/silverbullet /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d sb.example.com
五、SilverBullet 使用指南
5.1 页面创建与编辑
登录后即进入编辑界面。使用 Ctrl+K(或 Cmd+K)打开命令面板,输入页面名称快速创建或跳转到页面。编辑使用标准 Markdown 语法,SilverBullet 会实时渲染格式。支持标题、列表、代码块、表格、图片等所有常用 Markdown 元素。
5.2 双向链接
使用 [[页面名称]] 语法创建到其他页面的链接。如果目标页面不存在,点击链接后会自动创建。每个页面底部会显示所有指向该页面的反向引用(Backlinks),帮助你发现知识之间的关联。
5.3 Live Queries
SilverBullet 的查询功能允许你动态聚合笔记内容。例如,在页面中插入查询块可以列出所有包含特定标签的页面、显示近期修改的内容或统计任务完成情况。查询结果会实时更新。
5.4 模板与代码片段
创建模板页面,然后通过 /template 命令快速插入模板内容。适合创建日记模板、会议纪要模板、项目周报模板等重复性内容。模板支持变量替换,如当前日期和时间。
5.5 数据安全
SilverBullet 的所有笔记以 Markdown 文件存储在 /opt/silverbullet/space 目录下,你可以直接在文件系统中访问和备份这些文件。这种纯文本存储方式意味着即使不使用 SilverBullet,你也能用任何文本编辑器阅读和编辑笔记。
六、备份与升级
# 备份笔记文件(纯 Markdown 文件)
tar czf /opt/silverbullet/backup_$(date +%Y%m%d).tar.gz -C /opt/silverbullet/space .
# 升级 SilverBullet
cd /opt/silverbullet
docker compose pull
docker compose down
docker compose up -d
总结
SilverBullet 以纯 Markdown 文件为基础,提供了强大的 Wiki 和知识管理功能,数据可移植性极佳。适合注重数据自主权和 Markdown 工作流的用户。如果你需要更强的知识图谱功能,可以参考 Logseq;需要更丰富编辑体验的可以看看 Trilium Notes。购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受折扣。