清单类文章最大的问题,是没人告诉你「然后呢」
awesome-selfhosted 那种清单当然有用,但它回答的是「世界上有哪些项目」,不是「你现在该装哪三个」。收藏几十个链接、最后一个都没跑起来,是大多数人的真实结局。
这篇换个筛法。标准四条:近 90 天有提交、有明确的替代对象(能说清它替掉了什么)、单个人能维护、许可证清楚且升级有迁移说明。star 数和最后提交时间都是 10 月 23 日现查的,不是从旧文章里抄的。
照片、书签、网页:把内容留在自己手里
Immich(116,969 star,AGPL-3.0)
替代 Google Photos / iCloud 照片。手机端自动上传、人脸聚类、地图、共享相册、RAW 预览,该有的都有,完成度已经不像一个「自建项目」,更像一个正经产品。
它的坑不在功能,在节奏:版本推进很快,数据库迁移偶尔要求你先升到某个中间版本。装之前先读 release notes,别关掉自动更新提示又从不看。还有一点要说清楚——它替代的是「相册服务」,不是「备份」。照片放在一块盘上的 Immich 里,和放在一块盘上的文件夹里,风险是一样的,3-2-1 该做还得做。
Karakeep(29,905 star,AGPL-3.0)
以前叫 Hoarder,定位是「什么都往里丢」的收藏夹:网页、图片、PDF、笔记,AI 自动打标签,全文检索。适合那种浏览器标签页常年开着三十个的人。
坑是 AI 打标要外接模型 API,量大了是笔持续开销;抓取失败(需要登录、反爬的站点)也得手动补。把它当「第二大脑」可以,当「永不丢失的归档」不行,后者看下面那个。
Linkwarden(20,183 star,AGPL-3.0)
解决的是链接失效。收藏时同时存截图、PDF 和单文件 HTML,几个月后原页面没了,你手里还有一份。支持多人协作收藏,适合小团队做资料库。
代价是存储涨得快。一个带大量图片的页面存档动辄几 MB,几百个收藏就是几个 GB。定期清理低价值的自动存档,或者只对重要链接开启完整保存。
钱和身份:最容易低估维护成本的两块
Actual Budget(29,692 star,MIT)
本地优先的记账工具,信封预算法,多端同步,数据完全在你自己手里。对不想把流水交给第三方的人,这是目前体验最接近商业产品的开源方案。
但「本地优先」也意味着自动化的边界:银行流水自动同步依赖特定区域的第三方服务,国内用户基本还是手动录入或定期导入 CSV。想省事的话,它省不了太多。
Pocket ID(9,676 star,BSD-2-Clause)
一个只支持 passkey 的 OIDC 身份提供方。听起来极端,但对自建场景很合理:给你那十几个服务做统一登录,不用记十几套密码,也不存密码哈希。
两点必须提醒:没有密码登录是设计,不是缺陷,所以一定要提前准备好恢复手段(多设备 passkey、备用管理员);项目还比较年轻,升级前看 release,别在生产环境追最新 tag。
运维三件套:装完还得看得见
Beszel(26,465 star,MIT)
轻量监控,hub + agent 结构,看 CPU、内存、磁盘、容器状态和历史曲线,资源占用很低,一台 1GB 的小机器就能跑 hub。它不是 Prometheus 的替代品,但「我家这台机器昨天为什么卡」这类问题,它答得比一套完整可观测性栈快得多。
如果你只需要「网站挂了给我发通知」,更直接的选择是 Uptime Kuma(92,778 star,MIT),拨测 + 多渠道通知,十分钟能配完。
Dockge(24,668 star,MIT)
给 compose 栈套一个网页界面:起停、看日志、在线改 compose.yml。对不常敲命令的人很友好,也比纯命令行更容易看清「现在到底跑了几个栈」。
坑是边界:只让它管自己目录下的栈。手工放在别处的 compose 项目别硬塞进来,否则两套工具同时改同一份文件,出事很难查。
Dozzle(14,706 star,MIT)
浏览器里看容器实时日志,支持多主机 agent 模式。排查「容器反复重启」时,比 docker logs -f 加一堆 grep 舒服。
安全上必须说重话:挂载 /var/run/docker.sock 基本等于把 root 权限交出去。它只能放在内网,或者放在带认证的反向代理后面,绝不能直接映射到公网。
有两样东西,我建议你别自建
邮件服务器。不是装不上,是装上了也送不进别人的收件箱——IP 声誉、反向解析、退信策略、黑名单,每一项都要长期维护,投入产出比在所有自建项目里最低。收信用自建没问题,发信老老实实用托管服务。
对外公开的下载站或流媒体站。带宽账单是一方面,版权风险是另一方面。自己看和给别人看,是两件性质不同的事。
我的判断
自建真正的成本从来不是部署,是维护:三个月后你还记不记得它在哪、数据在哪、怎么升级、出问题怎么回滚。所以别按清单装,按「我每周真的会用」装。
我的建议是先装三个:一个你每天都会打开的(Immich 或 Actual),一个出问题能告诉你的(Uptime Kuma 或 Beszel),一个让部署本身变简单的(Dockge)。跑满三个月不烦,再加下一个。
装到第五个的时候,你会开始需要一套统一的编排和备份规矩——那是下一篇要写的东西。









暂无评论内容