我把家里的相册搬出了 Google Photos,让 Codex 在 NAS 上替我搭了一套 Immich

去年我家里加起来有将近 6 万张照片和短视频,散落在三台手机、一台旧笔记本和一个云盘备份里。Google Photos 我用了 4 年,体验上确实是消费级做得最好的产品之一,但 2021 年 6 月 Google 关闭免费无限原图画质、引入"省空间副本"和"原画质"两条产品线之后,我就一直在找替代品——真正让我下定决心的不是订阅费,是 Takeout 导出后目录结构混乱、EXIF 大面积丢失、人脸聚类完全没带出来这件事。我不想再依赖一个我无法控制、也无法完整带走的相册服务。【关键词:#Immich #自建相册 #AI 部署】
我想回到"照片在我家硬盘上、AI 帮我整理、随时能下载原图"的状态。折腾了两小时、让 Codex 把一台 NAS 上的 Immich 完整搭起来之后,我得出了一个有点反直觉的结论:自建相册的最大成本不是设备,是人;现在人这部分可以交给 AI。这篇文章就是把这套部署和日常使用讲清楚——如果你也在云相册和自建相册之间犹豫,希望它能帮你省一次选择。

01|为什么我决定从远离云上存储,并跑路
Google Photos和iCloud 我用了 ,体验上确实是消费级做得最好的产品之一:识别准、分享方便、跨设备同步丝滑、动回忆像会讲故事。但当它把"原画质"和"省空间副本"分成两条产品线、对免费用户悄悄走压缩路径时,问题就从"功能"变成了"信任"——我不能接受一个替我保管家庭照片的产品,由它自己决定哪些照片可以、哪些不可以保留原始画质。
- 隐私边界:家里人的生活照会被持续上传到一个我不掌控的服务器;公司项目截图、家庭证件、孩子学校活动照片夹杂在一起,外人看不到,但平台看得到。
- 导出不自由:Google Takeout 我用过几次,导出的目录结构混乱、EXIF 大量丢失、人脸聚类结果完全没有。换平台等于重新整理一次。
- 价格曲线:Google One 2TB 在美国是 $9.99/月、在中国是 ¥68/月。照片涨到 2TB 之后,每个月固定花这笔钱就只为"看照片"这件事,性价比急速下降。
这三条任何一条单看都不致命,三条叠加在一起就是"我要把这件事握在自己手里"。
02|Immich 到底是什么,为什么我选它而不是 Nextcloud 或者 PhotoPrism

