Immich:自建手机相册备份,照片存在自己的硬盘上
你能得到什么:一套装在自己 NAS、小主机或旧电脑上的相册服务。手机 App 打开就自动备份,支持人脸识别、按内容搜索、共享相册、多用户;能存多少取决于你自己的硬盘,不再按云相册的容量档位一年年续费。适合:家里照片视频多、已有 NAS 或一台常开的电脑、愿意自己做备份的人。不适合:没有常开设备、或者不想维护服务器的人。官方 README 也提醒:Immich 本身不等于备份,照片一定要按 3-2-1 原则另存。
本页未实测
我们的 Linux 云电脑没有 Docker 环境,Immich 官方只支持 Docker Compose 部署,这次没有实跑。下面的安装步骤和要求来自 官方文档(2026-10-21 查阅),坑来自官方文档和仓库 issue。
项目速览
| 项目 | 内容 |
|---|---|
| 仓库 | immich-app/immich |
| Star | 116,809(截至 2026-10-21) |
| 许可证 | AGPL-3.0 |
| 最新版本 | v3.3.4(2026-10-20 发布) |
| 它做什么 | 高性能自托管照片视频管理:手机自动备份、时间线、人脸与内容搜索、共享相册 |
硬件要求(官方):内存至少 6 GB、推荐 8 GB;CPU 至少 2 核、推荐 4 核;推荐 Linux。只有 4 GB 内存时,可以关掉机器学习功能运行。
安装指南
官方唯一推荐的方式是 Docker Compose。注意命令是 docker compose(带空格),旧的 docker-compose 已不再支持。
mkdir ./immich-app && cd ./immich-app
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
# 编辑 .env:UPLOAD_LOCATION 改成你的大硬盘目录,DB_PASSWORD 改成只含字母数字的随机密码,取消 TZ 那行注释
docker compose up -d
# 浏览器打开 http://服务器IP:2283# 先装 Docker Desktop,其余步骤同 Linux
# 官方说明:非 Linux 系统的 Docker 体验较差,排障支持也有限# 先装 Docker Desktop(WSL 2),其余步骤同 Linux
# 数据库目录不能放在 NTFS 或 /mnt 挂载的目录上,见下方避坑使用教程:把手机照片自动备份回家
- 建管理员:第一次打开
http://服务器IP:2283,按提示创建管理员账号。 - 装手机 App:在应用商店搜 Immich,服务器地址填
http://服务器IP:2283,登录。 - 开备份:在 App 里选要备份的相册,打开自动备份;首次会把所有照片传一遍,建议连 Wi-Fi、接电源。
- 再做一份备份:把
UPLOAD_LOCATION目录定期同步到另一块盘或另一个地点,这一步不能省。 - 之后再考虑清理手机:确认服务器和另一份备份里都有,才删手机上的原图。
避坑与解决方案
把 Immich 当成唯一一份副本
README 第一条警告就是遵循 3-2-1 备份原则:至少 3 份副本、2 种介质、1 份异地。Immich 是相册服务,不是备份方案;硬盘坏了或误删,没有第二份就找不回来。
docker compose 报 unknown shorthand flag 'd'
官方文档说明,这通常是用了发行版自带的旧版 Docker(比如 Ubuntu 22.04 的 docker.io 包)。按 Docker 官方步骤卸载旧版、从官方仓库重装 Docker Engine 即可。
报 healthcheck.start_interval 需要 Docker Engine v25
Docker 版本太旧。升级 Docker,或者按官方文档临时注释掉 docker-compose.yml 里 database 部分的 start_interval 那一行。
Windows 上数据库起不来
数据库目录 DB_DATA_LOCATION 必须在支持 Unix 权限的文件系统上,NTFS、exFAT 都不行,WSL 里 /mnt 下挂载的目录也不行。官方给的解法:.env 里改成 DB_DATA_LOCATION=pgdata,并在 docker-compose.yml 末尾的 volumes: 下加一行 pgdata:,改用 Docker 卷。
老 CPU 跑不了机器学习容器
官方要求说明:从 v3 起,amd64 上的机器学习容器需要 x86-64-v2 指令集,大约 2012 年以后的 CPU 都支持;在虚拟机里跑要选支持这一指令集的 CPU 类型。
升级前先看 Release 说明
Immich 迭代很快,跨大版本升级可能有数据库迁移或配置变更。.env 里的 IMMICH_VERSION 可以固定到具体版本,升级前先读对应版本的 Release 说明,并先备份数据库。