引言:我家照片到底该住在哪里
家里三口人、三部 iPhone,一年下来新增的照片和视频少说也有两三千张。过去几年我一直用 iCloud 照片图库,直到某天收到「存储空间已满」的提醒——2TB 的订阅费每月 68 元,全家照片塞在一起,删又不敢删,导又导不出来。那一刻我才认真开始思考一个问题的答案:这些照片,到底应该住在哪里?
如果你也有一台 NAS(或者正打算买一台)、在意照片的隐私和长期成本、不排斥自己动手部署几个工具,那么这篇文章可能适合你。我不打算把它写成一套「标准答案」,因为从我用过的经验看,家庭照片管理没有放之四海皆准的方案,只有适合一家人的取舍。所以我会尽量把决策过程、代价和坑都讲清楚,让你能判断这套方案是不是你的菜。
先说结论:我的最终方案是双引擎解耦——一台引擎负责「把照片从手机拿出来」(备份),另一台负责「把照片在 NAS 上整理好」(浏览与检索)。备份工具我用的是 Pho,整理工具用的是 PhotoPrism,两者互不依赖,照片永远躺在自己的硬盘上。这套方案我从 2025 年 9 月开始跑,到现在近一年。
在展开之前,我想先给出一个重要的前提判断,这也是我踩了最多坑之后才想明白的:「备份」和「整理」是两件目标不同、生命周期也完全不同的事。备份追求的是简单、可靠、可移植;整理追求的是检索、体验、自动化。把它们强行揉进一个系统,你往往会用「整理」的美观牺牲「备份」的可移植性,或者反过来。这是我做所有取舍的底层逻辑,后面每一节都会回到这句话。
为什么离开 iCloud 和 Google Photos
先说说我放弃主流云服务的完整理由。这未必是「标准答案」,但可能代表了不少人的共同痛点:
iCloud 的锁定效应。 照片一旦进了 iCloud,就被隐性地「绑定」在苹果生态里。想迁出时,要么下载几百 GB 原始文件再手动整理,要么忍受同步逻辑的反复。更现实的是容量问题:200GB 每月 21 元,可全家共享的体量根本不够;升到 2TB 就是每月 68 元、一年 816 元。这笔钱不是付不起,而是我越来越觉得照片「寄人篱下」——照片存在的意义是陪伴家人,而不是反过来成为一笔持续的、几乎看不到尽头的软性负债。
Google Photos 的隐性成本。 免费档压缩画质,原画质要付费;照片分析带来的隐私顾虑难以细究,家人对「照片在别人服务器上被扫描」这件事的敏感度越来越高;国内访问还不稳定。它确实是这个领域体验最好的产品之一,但「好体验」和「数据自主」在这个问题上往往是两回事。
各类网盘的通用问题。 隐私、容量、速度,总有一个是短板,而且无一例外都面临「导出困难」——这不是「能不能导出」,而是「导出后还是不是你想要的那个样子」。
这里我想坦诚地补一句:用云服务也没什么可耻的。我的家人里就有人完全接受 iCloud,因为它省心、照片安全、手机丢了还有 Apple 兜底。我最终选择自托管,不是因为云服务「不好」,而是因为我对「照片是长周期资产」这件事有一个执念——存储方案应该一次投入、长期归属自己,并且在我完全不依赖任何厂商时依然完整可用。这个执念不是人人都需要,但如果你也有,咱们后面就是同路人。
方案总览:备份与整理,为什么要解耦
我的方案架构非常简单:
iPhone 照片 →(Pho 自动备份)→ NAS(SMB/WebDAV/NFS) →(只读挂载)→ PhotoPrism → 浏览器查看三个角色各司其职:
- Pho(iOS 应用):负责备份,把 iPhone 里的照片增量同步到 NAS,按日期组织成普通文件夹;
- NAS:照片的唯一存放地,不需要安装任何服务端组件;
- PhotoPrism(Docker 应用):负责整理与检索,把 NAS 上的照片建立索引,提供 AI 打标、人脸识别、地图浏览等能力。
这里有一个我反复强调的关键设计理念:备份通道与浏览工具完全解耦。 Pho 备份出来的就是最朴素的 YYYY/MM/DD 目录结构,任何文件管理器、任何软件都能直接读取;PhotoPrism 只是「读」这些文件,即使把它整个删掉,照片和目录结构也原封不动,换任何工具都能继续用。
为什么这份「朴素」如此重要?因为存储层的可移植性,才是「数据在自己手里」的真正含义。我之前也想过要不要直接用 Immich 这种「全家桶」——一个应用把备份、浏览、AI 全干了,界面还漂亮。但当我意识到它的照片是「进库」而非「进文件夹」时,我就开始犹豫了:如果哪天 Immich 不更新了、或者我想换套玩法,照片要不要「洗库」才能出来?这个不确定性,让我最终选择了「双引擎」。
第一台引擎:Pho,无服务器的照片备份
Pho 是主打「无服务器」理念的照片同步应用:它没有云端、没有中间服务、没有数据库,应用直连你家的 NAS 共享目录,把照片按日期目录结构传上去,缩略图单独存放在 .thumbnail/ 子目录中。NAS 上不需要安装任何东西,只需要开启 SMB / WebDAV / NFS 共享即可。
我选择它的理由,以及对每个理由保留的保留意见,一起写在这里:
原生 iOS 体验。 它不是 Web 套壳,而是完整的原生应用:支持 iOS 后台自动同步(系统会在充电时调度后台任务)、支持仅 WIFI 模式、同步完成后有本地通知提醒,全屏浏览照片时支持 Live Photo 长按播放。这一点对家庭成员尤其重要——我爸妈的手机是 iPhone,他们不需要懂什么是 NAS、什么是 WebDAV,打开 App 就能看到「上次备份成功」,这就够了。
存储格式完全开放。 备份出来的就是普通文件和文件夹,不依赖任何专有格式。哪怕有一天不再使用 Pho,这些照片依然可以被任何工具读取——这正是「数据在自己手里」的保障。我记得有次我想验证这一点,直接用文件管理器打开 NAS 上的目录结构,看到一张张 2026/03/15/20260315_103422.JPG 这样的文件时,心里那块石头才算落地。
加密能力。 对敏感照片(证件、票据等)可以开启 AES-256-GCM 加密后再上传,加密文件支持在线播放,适合对隐私有更高要求的用户。这里我必须诚实指出一个局限:加密后的文件是 .aes 格式,PhotoPrism 这类整理工具读不了(后文踩坑会展开)。所以我的做法是「分区策略」——只有真正敏感的照片才加密,日常照片不加密,两者互不干扰。
多协议支持。 SMB / WebDAV / NFS / 百度网盘,覆盖了绝大多数家用 NAS 和网盘的接入方式。我看到一个很实用的细节:如果你用的是群晖或威联通,直接走 SMB 最省事;如果是猫盘、玩客云这类「轻 NAS」,或者只是想接一个网盘,WebDAV 会更稳。
Pho 本身是开源软件,代码托管在 GitHub(fregie/pho),安卓端可直接下载安装包使用;iOS 端在 App Store 上架,基础同步功能免费,Pro 版本提供加密备份、并行上传、自定义目录结构等进阶能力,采用订阅与一次性买断并存的付费模式(买断约 285 元人民币,一次付费永久使用)。我买的是终身买断,图的是「一次投入、长期省心」。

