跳转到内容

Immich:自托管照片与视频库

一个体验接近商业相册服务的自托管方案:手机自动备份、按人物和地点分类、时间线浏览、多用户共享。

先考虑要不要装

fnOS 自带相册应用,已经覆盖了手机备份和基本管理。装 Immich 的理由通常是:想要更强的搜索与识别能力,或者希望相册数据完全按自己的方式组织。

代价是实打实的:它需要多个容器(应用、机器学习、数据库、Redis),内存占用明显,机器学习模型首次运行时会占用大量 CPU。低配置的低功耗平台上体验会比较吃力。

部署要点

Immich 由多个服务组成,且版本之间有依赖关系。必须使用官方提供的 docker-compose.yml.env 文件,不要自己拼凑——这是官方明确的要求。

配置时重点关注:

  • UPLOAD_LOCATION:照片实际存放位置,指向你的存储空间,例如 /vol1/photos/immich
  • 数据库目录:单独持久化,放在固态盘上性能更好。
  • 需要硬件加速转码时,按官方文档额外引入对应的配置片段并映射 /dev/dri

数据与备份

要分清两类数据:

内容位置重要性
原始照片和视频UPLOAD_LOCATION不可再生,必须严格备份
数据库数据库容器的数据目录丢了可以重新扫描,但相册、人脸标注等会丢失
机器学习缓存缓存目录可以丢弃,会自动重建

数据库要用导出工具备份,不能直接复制文件,见 PostgreSQL

升级前一定先看版本说明

Immich 迭代很快,历史上有过需要手动操作的破坏性变更。每次升级前备份数据库,并读一遍对应版本的发布说明。 不要配置成自动更新。

已知坑

  • 首次导入大量照片时,机器学习任务会让 NAS 持续满载数小时甚至数天。建议分批导入。
  • 手机 App 的后台上传受系统电池优化影响,见照片备份排查
  • 同时运行自带相册和 Immich 会导致照片重复占用空间,决定用哪个之后就别两边都开自动备份。

参考资料

fnOS 非官方中文使用指南,与飞牛官方无隶属关系。