Immich 自建相册完全指南:把照片从云端抢回来,隐私和回忆都留在自己手里

现在随便翻一下手机,就是几万张照片加视频。G…

现在随便翻一下手机,就是几万张照片加视频。Google Photos 早就取消了无限免费原图,iCloud、百度网盘一个赛一个地涨月租;更要命的是,你根本说不清”自己的照片到底放在谁那儿、会不会被拿去训练模型”。大叔折腾 NAS 好几年,最终选定的自建相册方案就是 Immich——开源、功能全面、还能跑本地 AI 人脸识别。这篇文章手把手带你把它跑起来,让照片的控制权真正回到自己手里。

Immich 是什么?为什么选它

Immich 是一个开源的、自托管的照片和视频管理平台,界面和交互几乎就是 Google Photos 的翻版,但数据 100% 落在你自己的服务器上。它支持多用户、手机 App 自动备份、时间线浏览、人脸识别、物体识别、地理位置聚合、全文搜索,甚至能用自然语言搜照片——比如”搜去年在海边拍的狗”。

这套能力不是白来的,背后靠几个容器协同工作:主服务 immich-server、机器学习服务 immich-machine-learning、缓存 Redis,以及数据库 PostgreSQL(搭配 pgvecto-rs 向量扩展,专门存 AI 生成的向量)。下面用 Docker Compose 一键拉起来。

准备:硬件与系统要求

Immich 对硬件要求不高。纯备份和浏览,一台 2 核 4G 的 NAS、树莓派 5 或者闲置小主机都够用。唯一要留意的是:开启人脸识别和智能搜索后,机器学习服务会比较吃 CPU;有 NVIDIA 独显或 Intel 核显的话可以开硬件加速,后面会讲。磁盘方面,照片视频才是大头,建议单独挂一块大容量盘。

第一步:拉取官方配置文件

官方每个版本都会发布配套的 docker-compose.ymlexample.env,直接拉最新版最省心,也不用自己手写那一大坨配置:

mkdir -p ~/immich && cd ~/immich
curl -o docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
curl -o .env https://github.com/immich-app/immich/releases/latest/download/example.env

第二步:改 .env,三处关键配置

打开 .env,最关键的只有三处:照片上传目录、数据库数据目录、数据库密码。

UPLOAD_LOCATION=./library
DB_DATA_LOCATION=./postgres
DB_PASSWORD=换个足够强的随机密码

DB_PASSWORD 千万别用默认值,用下面这条命令生成一个强密码填进去:

openssl rand -base64 24

第三步:一键启动

docker compose up -d
docker compose ps

看到四个容器都是 Up / healthy 状态就成功了。浏览器打开 http://服务器IP:2283 完成初始化,创建管理员账号即可。

手机端:自动备份

手机应用商店搜 “Immich” 下载,登录时把服务器地址填进去,开启”自动备份”并选好要备份的相册。以后拍完照连上家里 WiFi,照片就会自动同步到服务器,全程不用手动传。这也是大叔用它的最大理由——无感、稳定。

几个真正值回票价的实用功能

  • 智能搜索:默认启用 CLIP 模型,可以用自然语言搜照片。英文效果好,中文语义搜索需要额外换 multilingual 的 CLIP 模型。
  • 人脸识别:跑通后自动给照片分组命名,非常像 Google Photos 的人物相册。
  • 外部库:服务器上若已有一堆按目录整理好的老照片,可挂载成”外部库”直接索引,不用重新导入,原目录结构原样保留。
  • 硬件转码:视频播放时实时转码,有核显/独显可打开硬件加速,显著省 CPU。

备份与安全(重中之重)

照片是回忆,丢了就真没了,所以备份是第一优先级。至少先把数据库定期导出来:

mkdir -p ~/immich-backup
docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=postgres | gzip > ~/immich-backup/immich-db-$(date +%F).sql.gz

再用 rclone 把 library 目录和数据库备份同步到异地或对象存储(大叔之前写过 Rclone 和备份专题,可以翻翻)。记住 3-2-1 原则:3 份数据、2 种介质、1 份异地。

避坑清单

  • 时区:容器默认 UTC,记得挂载 /etc/localtime,否则时间线会乱套。
  • 反向代理:前面若套了 Caddy/Nginx,要调大上传体积上限和超时时间,否则手机备份大视频会报 413。
  • 版本更新:Immich 更新很频繁,升级前务必先备份数据库,并看官方 release note 有没有 breaking change。
  • 内存:机器学习和缩略图任务瞬时内存会飙高,小机器上把并发数调低一点。

写在最后

从 Google Photos 迁到自建 Immich,最大的变化其实不是省了那点月租,而是照片的控制权真正回到了自己手里。跑起来之后你会发现,相册里多了一个”AI 但只属于你”的搜索框,数据也不在外面裸奔了。折腾过程中踩坑了,欢迎留言,大叔看到了会回。

类似文章

发表回复

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