第二台引擎:PhotoPrism,NAS 上的智能图库
照片进了 NAS,下一个问题是「怎么找」。几千张照片按日期排列,想找「去年在青岛海边拍的那张」并不容易。PhotoPrism 恰好补上了这一环:它是一个开源的照片管理与检索应用,在 NAS 上通过 Docker 一条命令即可部署。
它的核心能力:
- AI 自动打标:基于 TensorFlow,自动识别照片中的猫、狗、风景、食物、建筑等内容并建立标签索引;
- 人脸识别与地点聚类:按人物、按拍摄地点聚合照片,可以快速找到「某个人的所有照片」;
- 日历 / 地图 / Moments 视图:时间线浏览、世界地图标注、自动生成的回忆集;
- 强大的搜索语法:支持
label:cat、place:beach之类的组合搜索; - 零学习成本:家庭成员只需浏览器打开地址即可浏览,无需安装任何应用。
这里我想特意夸一下「零学习成本」这一点。我爸妈不懂什么是 Docker、什么是索引,但给他们在浏览器里开一个快捷方式,他们就能像用云相册一样翻照片、按「阿妹」找人、按「海边」找回忆。对家庭图库来说,最重要的往往不是功能的丰富,而是让不会折腾技术的人也能无痛使用。 这一点是 PhotoPrism 做得很好的地方,也是我留下它的核心原因。

