Skip to content
GitHub 高星项目实战

Immich:自建手机相册备份,照片存在自己的硬盘上

手机 App 自动备份、人脸与内容搜索;容量取决于你自己的硬盘,不再按云相册容量订阅。

约 3 分钟读完947 字最近更新 2026-10-21#GitHub 高星项目#自托管#相册备份

Immich:自建手机相册备份,照片存在自己的硬盘上 ​

你能得到什么:一套装在自己 NAS、小主机或旧电脑上的相册服务。手机 App 打开就自动备份,支持人脸识别、按内容搜索、共享相册、多用户;能存多少取决于你自己的硬盘,不再按云相册的容量档位一年年续费。适合:家里照片视频多、已有 NAS 或一台常开的电脑、愿意自己做备份的人。不适合:没有常开设备、或者不想维护服务器的人。官方 README 也提醒:Immich 本身不等于备份,照片一定要按 3-2-1 原则另存。

本页未实测

我们的 Linux 云电脑没有 Docker 环境,Immich 官方只支持 Docker Compose 部署,这次没有实跑。下面的安装步骤和要求来自 官方文档(2026-10-21 查阅),坑来自官方文档和仓库 issue。

项目速览 ​

项目内容
仓库immich-app/immich
Star116,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 已不再支持。

sh
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
sh
# 先装 Docker Desktop,其余步骤同 Linux
# 官方说明:非 Linux 系统的 Docker 体验较差,排障支持也有限
powershell
# 先装 Docker Desktop(WSL 2),其余步骤同 Linux
# 数据库目录不能放在 NTFS 或 /mnt 挂载的目录上,见下方避坑

使用教程:把手机照片自动备份回家 ​

  1. 建管理员:第一次打开 http://服务器IP:2283,按提示创建管理员账号。
  2. 装手机 App:在应用商店搜 Immich,服务器地址填 http://服务器IP:2283,登录。
  3. 开备份:在 App 里选要备份的相册,打开自动备份;首次会把所有照片传一遍,建议连 Wi-Fi、接电源。
  4. 再做一份备份:把 UPLOAD_LOCATION 目录定期同步到另一块盘或另一个地点,这一步不能省。
  5. 之后再考虑清理手机:确认服务器和另一份备份里都有,才删手机上的原图。

避坑与解决方案 ​

把 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 说明,并先备份数据库。