258 Immich —— 在自己硬盘上重建一个 Google 相册

一句话定位

Immich 是一套开源自托管的照片备份与浏览系统:手机自动上传、按人脸和地点聚类、时间轴浏览,体验接近商业云相册,数据始终留在自己的硬盘上。

为什么需要它

手机相册越攒越大,iCloud 和 Google 相册的订阅费年年涨,从 50GB 一路升到 2TB;比费用更麻烦的是隐私——家庭照片、证件照、孩子的成长记录,全部躺在别人的服务器上,你只有使用权,没有控制权。

换成网盘同步呢?网盘只有文件夹层级,没有时间轴,没有人脸聚类,没有「去年今天」,几万张照片翻起来像考古。至于早年的自建方案(比如网盘套件里的相册插件),能用是真能用,但几千张照片之后每次打开都要转圈。

核心能力

  • 手机自动备份:官方 App 支持后台备份、仅 Wi-Fi 上传、仅充电时上传,增量比对避免重复传。
  • 时间轴浏览:按天、月、年聚合,滚动跟手,支持 Live Photo 和视频缩略。
  • 智能分类:人脸聚类、按 EXIF 定位在地图上浏览、基于机器学习模型的语义搜索(搜「海边」「猫」这类词)。
  • 相册与共享:手动相册、共享相册、按用户分配空间,家庭成员各有独立账号。
  • 原图保留:不做有损压缩,保留 EXIF 与拍摄时间,这一点和很多「优化存储」的云服务不同。
  • 回收站与查重:删除先进回收站,能查重复文件。

实测体验

部署同样是 Docker Compose,官方 compose 包含服务端、机器学习、带向量扩展的 PostgreSQL、Redis 四个容器。2C4G 的机器上常驻内存约 1.5 到 2.5GB;机器学习容器做人脸和 CLIP 索引时会明显吃 CPU,第一次全库索引 2 万张照片要跑几个小时,这期间风扇会很响。

上传速度看网络:同一局域网千兆环境下,手机备份 1000 张照片(约 4GB)花十几分钟;走公网或内网穿透,就完全取决于家里的上行带宽,几十兆上行的话建议先夜里挂着跑。

浏览体验是最惊喜的部分:时间轴滑动跟手,缩略图加载快,比想象中接近商业产品。人脸聚类准确率不错,但同一个人在不同年龄段会被分成两组,需要手动合并;语义搜索能用,中文效果一般,英文关键词命中率明显更高。

升级要留意版本号:Immich 迭代很快,偶尔有破坏性变更,官方建议升级前看发布说明并先备份数据库,别图省事直接 pull 最新的。

适合谁

  • 照片量大、在意隐私、已经有 NAS 或家用服务器的家庭
  • 想摆脱云相册年费的人
  • 需要和家人共享相册、但不希望照片上第三方服务器的人

需要注意的地方

  • 它是自建服务,不是装个软件就完事:断电、硬盘坏、误删都要自己兜底,3-2-1 备份策略必须做,别把唯一一份照片放在它身上。
  • 硬件要求不低,尤其是首次索引阶段;ARM 小主机跑得动,但明显更慢。
  • 公网访问涉及端口、证书、反向代理,暴露到公网上要注意账号口令强度和访问控制。
  • 版本更新快意味着稳定性不如商业产品,重要照片务必在别处另留一份。
  • 中文语义搜索能力弱于英文,相册还是得靠自己整理命名。

小结

Immich 是目前最接近「自建 Google 相册」的开源方案:手机端用起来像商业 App,后台是一堆你能摸到的文件。它把订阅费换成了一台常开的机器和一点维护精力——已经有 NAS 的话这笔账很划算;如果只是想要个大一点的网盘,它反而太重。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部