Immich 简介
Immich 是 Google 相册的开源替代方案,可以把手机里的照片和视频自动备份到由您掌控的服务器上。它提供时间线、共享相册、按内容搜索、人脸识别,以及显示拍摄地点的地图。使用者既有想把回忆从美国云服务中迁出的个人用户,也有需要集中管理照片库的家庭、小团队和摄影师。
服务器交付时,cloud-init 脚本已经从 Docker 官方仓库安装了 Docker Engine 和 Compose 插件,并把最新版 Immich 的 docker-compose.yml 和 .env 示例文件下载到 /opt/immich。数据库的随机密码已经生成,容器也已启动。Web 界面监听 2283 端口。
系统不会预先创建管理员账户:第一个注册的用户会自动成为管理员。访问地址、路径和数据库密码等信息保存在 /tmp/credentials.txt 中,只有 root 可以读取。
用 Immich 可以做什么
手机端自动备份
iOS 和 Android 客户端会在后台把照片和视频上传到您的服务器。需要同步哪些相册,由您自己选择。
智能搜索与人脸识别
Immich 会为图片内容建立索引,您可以用文字描述找到照片,同时按人物对人脸进行归类。这些处理都在您自己的服务器上完成,不经过第三方。
可控的相册与分享
您可以创建与其他用户共享的相册,也可以生成公开链接。每位家庭成员都有独立的账户和照片库。
基于 Docker Compose 的官方部署
部署使用 Immich 最新版本随附的官方文件,位于
/opt/immich。升级只需两条 Compose 命令。数据存放在普通目录中
照片库位于
/opt/immich/library,PostgreSQL 数据库位于/opt/immich/postgres。备份或迁移,只需复制这两个目录。安全的首个管理员账户
系统不会创建任何默认账号。第一个注册的用户成为管理员,避免在对外暴露的服务器上留下人人皆知的账户。
Immich 快速上手
从下单到上线,只需几分钟。
- 1
下单时勾选 Immich
选择位于巴黎或法兰克福的 Linux VPS(Debian 12 或 13,Ubuntu 22.04 或 24.04),然后在订购表单的“Applications”选项卡中勾选 Immich。请按照片库的规模预留足够的磁盘空间,并为智能搜索准备至少 6 GB 内存。
- 2
登录服务器并查看账户信息
服务器交付后,通过 SSH 登录。安装过程需要下载 Docker 镜像,可能要几分钟,可以在日志中查看进度。然后读取信息文件,并把内容保存到密码管理器,因为它位于 /tmp 目录下,不会长期保留。
Bashssh USER@SERVER_IP tail -n 20 /var/log/immich-auto-install.log sudo cat /tmp/credentials.txt - 3
创建管理员账户
在浏览器中打开 http://SERVER_IP:2283,按照欢迎向导操作。第一个注册的用户会获得管理员权限。之后安装手机客户端,填入服务器地址即可开启备份。
- 4
正式使用前先做好安全加固
把 YOUR_DOMAIN 的 DNS A 记录指向 SERVER_IP,在 2283 端口前部署支持 HTTPS 的反向代理,并限制对外开放的端口。同时请为 /opt/immich/library 和 /opt/immich/postgres 制定定期备份计划。
Bashsudo ufw allow OpenSSH sudo ufw allow 80,443/tcp sudo ufw enable
Immich 的使用场景
替代 Google 相册或 iCloud
导入现有的照片库,并在各部手机上开启自动备份。您的照片保存在位于欧洲的巴黎或法兰克福服务器上。
家庭共享照片库
每位家人都有自己的账户、相册和手机备份。共同相册可以集中旅行照片,不必再通过聊天软件来回发送。
摄影爱好者的照片档案
把相机导出的照片集中到同一条可浏览的时间线上。按人物或地点搜索和分类,几秒钟就能找到想要的照片。
自托管试验环境
在迁移大型照片库之前先评估 Immich,或者借此学习如何运维带 PostgreSQL 的 Docker Compose 组件栈。服务器可随时销毁,也容易重建。
Immich 常见问题
Immich 官方文档建议至少 6 GB 内存和 2 个 CPU 核心,4 核更佳。智能搜索和人脸识别对资源消耗较大,尤其是首次导入大型照片库的时候。磁盘容量也请根据照片和视频的总量来规划。
深入了解 Immich
服务器上安装了什么
所有内容都在 /opt/immich 中:docker-compose.yml、.env 文件(权限 600,其中包含数据库密码)、存放照片的 library 目录,以及存放数据库数据的 postgres 目录。安装日志位于 /var/log/immich-auto-install.log。
Compose 命令需要在该目录下执行:
Bashcd /opt/immich docker compose ps docker compose logs -f immich-server
用反向代理启用 HTTPS
服务在 2283 端口上只提供普通 HTTP。如果要让手机从外网连接,请先把它放到反向代理(Caddy、Nginx 或 Traefik)之后,由代理为 YOUR_DOMAIN 申请证书。使用 Caddy 时,配置只需几行:
YOUR_DOMAIN {
reverse_proxy 127.0.0.1:2283
}
使用 Nginx 时,请记得调大 client_max_body_size,否则上传大体积视频会失败。
还有一点需要注意:Docker 发布端口时会绕过 UFW 的规则。代理就绪后,如果不想再让 2283 端口被直接访问,请修改 docker-compose.yml 中 immich-server 服务的 ports 一行,改为监听 127.0.0.1:2283,然后执行 docker compose up -d 重新启动。
备份
照片库和数据库必须一起备份,只备份其中之一无法完整恢复。最简单的做法是先停止容器,把这两个目录复制到外部存储,再重新启动。
Bashcd /opt/immich docker compose stop tar -czf /root/immich-backup.tar.gz library postgres .env docker compose start
照片库较大时,建议改用 rsync 同步到另一台机器,并且至少完整演练一次恢复。备份如果与服务器放在同一块磁盘上,磁盘故障时就起不到保护作用。
更新
下载的文件对应交付时发布的版本。升级到新版本之前,请先阅读项目的发布说明,因为 Immich 迭代很快,个别版本需要手动操作。然后执行:
Bashcd /opt/immich docker compose pull docker compose up -d
每次大版本升级前请先备份。更多 VPS 运维教程请查看 Learn 栏目,各配置的详细信息见 Linux VPS 页面。
