Immich 照片备份管理系统部署教程
Immich 是一款高性能的开源照片和视频备份管理方案,目标是成为 Google Photos 的自托管替代品。它提供了手机自动备份、AI 智能分类、人脸识别、地图浏览、共享相册等丰富功能,界面体验接近商业云相册服务。本文将介绍如何在搬瓦工 VPS 上使用 Docker 部署 Immich。部署前请确保已安装好 Docker 和 Docker Compose。
一、系统要求
- 操作系统:Ubuntu 20.04+ 或 Debian 11+。
- 内存:至少 4GB(AI 功能需要较多内存),最低 2GB(禁用机器学习)。
- 磁盘:取决于照片数量,建议至少 50GB。
- CPU:至少 2 核心,AI 处理受益于更多核心。
- 域名:建议绑定域名并配置 SSL(手机 APP 需要 HTTPS)。
二、获取配置文件
mkdir -p /opt/immich
cd /opt/immich
# 下载官方 Docker Compose 文件
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
wget -O hwaccel.transcoding.yml https://github.com/immich-app/immich/releases/latest/download/hwaccel.transcoding.yml
wget -O hwaccel.ml.yml https://github.com/immich-app/immich/releases/latest/download/hwaccel.ml.yml
三、配置环境变量
编辑 .env 文件:
# 上传文件存储路径
UPLOAD_LOCATION=/opt/immich/upload
# 数据库密码
DB_PASSWORD=your_strong_db_password
# Immich 版本(使用 release 跟踪最新稳定版)
IMMICH_VERSION=release
# 数据库数据路径
DB_DATA_LOCATION=/opt/immich/postgres
创建必要目录:
mkdir -p /opt/immich/{upload,postgres}
四、启动 Immich
cd /opt/immich
docker compose up -d
Immich 会启动多个服务容器:
- immich-server:主应用服务。
- immich-machine-learning:AI 机器学习服务(人脸识别、智能搜索等)。
- immich-postgres:PostgreSQL 数据库。
- immich-redis:Redis 缓存。
docker compose ps
docker compose logs -f immich-server
五、配置 Nginx 反向代理
cat > /etc/nginx/sites-available/immich <<'EOF'
server {
listen 80;
server_name photos.yourdomain.com;
client_max_body_size 50000M;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
location / {
proxy_pass http://127.0.0.1:2283;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
ln -s /etc/nginx/sites-available/immich /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d photos.yourdomain.com
注意 client_max_body_size 设置为较大的值以支持大视频文件上传。
六、初始化与注册
访问 https://photos.yourdomain.com,首次访问需要注册管理员账户。注册后建议在管理设置中关闭公开注册。
七、手机 APP 配置
Immich 提供了 iOS 和 Android 客户端应用。在应用商店搜索 "Immich" 下载安装后:
- 打开 APP,输入服务器地址
https://photos.yourdomain.com。 - 使用注册的账户登录。
- 在设置中开启"自动备份"功能。
- 选择要备份的相册(相机胶卷、截图等)。
- 设置备份条件(仅 Wi-Fi、包含视频等)。
八、AI 功能
Immich 的 AI 功能是其核心亮点:
- 智能搜索:使用 CLIP 模型,支持自然语言搜索照片(如搜索"海边的日落")。
- 人脸识别:自动检测和分组照片中的人脸。
- 物体检测:自动为照片添加标签(如"猫"、"建筑"、"食物"等)。
- 地图浏览:根据照片的 GPS 信息在地图上浏览。
如果 VPS 内存有限(2GB 以下),可以在 docker-compose.yml 中移除 machine-learning 服务来禁用 AI 功能。
九、外部存储库
Immich 支持导入已有的照片目录而不移动文件。在管理面板 > External Libraries 中添加外部存储路径,需要在 docker-compose.yml 中挂载对应目录。
十、数据备份
# 备份数据库
docker exec immich_postgres pg_dumpall -U postgres > /opt/immich/backup_db_$(date +%Y%m%d).sql
# 照片文件已存储在 /opt/immich/upload 目录
# 建议定期将照片目录同步到外部存储
rsync -avz /opt/immich/upload/ /backup/immich-photos/
十一、升级 Immich
cd /opt/immich
docker compose pull
docker compose up -d
升级前务必备份数据库。Immich 处于活跃开发阶段,大版本升级可能包含破坏性变更,请关注官方发布说明。
十二、常见问题
上传速度慢
受限于 VPS 的上行带宽。手机 APP 支持后台上传和断点续传,大量照片首次备份可能需要较长时间。
机器学习服务内存不足
machine-learning 容器在处理大量照片时可能消耗 2-3GB 内存。如果 VPS 内存有限,建议创建 swap:
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
总结
Immich 是目前最优秀的开源 Google Photos 替代方案,提供了接近商业产品的使用体验。由于 AI 功能对资源要求较高,建议选择 4GB 以上内存的搬瓦工方案。如果不需要 AI 功能,2GB 内存也能正常运行基础的照片备份和浏览功能。更多教程请参考:Paperless-ngx 文档管理、Nextcloud 云盘部署、Docker 安装教程。选购搬瓦工 VPS 请参考全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的循环折扣。