个人知识库:选型对比(存储与架构)
本文整理自搭建个人知识库过程中的讨论结论,便于后续迭代时对照取舍。
关联文档:README、实施复盘-问题与经验
一、总体架构原则
统一入口 + 分类存储
- 统一入口:减少「想起来要写、不知道往哪记」的摩擦;检索尽量集中在一两个习惯动作里。
- 分类存储:文档、碎片、大文件(照片/录音)对工具的要求不同,不必强行塞进一个产品里。
备份思路(1 主 + 1 备)
- 主:日常可写、可同步的权威来源(如 Obsidian 工作副本 + Gitea 远端)。
- 备:与主异机或异介质(另一台 Mac、未来 NAS、对象存储等),避免单点故障。
二、存储与载体对比
2.1 NAS vs 纯电脑 vs 三方网盘
| 维度 | NAS(家庭存储) | 纯电脑(Mac 等) | 三方网盘(百度网盘 / iCloud 等) |
|---|---|---|---|
| 在线可用性 | 7×24,适合跑 Memos、相册备份、定时任务 | 关机即不可用,不适合「手机随时记」的后端 | 取决于产品与网络,同步策略各异 |
| 数据归属 | 数据在家,可控性高 | 完全自有 | 受服务条款与地区政策约束 |
| 大文件 / 相册 | 非常合适(Immich、Time Machine 目标盘等) | 磁盘有限,需自己管备份 | 空间大但限速、隐私与导出成本需权衡 |
| 维护成本 | 硬件 + 系统更新 + 安全暴露面(若公网访问) | 低,但多机同步要自己设计 | 低(用钱换省心),迁移与锁定风险需接受 |
| 本次方案 | 暂无 NAS,未采用 | 两台 Mac 作为写作端,不常驻在线当「服务器」 | 结婚照等仍可能放网盘,不作为知识库主存储 |
结论(当时场景:无 NAS、两台 Mac、有一台阿里云 VPS)
- 知识库主链路:Obsidian(本地)→ Git → 自建 Gitea(VPS),两台 Mac 通过 Git 对齐。
- 碎片速记:Memos 自建在 VPS,手机浏览器访问,避免依赖「电脑开机」。
- 大体积媒体:未在本次一期落地;规划上优先 NAS 或 外置硬盘 + 第二副本,网盘作冷备可接受。
2.2 「电脑当服务器」vs「云服务器」
| 维度 | 家里 Mac 长期开机当入口 | 轻量云服务器(本次) |
|---|---|---|
| 可用性 | 断电/睡眠/出差即不可用 | 相对稳定 |
| 公网访问 | 需内网穿透或公网 IP,复杂度和风险更高 | 公网 IP + 安全组 + 域名,路径成熟 |
| 成本 | 电费 + 机器损耗 | 固定月费(带宽/磁盘套餐) |
结论:Memos、Gitea、对外 HTTPS 站点等需要「随时被手机访问」的服务,放在 VPS 更合适;Mac 专注写作与本地缓存。
2.3 同步与 Git 托管
| 方案 | 适用 | 备注 |
|---|---|---|
| Gitea 自建 | 程序员、希望数据自有、可配合 Obsidian Git 插件 | 需自己管备份与安全(关闭注册、HTTPS) |
| GitHub/GitLab 公有云 | 可接受代码/笔记上云、省运维 | 私有仓一般可行;合规与审查按公司政策 |
| iCloud / 网盘同步 Obsidian 库 | 不想碰 Git | 冲突与历史不如 Git 清晰;隐私视信任度 |
结论:本次选 Gitea 私有仓 作为 Obsidian 的「远端真相源」。
三、应用层选型(与本次方案相关)
3.1 笔记主体:Obsidian
- 优势:本地 Markdown、插件丰富、与 Git 工作流契合。
- 注意:站内发布若用 MkDocs,避免仅依赖
[[wikilink]],需保留标准链接或构建时转换。
3.2 碎片入口:Memos
- 优势:轻、Docker 部署快、手机 Web 即用。
- 注意:大图上传受 服务器上行带宽 限制;大文件更适合电脑进 Obsidian 或走专用媒体方案。
3.3 只读网站:Quartz → MkDocs Material
| 维度 | Quartz | MkDocs Material |
|---|---|---|
| 栈 | Node | Python |
| Obsidian 语法亲和 | 强(wikilink 等) | 弱,偏标准 Markdown |
| 国内构建 | 易踩外网字体等依赖 | 相对少坑 |
| 移动端文档体验 | 顶栏偏重 | Material 成熟 |
结论:更重视 手机阅读与稳定构建 时,倾向 MkDocs Material;Obsidian 仍为写作主战场。
3.4 安全访问:Tailscale vs 域名 + HTTPS
| 方案 | 要点 |
|---|---|
| Tailscale | 设备组网,可不开放业务端口到公网;国区 App Store 可能不可用 |
| 备案域名 + Nginx + HTTPS | 合规访问 443;需关闭 Gitea 自助注册等加固 |
结论:有备案域名后,采用 HTTPS + 关闭注册 +(可选)后续鉴权;Tailscale 已卸载不再依赖。
四、与后续迭代的衔接
- 存储:外置硬盘、NAS、对象存储可作为 v2+ 媒体与冷备 单独设计,不与 Markdown 主链路混为一谈。
- 安全:notes 站点访问控制、SSO、Basic Auth 等见主 README「待规划」。
五、版本记录
| 版本 | 日期 | 说明 |
|---|---|---|
| v1.0 | 2026-04-29 | 初稿,整理自会话中的架构讨论与取舍 |