属于大家的
VPS知识分享站

Immich 部署:Google Photos 替代,6GB 内存起步(2026)

先说结论:Immich 是目前最像 Google Photos 的开源自托管相册,手机自动备份、人脸识别、相册共享、地图浏览都有。但它不是“1 核 1G 能跑”的轻量工具:官方要求最低 6GB 内存、推荐 8GB,CPU 最低 2 核、推荐 4 核,数据库还要放本地 SSD。

部署前先确认三件事:

  • 内存:6GB 起步,8GB 更稳;4GB 只能关掉机器学习功能跑
  • 存储:照片和视频之外,缩略图和转码还会多占 10% 到 20%
  • 备份:数据库和上传目录要一起备,只备照片库恢复不完整

下面按“要求 → Docker 部署 → HTTPS → 手机备份 → 备份恢复 → 升级排错”讲,命令以 Linux + Docker Compose 为例。

手机连接应用容器、数据库和 AI 芯片的架构图
Immich 是应用 + Postgres + 机器学习三个容器,数据库必须放本地 SSD。

Immich 是什么

Immich 是一套自托管的照片和视频管理服务,包含 Web 端、手机 App、服务端和机器学习容器。它能自动备份手机相册、按时间和地点浏览、识别人脸和物体、创建共享相册,数据存在你自己的服务器上。

和 Nextcloud 这类网盘相比,Immich 更像“相册产品”:时间线、缩略图、人脸聚类、地图都是原生功能。代价是资源占用更高,尤其是机器学习容器。

硬件要求

项目 最低 推荐 说明
内存 6GB 8GB 4GB 需关闭机器学习
CPU 2 核 4 核 amd64/arm64,需 x86-64-v2
存储 按照片量 SSD/NVMe 数据库必须本地盘,不要网络存储
系统 Linux 64 位 Debian/Ubuntu 建议整机 VM,不推荐 LXC

官方特别说明:Postgres 数据文件通常 1 到 3GB,必须放本地 SSD;如果给 Docker 设了内存限制,数据库至少留 2GB。低于 6GB 内存的机器,上传和生成缩略图时很容易 OOM。

部署前准备

  1. 一台 2 核 4G 起步的 VPS,建议 2 核 8G 或 4 核 8G
  2. 一个域名,用来 HTTPS 访问和手机 App 连接
  3. 安装 Docker Engine 和 Compose 插件,确认是 docker compose 而不是旧的 docker-compose
  4. 规划存储目录,最好单独挂一块数据盘
  5. 放行 2283 端口给反向代理,公网只开 80/443

Docker Compose 部署

mkdir -p /opt/immich && cd /opt/immich
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=/mnt/data/immich/upload
DB_DATA_LOCATION=/mnt/data/immich/postgres
TZ=Asia/Shanghai
DB_PASSWORD=换成强密码
IMMICH_VERSION=release

启动并检查:

docker compose up -d
docker compose ps
docker compose logs -f immich-server

浏览器访问 http://服务器IP:2283,注册第一个管理员账号。确认能上传一张照片后,再配 HTTPS;不要长期用 IP + 明文端口对外。

反向代理和 HTTPS

用 Caddy 最省事,自动申请证书:

immich.example.com {
    reverse_proxy localhost:2283
}

用 Nginx 时注意三件事:client_max_body_size 调大(视频文件可能很大)、proxy_read_timeout 放长、转发真实 IP 和协议头。否则会出现上传中断、缩略图 502、App 登录失败。

手机端备份

  1. 安装 Immich App(iOS/Android),服务器地址填 https://immich.example.com
  2. 登录后开启“后台备份”,选择要备份的相册
  3. 先用几十张照片测试,确认上传、缩略图、视频播放都正常
  4. 再开全量备份,注意手机流量和电池策略

iOS 的后台任务受系统限制,不能保证实时;Android 可以设置前台服务和电池白名单。备份是“最终会同步”,不是“立刻同步”,重要照片别只依赖手机端。

手机通过发光通道把照片备份到服务器
手机端先小批量测试上传和缩略图,再开全量后台备份。

存储和备份

Immich 的数据分两块:上传目录(原图、缩略图、转码)和 Postgres 数据库(元数据、人脸、相册关系)。备份要同时覆盖:

# 数据库逻辑备份
docker compose exec -T database pg_dumpall -U postgres > /backup/immich-db.sql

# 上传目录
tar czf /backup/immich-upload-$(date +%F).tgz /mnt/data/immich/upload

数据库服务名以 docker compose ps 为准,不同版本可能叫 database 或 immich_postgres。备份放到另一台机器或对象存储,不要和被备份的数据在同一块盘上。定期做一次恢复演练,确认备份真的能用。

带备份护盾的发光照片库保险库
数据库和上传目录要一起备份,只备照片恢复不出相册和人脸。

升级和排错

docker compose pull
docker compose up -d
docker compose logs -f --tail=100

升级前先备份,升级后看 release notes,尤其是数据库迁移和大版本变更。常见问题:

  • 上传失败/502:反向代理 body 限制或超时,调大 client_max_body_size 和超时
  • OOM:内存不足,关机器学习或升配;数据库单独留 2GB
  • 缩略图不生成:看 immich-machine-learning 日志,确认 CPU 指令集和容器状态
  • 数据库连不上:检查 DB_DATA_LOCATION 权限和磁盘空间,别把数据库放网络盘

常见问题 FAQ

Q1:1 核 1G 能跑 Immich 吗?

不能。官方最低 6GB 内存,4GB 只能关机器学习勉强跑。1 核 1G 会在上传和生成缩略图时 OOM。

Q2:必须用 GPU 吗?

不必须。人脸识别和物体识别用 CPU 也能跑,只是慢。照片量很大再考虑 GPU 或独立机器学习节点。

Q3:照片存对象存储行不行?

上传目录可以放对象存储或网络盘,但 Postgres 数据库必须本地 SSD。数据库放网络存储,延迟和锁会出问题。

Q4:怎么从 Google Photos 迁过来?

先用 Google Takeout 导出,再用 Immich 的导入工具或 CLI 上传,保留拍摄时间。导入前先小批量测试元数据。

Q5:备份只备 upload 目录够吗?

不够。数据库里有相册、人脸、分享和元数据,必须一起备份,否则恢复后库是空的。

参考来源

总结

Immich 是自托管相册里体验最接近 Google Photos 的方案,但资源门槛不低:6GB 内存起步、8GB 更稳,数据库必须本地 SSD,备份要同时覆盖数据库和上传目录。按官方 Compose 部署,先把 HTTPS 和手机备份跑通,再逐步导入照片。

需要一台 2 核 8G 的机器跑 Immich,可以看萤光云香港 CN2 VPS,先按小时开一台测试上传和缩略图性能。

相关推荐

赞(0)
未经允许不得转载:VPS知识分享站 » Immich 部署:Google Photos 替代,6GB 内存起步(2026)