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 Stars87.2k+
开源协议AGPL-3.0

核心功能亮点

  • 多平台自动备份:提供 Android 和 iOS 客户端,可自动备份手机中的照片和视频。
  • AI 驱动的智能识别:内置机器学习模型,可在本地完成人脸识别、物体识别和场景分类,无需将数据上传到云端。
  • 强大的语义搜索:支持使用自然语言进行搜索,例如"在海滩上的日落"、"有猫的照片"等。
  • 地理信息与地图视图:自动解析照片的 GPS 数据,并在世界地图上展示其拍摄位置。
  • 多用户支持与家庭共享:支持创建多个独立账户,并可以方便地与家人共享相册。

硬件与系统要求

推荐硬件配置

为了确保 Immich 能够长期稳定运行,以下是经过实践验证的硬件配置清单。每一项选择都围绕稳定性这一核心目标,力求打造一套"永不崩溃"的私有云系统。

组件推荐型号 / 规格预估价格 (参考)为什么选它 (稳定性的关键)
主机 (核心)零刻 EQi12 1220P (准系统)¥1,379i3-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

  1. 创建工作目录

    mkdir -p /home/ubuntu/immich-app && cd /home/ubuntu/immich-app
    
  2. 下载官方配置文件

    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
    
  3. 开启 i3-1220P 硬件加速

    为了发挥零刻 EQi12 的核显性能,需修改 docker-compose.yml 文件:

    nano docker-compose.yml
    

    找到 services -> immich-server 下方,确保有如下内容(如果没有请手动添加):

    devices:
      - /dev/dri:/dev/dri  # 开启 Intel 核显直通
    

    这一配置将 Intel 核显设备直通给 Immich 容器,可显著加速视频转码和缩略图生成等任务。

  4. 编辑环境变量文件

    使用文本编辑器(如 nano)打开 .env 文件,根据您的实际情况修改关键配置。

    nano .env
    

    以下是必须关注和修改的几个核心参数:

    # --- 关键路径配置 ---
    # 定义您的照片和视频原始文件的存储位置。请确保该目录存在且权限正确。
    # 建议使用大容量数据盘的挂载点。
    UPLOAD_LOCATION=/mnt/data/immich/library
    
    # --- 数据库配置 ---
    # Immich 的数据库存储路径。为获得最佳性能,强烈建议将此路径设置在 SSD 上。
    DB_DATA_LOCATION=/mnt/ssd/immich/postgres
    
    # --- 时区设置 ---
    # 设置正确的时区以确保照片时间线显示正确。
    TZ=Asia/Shanghai
    
  5. 创建存储目录

    根据 .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 等多个容器的状态均为 runninghealthy

第四步:初始化 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 时,需要配置服务器端点地址。在"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