题注:PhotoPrism 的时间线浏览界面,左侧导航可切换不同视图。图片来源:PhotoPrism 官方文档。

题注:AI 自动生成的标签页面,按识别结果聚合照片。图片来源:PhotoPrism 官方文档。

题注:地图视图按拍摄地点聚合照片。图片来源:PhotoPrism 官方文档。
为什么不用「全家桶」:与 Immich 的取舍
市面上也有 Immich 这样「一个应用全搞定」的自托管照片方案:备份、浏览、AI 一体。我也实际用过一段时间,最终放弃。这里我把取舍的完整逻辑说出来,而不是简单地一句「我选了 A 就选了 A」。
第一,服务端组件多,维护是持续负担。Immich 需要 Postgres、Redis、ML 等多个服务协同,升级和维护都是持续负担。相比之下,Pho 不需要任何服务端组件,PhotoPrism 是单个容器。对一个只是想让全家照片「有个安稳的家」的人来说,两个以上的服务组件意味着每一次系统升级、每一次 Docker 更新,都可能牵一发而动全身。
第二,数据格式有锁定风险。Immich 会把照片纳入自己的库结构管理,导出时需要依赖它的工具;而「Pho + PhotoPrism」组合的存储层永远是普通文件夹,随时可以脱离任何软件独立使用。这是我最看重的一点,也是我反复权衡后最终倾向双引擎的根本原因。
第三,单点故障面不同。备份与整理耦合在一个系统里时,一个环节出问题会连累另一个;解耦后,即使整理工具停止维护,备份的数据也完好无损。
当然,我必须承认 Immich 也有它的优势:界面统一、上手更简单、社区活跃,而且它在照片 AI 功能上的打磨确实领先。所以如果你希望一个工具解决问题、愿意接受它的维护成本,并且不介意照片以「库」的形式组织,Immich 完全可能是更适合你的选择。我的选择更多是基于「存储层可移植性优先」的长期考量——这背后是一套价值观,而不是绝对的优劣。哪种选择更好,取决于你更看重「省心」还是「可移植」。
动手配置:一份可以照着做的指南
很多文章写到这里就结束了,但我觉得如果不把「怎么做」讲清楚,这篇文章对读者的价值就打对折。下面是我实际操作的完整流程,你可以直接照着做。
第 1 步:准备一台 NAS(或一台小主机)。 我建议 x86 小主机起步,比如 N100 级别的迷你主机,或群晖、威联通等成品 NAS。家用两盘位大约 1500-3000 元。如果你暂时没有 NAS,也可以用一台闲置的旧电脑装个 Linux 系统临时顶上——我的第一版就是这么跑的,用旧笔记本 + 外接硬盘就搭起来了,后来才搬到正式的 NAS 上。
第 2 步:开启共享协议。 在 NAS 上开启 SMB 或 WebDAV 中的任意一种。WebDAV 对跨平台更友好,SMB 则更贴合 Windows/群晖生态。以 WebDAV 为例,你需要在 NAS 上创建一个共享目录,比如 photos/,记下它的地址、账号和密码。
第 3 步:在 iPhone 上配置 Pho。 在 App Store 搜索并安装 Pho,打开后选择「添加存储」,填入 NAS 的 WebDAV 地址、账号、密码。建议开启「仅 WIFI 下同步」,避免照片走蜂窝流量。
第 4 步:部署 PhotoPrism。 使用 Docker 一条命令即可,也可以直接用群晖/威联通自带的 Container Manager 图形化界面部署。推荐配置如下:
services:
photoprism:
image: photoprism/photoprism:latest
container_name: photoprism
ports:
- "2342:2342"
environment:
PHOTOPRISM_ADMIN_PASSWORD: "你的密码"
PHOTOPRISM_READONLY: "true" # 关键:保持只读,不要让它重排目录
volumes:
- ./photos:/photoprism/originals # 指向 NAS 上的照片目录
- ./library:/photoprism/storage # 索引和缓存
restart: unless-stopped第 5 步:让 PhotoPrism 只读挂载照片目录。 这一步非常重要,也是我在踩坑里学到的(详见下节)。把照片目录设为只读,让 PhotoPrism 只「读」不「写」,避免它按元数据重整你的 YYYY/MM/DD 结构。
第 6 步:设置索引定时任务。 让 PhotoPrism 定期扫描照片目录,把新照片纳入索引。我一般设置每天凌晨跑一次批量索引,家人第二天早上就能看到昨天的新照片。
这套流程全程不需要写一行代码,也不需要懂 Dockerfile,跟着做就行。
踩坑记录:真实踩过的雷
一年多下来,也踩过一些坑,写出来供大家参考。这些坑不是「我给你避雷」,而是「我亲身摔过」——它们恰恰是判断「这套方案适不适合你」的重要参考。
坑 1:PhotoPrism 对内存的要求比想象中高。 它需要至少 2GB 内存,树莓派这类小设备跑起来会很吃力,还容易触发 OOM。我第一次就是在一台 1GB 的旧笔记本上跑的,结果索引到一半直接崩了,导致我一度以为是照片没备份好。建议直接上 x86 小主机或成品 NAS,一步到位。
坑 2:加密文件与整理工具的兼容性。 Pho 加密后的文件是 .aes 格式,PhotoPrism 无法读取。我的做法是「分区策略」:日常照片不加密(正常进 PhotoPrism 索引),仅对敏感照片单独开启加密,两者互不干扰。但这也意味着,如果你打算让 PhotoPrism 做全库索引,就别给全库开加密。 这是「加密」与「智能整理」之间的一个天然取舍,提前想清楚比较好。
坑 3:千万不要让 PhotoPrism 重整目录。 PhotoPrism 提供了按元数据重命名、整理文件的功能,但对「备份目录」这类外部管理的目录,强烈建议保持只读,用文件夹视图按目录浏览。否则你的日期目录结构可能被它重排,进而影响备份端的去重逻辑——一旦去重逻辑乱掉,可能重复上传或漏传,这是最闹心的一类问题。我建议**在上面的 Docker 配置里把 PHOTOPRISM_READONLY 设为 true**,从源头杜绝。
坑 4:NAS 性能决定体验上限。 如果 NAS 读写是千兆以下,或者用机械硬盘 + 低端 CPU,上传和缩略图生成会明显变慢。我当时为了省钱用了一块旧盘,结果批量导入时卡顿很明显。预算允许的话,尽量用 2.5G 网口或万兆的组网,体验差别很大。
坑 5:备份的去重逻辑与「唯目录独尊」的前提。 Pho 的去重依赖文件夹里的文件名规则。所以我强烈建议不要在 NAS 上手动往这个目录里塞文件、改文件名,也不要让别的工具去重排它。这个目录就是 Pho 的「白纸」,越干净越好。
结语:照片的「归宿」到底是什么
这套「无服务器备份 + AI 整理」的双引擎方案,我已经稳定运行了快一年。它解决了我最在意的三件事:照片永远在自己手里、存储成本一次买断、整理检索能力不输云服务。
但最重要的是,这一年我逐渐明白了一件事:照片备份的「归宿」,不是一个具体的软件,而是一种「自己说了算」的安全感。 当家里的照片不管是 3 张还是 2 万张,都实实在在地躺在我自己的硬盘上,我可以随时备份、随时迁移、随时用任何工具打开时,那种「这些是我们的,不是别人的」的踏实感,是任何订阅制云服务都给不了的。
当然,它也有明显的门槛:需要一台 NAS、需要愿意动手部署一次 PhotoPrism。如果你的需求只是「手机照片自动备份」,Pho 单独就够用;如果你还需要全家共享浏览和智能检索,再叠加 PhotoPrism 即可。
照片是家庭数字资产里最珍贵的一部分,值得一个「自己说了算」的归宿。欢迎在评论区聊聊你的照片管理方案——你是 iCloud 的坚定用户、Immich 的爱好者,还是正准备踏上自托管这条路?我想听听你们家的取舍。
