Immich 私有云照片备份方案部署指南
本文将详细介绍如何利用开源项目 Immich 搭建一套完全私有的照片备份系统,以替代 Google Photos 等商业云服务。该方案将所有数据存储在您自己的本地服务器上,AI 识别等高级功能也完全在本地运行,确保了数据的最高隐私性和自主可控性。
部署环境概览
本指南推荐在低功耗的迷你主机上部署,以实现7x24小时不间断运行,同时保持较低的能耗。以下为本次部署所采用的硬件与软件环境配置。
| 组件 | 规格 | 说明 |
|---|---|---|
| 硬件服务器 | 零刻 EQi12 (i3-1220P) | 一款超静音、低功耗的迷你主机,性能足以流畅运行 Immich 及其 AI 功能。 |
| 操作系统 | Ubuntu Server 24.04 LTS | 稳定、高效的服务器操作系统,为 Docker 和 Immich 提供可靠的运行环境。 |
技术栈与项目介绍
Immich:高性能照片管理方案
Immich 是一个功能强大的自托管照片和视频备份解决方案,被广泛认为是 Google Photos 的最佳开源替代品。它提供了从手机自动备份到 AI 智能检索的全方位功能,旨在提供企业级的照片管理体验。
| 属性 | 信息 |
|---|---|
| 项目地址 | https://github.com/immich-app/immich |
| 官方网站 | https://immich.app |
| 最新版本 | v2.4.1 (截至 2024年12月) |
| GitHub Stars | 87.2k+ |
| 开源协议 | AGPL-3.0 |
核心功能亮点:
- 多平台自动备份:提供 Android 和 iOS 客户端,可自动备份手机中的照片和视频。
- AI 驱动的智能识别:内置机器学习模型,可在本地完成人脸识别、物体识别和场景分类,无需将数据上传到云端。
- 强大的语义搜索:支持使用自然语言进行搜索,例如"在海滩上的日落"、"有猫的照片"等。
- 地理信息与地图视图:自动解析照片的 GPS 数据,并在世界地图上展示其拍摄位置。
- 多用户支持与家庭共享:支持创建多个独立账户,并可以方便地与家人共享相册。
硬件与系统要求
推荐硬件配置
为了确保 Immich 能够长期稳定运行,以下是经过实践验证的硬件配置清单。每一项选择都围绕稳定性这一核心目标,力求打造一套"永不崩溃"的私有云系统。
| 组件 | 推荐型号 / 规格 | 预估价格 (参考) | 为什么选它 (稳定性的关键) |
|---|---|---|---|
| 主机 (核心) | 零刻 EQi12 1220P (准系统) | ¥1,379 | i3-1220P 算力冗余。相比 N100,它在处理大量并发请求时不会让 CPU 长期 100% 满载,这是系统不死机的基础。 |
| 内存 (RAM) | 32GB (16GB x 2) DDR4 3200MHz (推荐:英睿达、三星、海力士) | ¥450 左右 | 稳定性核心! Immich+数据库非常吃内存。16GB 只是够用,32GB 才是永不崩溃的安全线,彻底杜绝因"内存不足(OOM)"导致的 Docker 闪退。 |
| 系统盘 (SSD) | 1TB M.2 NVMe SSD (推荐:致态 TiPlus7100 或 三星 980) | ¥450 左右 | 存放数据库和缩略图。必须买原厂颗粒 (TLC)。千万别买杂牌,因为 Immich 会频繁读写数据库,杂牌盘掉速会导致网页卡死。 |
| 数据盘 (存储) | 2块 x 4TB~16TB 企业级硬盘 (推荐:西数 HC320/HC550 或 希捷银河) | 按需决定 | 存放原始照片。企业级硬盘 (Ultrastar/Exos) 设计寿命是 7x24 小时运行,比家用盘耐用得多。 |
| 硬盘柜 (DAS) | 双盘位 Type-C 硬盘柜 (带风扇) (推荐:绿联、优越者,必须带独立供电) | ¥200 - ¥300 | 小主机本身装不下大硬盘,需外挂。必须带风扇(硬盘过热会掉盘)且必须带独立电源适配器(USB 供电不稳是掉盘的主因)。 |
| 保命神器 | UPS 不间断电源 (推荐:雷迪司 H1000 或 山特 TG-BOX) | ¥250 - ¥350 | 防崩溃的最后一道防线。 Immich 的数据库最怕突然断电,一次断电可能导致数据库损坏、全部重来。UPS 能让你从容关机。 |
| 操作系统 | Ubuntu Server 24.04 LTS | 免费 | 软件层面的稳定。没有图形界面的干扰,资源占用极低,且永远不会像 Windows 那样自动重启更新。 |
总计预算:约 ¥3,000 + 硬盘钱。比购买成品 NAS (如群晖 DS923+) 便宜一半,但性能强 5 倍以上。
部署步骤
整个部署过程基于 Docker 和 Docker Compose,通过标准化的容器环境来简化安装和管理。
第一步:安装 Docker 环境
首先,我们需要在 Ubuntu Server 上安装 Docker 和 Docker Compose。以下脚本可以帮助您一键完成安装和配置。
# 下载一键安装脚本
wget -qO- https://www.twenhub.com/archives/linuxjiao-ben-yi-jian-zi-dong-an-zhuang-docker | bash
该脚本会自动处理 APT 仓库配置、安装最新版 Docker CE 以及 Docker Compose 插件,并设置 Docker 服务开机自启。安装完成后,可以通过以下命令验证安装结果:
docker --version
docker compose version
第二步:下载并配置 Immich
-
创建工作目录:
mkdir -p /home/ubuntu/immich-app && cd /home/ubuntu/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 -
开启 i3-1220P 硬件加速:
为了发挥零刻 EQi12 的核显性能,需修改
docker-compose.yml文件:nano docker-compose.yml找到
services->immich-server下方,确保有如下内容(如果没有请手动添加):devices: - /dev/dri:/dev/dri # 开启 Intel 核显直通这一配置将 Intel 核显设备直通给 Immich 容器,可显著加速视频转码和缩略图生成等任务。
-
编辑环境变量文件:
使用文本编辑器(如
nano)打开.env文件,根据您的实际情况修改关键配置。nano .env以下是必须关注和修改的几个核心参数:
# --- 关键路径配置 --- # 定义您的照片和视频原始文件的存储位置。请确保该目录存在且权限正确。 # 建议使用大容量数据盘的挂载点。 UPLOAD_LOCATION=/mnt/data/immich/library # --- 数据库配置 --- # Immich 的数据库存储路径。为获得最佳性能,强烈建议将此路径设置在 SSD 上。 DB_DATA_LOCATION=/mnt/ssd/immich/postgres # --- 时区设置 --- # 设置正确的时区以确保照片时间线显示正确。 TZ=Asia/Shanghai -
创建存储目录:
根据
.env文件中的配置,创建相应的物理目录。sudo mkdir -p /mnt/data/immich/library sudo mkdir -p /mnt/ssd/immich/postgres sudo chown -R $(whoami):$(whoami) /mnt/data/immich /mnt/ssd/immich
第三步:启动 Immich 服务
在 immich-app 目录下,执行以下命令来启动所有服务容器:
docker compose up -d
首次启动时,Docker 会自动下载所有必需的镜像,包括 Immich 服务器、机器学习模型、数据库和缓存服务。这个过程可能需要一些时间,具体取决于您的网络速度(镜像总体积约 4GB)。
等待命令执行完毕后,可以通过以下命令检查所有容器的运行状态:
docker compose ps
如果一切正常,您应该能看到 immich-server, immich-machine-learning, immich-postgres, immich-redis 等多个容器的状态均为 running 或 healthy。
第四步:初始化 Immich 系统
服务启动后,在浏览器中访问 http://<您的服务器IP>:2283。您将看到 Immich 的欢迎界面。点击"Getting Started"按钮,注册您的第一个管理员账户。请注意,系统中没有默认密码,第一个注册的用户将自动获得管理员权限。
客户端下载与配置
Immich 提供了功能完善的移动客户端,方便您随时随地备份和访问照片。
Android 客户端
| 下载渠道 | 地址 | 说明 |
|---|---|---|
| Google Play | 官方商店链接 | 推荐方式,可获取自动更新。 |
| F-Droid | 开源商店链接 | 适合无法访问 Google 服务的设备。 |
| GitHub Releases | 直接下载 APK | 可手动下载 app-release.apk 文件进行安装。 |
iOS 客户端
iOS 用户可直接在 App Store 中搜索 "Immich" 或通过以下链接下载:
- App Store 地址:https://apps.apple.com/app/immich/id1613945652
客户端连接配置
首次打开移动端 APP 时,需要配置服务器端点地址。在"Server Endpoint URL"中输入:
http://<您的服务器IP>:2283
之后,使用您在 Web 界面注册的邮箱和密码登录即可。为了实现外网访问,建议配置内网穿透工具(如 Tailscale、Cloudflare Tunnel 等),并将 APP 中的服务器地址更新为穿透后的公网地址。
安全性与隐私分析
选择自托管方案的核心优势在于数据隐私。Immich 在设计上充分贯彻了这一原则。
数据存储与 AI 处理
Immich 的隐私政策明确指出,所有用户数据,包括照片、视频、元数据和 AI 分析结果,都 100% 存储在用户自己的服务器上。开发团队无法访问这些数据。
本地化 AI:Immich 的人脸识别、物体分类和语义搜索等 AI 功能,均通过本地运行的开源机器学习模型实现。整个分析过程完全离线,即使服务器断开互联网连接,这些功能依然可用,确保了敏感的生物特征信息不会离开您的私有环境。
网络连接与传输安全
默认情况下,Immich 在局域网内通过 HTTP 协议进行通信。为了增强安全性,特别是在需要公网访问时,强烈建议配置 HTTPS。您可以通过 Nginx 等反向代理轻松实现 SSL 加密,或使用 Tailscale 这类零配置 VPN 工具来建立端到端的加密隧道。
与商业云服务的对比
| 对比项 | Immich (自托管) | Google Photos / iCloud |
|---|---|---|
| 数据所有权 | 用户完全拥有 | 服务商拥有最终解释权 |
| 数据存储位置 | 用户自己的硬件 | Google / Apple 的全球数据中心 |
| AI 处理位置 | 本地服务器 | 云端服务器 |
| 隐私泄露风险 | 仅限于物理安全和网络配置 | 面临服务商数据泄露、政策变更、账户审查等风险 |
| 长期成本 | 一次性硬件投入 + 电费 | 持续的订阅费用,且价格可能上涨 |
总结
通过遵循本指南,您可以成功部署一套基于 Immich 的、完全自主可控的私有云照片备份系统。这套方案不仅功能强大,媲美商业服务,更在数据隐私和所有权方面提供了无与伦比的保障。对于任何重视数字遗产和个人隐私的用户来说,这都是一项值得投入的长期解决方案。
参考链接
| 资源 | 地址 |
|---|---|
| Immich 官方网站 | https://immich.app |
| Immich GitHub 仓库 | https://github.com/immich-app/immich |
| Immich 官方文档 | https://docs.immich.app |
| Tailscale 内网穿透 | https://tailscale.com |