Immich 搭建属于你自己的 Google Photos
Immich 是一个高性能、开源的自托管照片和视频管理解决方案,常被视为 Google Photos 的开源替代品。本教程将指导你使用官方推荐的 Docker Compose 方式,在自己的服务器上完成 Immich 的部署。
1. 准备工作
在开始之前,请确保你的服务器满足以下最低要求:
- 操作系统:Linux(Ubuntu/Debian/CentOS 等)或 macOS。
- 硬件:至少 6GB RAM 和 2个 CPU 核心。
- 软件:已安装 Docker 和 Docker Compose(注意:是
docker compose命令,而非旧版的docker-compose)。
⚠️ 重要提醒:Immich 官方文档开头就着重强调,永远不要将 Immich 作为你珍贵照片和视频的唯一存储。请务必遵循 3-2-1 备份策略(3份数据、2种不同介质、1份异地备份)。
2. 部署 Immich 服务器
官方推荐使用 Docker Compose 进行部署,这是最简单和可维护的方式。
2.1 下载配置文件
首先,创建一个目录来存放 Immich 的配置和数据文件,并进入该目录:
1 | mkdir ./immich-app |
然后,使用 wget 下载官方提供的最新 docker-compose.yml 和示例环境变量文件(.env):
1 | # 下载 docker-compose.yml |
2.2 配置环境变量(.env 文件)
使用文本编辑器(如 nano 或 vim)打开 .env 文件,并根据你的需求修改以下关键参数:
1 | # 你的照片和视频文件将存储在这里。请确保该目录有足够的磁盘空间 |
UPLOAD_LOCATION:这是最重要的路径,所有你通过 Immich 上传的照片和视频都会存放在这里。请确保它指向一个存储空间充足的位置。DB_PASSWORD:出于安全考虑,务必修改此默认密码。你可以使用pwgen这样的工具生成一个强密码。
2.3 启动 Immich 服务
在包含 docker-compose.yml 和 .env 文件的目录下,执行以下命令来启动所有服务(包括 Immich 服务器、PostgreSQL 数据库和 Valkey/Redis 缓存):
1 | docker compose up -d |
此命令会以后台服务(-d 参数)的方式启动容器。首次启动时,Docker 会自动拉取所需的镜像,这可能需要一些时间。
执行后,你可以通过以下命令检查所有容器的运行状态:
1 | docker compose ps |
3. 首次配置与使用
Immich 启动后,你就可以开始进行初始设置了。
3.1 注册管理员账户
- 在浏览器中访问
http://<你的服务器IP地址>:2283(例如http://192.168.1.100:2283)。 - 页面加载后,点击 “Getting Started”(开始使用)按钮。
- 第一个注册的用户将自动成为管理员。按照提示填写你的邮箱、密码等信息完成注册。
3.2 体验 Web 端功能
注册并登录后,你就可以在 Web 界面中开始使用了:
- 上传照片:通过界面右上角的“上传”按钮,可以直接从浏览器上传照片和视频,体验基础功能。
- 探索功能:Immich 提供了丰富的功能,包括相册管理、人脸识别与聚类、按元数据/对象/人脸搜索、回忆(多年前今日)、全球地图视图等。
4. 移动端配置(推荐)
Immich 的强项之一是移动端自动备份。
4.1 下载 App
你可以从以下官方渠道下载 Immich 移动端 App:
- iOS:Apple App Store
- Android:Google Play Store 或 GitHub Releases(APK 文件)
- F-Droid:开源应用商店
4.2 登录并设置备份
- 打开 App,在 “Server Endpoint URL”(服务器端点 URL)字段中输入你的服务器地址:
http://<你的服务器IP地址>:2283。 - 使用你在第 3.1 步注册的管理员账号(或新创建的用户)登录。
- 登录后,点击右上角的云朵图标进入备份设置页面。
- 你可以选择要备份的手机相册,然后向下滚动并点击 “Enable Backup”(启用备份)按钮。App 将开始自动上传你选中的照片和视频。
5. 进阶配置:配置反向代理(可选)
为了安全地通过域名访问 Immich(启用 HTTPS),官方强烈推荐配置一个反向代理服务器。以下是使用 Nginx 的简要示例。
在 Nginx 的
sites-available目录中创建一个新的配置文件(如/etc/nginx/sites-available/immich.conf)。添加以下配置,将
immich.your-domain.com替换为你的实际域名:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17server {
listen 80;
server_name immich.your-domain.com;
location / {
# 注意:客户端最大上传大小,根据需求调整,例如 10G
client_max_body_size 10M;
proxy_pass http://127.0.0.1:2283;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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;
}
}启用配置并重新加载 Nginx。之后,你还需要使用 Let’s Encrypt 等工具为这个域名配置 SSL 证书以实现 HTTPS 访问。
6. 维护与更新
Immich 是一个活跃开发的项目,定期更新可以获得新功能和修复。
更新 Immich:在
docker-compose.yml文件所在目录执行以下命令即可更新到最新版本:1
2docker compose pull
docker compose up -d备份数据:请务必定期备份你的
UPLOAD_LOCATION(原始照片)和DB_DATA_LOCATION(PostgreSQL 数据库文件)目录。
总结
恭喜!通过以上步骤,你已经成功部署了一个功能强大、完全属于你自己的私有照片管理平台。
Immich 的核心价值在于它让你重获数据主权,将个人隐私照片和视频从公有云服务中解放出来,同时提供了近乎 Google Photos 的现代使用体验。其 Docker Compose 部署方式使得安装和维护都相对简单。
如果你在部署过程中遇到问题,可以随时参考 Immich 官方文档 或访问其 GitHub 仓库 寻求帮助。