自建相册的开源选项里,2026 年 9 月这个时间点能打的不多。Immich 是其中唯一一个把 Google Photos 当作"对标对象"做产品的项目,不是把它当作 NAS 的附加功能。功能矩阵看下来基本覆盖 Google Photos 的 90%:
- 自动人脸识别与聚类(基于机器学习服务,可独立部署);
- 智能搜索,按"日落""小狗""全家福"这种语义搜索;
- 地图视图,自动按 GPS 聚合地点;
- 相册、分享链接、归档、回收站,UI 基本照着 Google Photos 抄,体验非常接近;
- iOS / Android 客户端原生支持后台自动备份。
我对比过的另外两个选项:
- Nextcloud + Memories 插件:优势是和我的网盘、日历、文件共享一套搞定,但 Memories 的人脸识别和智能搜索属于"能用"级别,和 Immich 不是一个量级。
- PhotoPrism:单机部署简单,但社区活跃度、AI 模型更新频率、移动端体验都明显落后。2026 年初官方还发过一次"是否继续维护"的社区投票。
对程序员来说,Immich 的关键加分是它把服务端、机器学习、数据库、缓存拆成 4 个独立容器,每台机器的资源占用、升级路径、备份策略都更可控。对非程序员来说的关键加分是:手机客户端装好之后,登录一次就能像 Google Photos 一样后台自动备份,家里老人和小孩不需要学任何新东西。
03|让 Codex 接管 NAS 部署:我做了什么、踩过什么坑
我家里那台 NAS 是 QNAP 的,装着 Container Station,相当于一个简化版 Docker 管理界面。我没有自己去查官方文档写 compose,而是把目标直接甩给了 Codex:
在一台 QNAP NAS 上用 Container Station 部署 Immich 官方四容器(server、machine-learning、postgres、redis),上传目录和数据库目录都做持久化,再把家里三个人的外部照片目录只读挂载进去,最后接上中文地点数据。
Codex 给出来的第一版 compose 我基本没改就直接用了。它做了这几件事——我事后回头看,每一件都是我自己手动写要查半天文档的:
- 生成了官方推荐的 4 容器 compose 文件,镜像版本锁死
immich-server:release、immich-machine-learning:release、postgres:14-vectorchord0.4.3-pgvectors0.2.0、valkey/valkey:9。 - 把上传目录、数据库目录、机器学习模型目录都映射到 NAS 宿主路径,避免容器重建丢数据。
- 把家里三个人各自的照片原目录以只读方式挂载进容器,这样我之前散落的照片不用复制一遍,Immich 把它当作"外部库"读进来即可。
- 写了数据库备份脚本,一行命令就能在更新前手动 dump 出 PostgreSQL 数据,备份文件直接落到宿主目录。
我自己补了几件 Codex 没主动做的事——这些是任何人在生产环境里都要自己补的,AI 不能替你做判断:
- 改了默认密码和数据库口令,从密码管理器里取了 32 字符随机串写进 compose;
- 在 NAS 上开了 2283 端口的防火墙白名单,只允许家里和公司两段 IP 段访问;
- 写了更新流程的 checklist:先备份数据库、记录当前容器状态、拉取新镜像、重建应用、检查
/api/server/ping、检查后台任务队列。
04|跑起来之后,我每天在用的几个功能
部署完成那天晚上,我让 Codex 把后台所有任务(Metadata Extraction、Thumbnail Generation、Face Detection、Smart Search)一次性跑了一次。
现在我每天实际在用的功能,按使用频率排序:
- 手机后台自动备份:iOS 客户端装好、登录一次之后,每次回家里 Wi-Fi 自动备份当天拍的照片和视频。原图保留 EXIF、保留 HEIC。这一项就值回所有折腾成本。
- 语义搜索:搜"日落"会出来所有夕阳照片,搜"孩子生日"会按时间聚合到具体那几天。准确率不算 100%,但作为日常找图工具已经够用。
- 地图视图:自动按 GPS 聚合成"去过的地方"列表,对喜欢整理旅行路线的人特别友好。我把中文地点数据挂上之后,国内地名显示中文,海外地名显示英文,体验比预期好得多。
- 人脸识别:先按"未命名人物"聚类,给每个人脸点命名之后,搜索"爸爸"就能直接定位。家里三个人一共 6 万张照片,识别 + 聚类 + 命名大约花了我一个周末——这件事放在 Google Photos 是免费的,但放在自建相册,是你愿意花多少时间"教"AI 认识你家的人。
- 外部库的混合显示:我自己过去几年的散落照片没复制,直接以只读方式挂载进 Immich;新上传的进 Immich 管理;两条来源在 App 里看起来是无缝的相册。
05|这套方案适合谁,不适合谁
- 不适合完全不想碰命令行的人。Immich 部署本身不复杂,但"NAS 上跑 Docker + 写 compose + 备份脚本"这件事,对完全没碰过的人是真实门槛。Codex 接管之后门槛降了很多,但"看懂 Codex 在做什么"这一步省不掉。
- 不适合只有一台旧笔记本、没有 24 小时开机的设备的人。自建相册的核心是"你的硬件 24 小时在线",否则手机备份、外网访问、家庭共享都跑不起来。
- 不适合完全不在意隐私的人。如果你用 Google Photos / iCloud 完全没问题,那就继续用——不要为了"自建"而自建。
强烈推荐这几类人试试:
- 家里已经有 NAS、但相册和影视各自为战的人。Immich 在 2026 年的成熟度,是"装上就能用"。
- 照片存量 1TB 以上、每年增长 500GB 以上的人。订阅费累计 3 年足以买一台二手 NAS。
- 对 AI 工具有基本判断力、又不想完全依赖大厂的家庭 IT 角色。让 Codex 帮你写 compose、自己做备份策略和权限设计,是当前最划算的组合。
最后一句话:自建相册的真正成本不是 NAS、不是订阅费、不是电费,是"你愿不愿意把家庭数据的基础设施角色拿回自己手里"。这件事一旦决定要做,AI 接管 90% 的部署和运维工作,剩下的 10% 是你自己对家庭数据的责任。
作者:猫咪不吃愚(科技从业者 / 程序员 / 运动爱好者) 写于 2026 年 9 月
本文由作者基于真实部署经历撰写,使用 AI 工具辅助资料整理与文字润色;部署细节、版本号与功能判断均来自作者本人在 NAS 上的实测,所有外部链接与项目名称均按公开资料标注。