告别付费网盘:用 Immich 在 NAS/VPS 上搭建自己的私有云相册

随着手机像素越来越高,照片和视频占用的空间也日益增长。许多人依赖于 Google Photos 或 iCloud 等云服务来备份自己的珍贵回忆,但这些服务不仅价格不菲,还存在隐私方面的担忧。如果你拥有一台 NAS (网络附属存储) 或 VPS (虚拟专用服务器),那么恭喜你,你完全可以搭建一个功能强大、安全私密的个人云相册——Immich。

本文将详细介绍如何部署 Immich,并分析其优缺点,帮助你实现真正的“数据自由”。


什么是 Immich?

Immich 是一个开源的、高性能的自托管照片和视频备份解决方案。你可以把它看作是 Google Photos 的一个开源替代品。它不仅能安全地存储你的照片和视频,还提供了许多现代化的智能功能,例如:

  • 手机 App 自动备份 (支持 iOS 和 Android)
  • AI 图像识别 (可以像在 Google Photos 中一样搜索“狗”、“沙滩”等)
  • 人物面部识别与分组
  • 地理位置信息展示与地图视图
  • 多用户支持与相册分享

最重要的是,所有数据都存储在你自己的服务器上,由你全权掌控。


部署实战:使用 Docker Compose 一键启动

在 NAS 或 VPS 上部署 Immich 最简单、最推荐的方式就是使用 Docker。这可以确保所有依赖项都被正确配置,并使更新和维护变得异常简单。

前提条件:

  • 一台已经安装好 Docker 和 Docker Compose 的 NAS 或 VPS。
    • 对于群晖 (Synology) NAS,可以通过其套件中心安装 Container Manager。
    • 对于威联通 (QNAP) NAS,可以使用 Container Station。
    • 对于 VPS,可以直接通过命令行安装。

步骤 1:创建项目文件夹并下载配置文件

首先,通过 SSH 连接到你的服务器,或者在 NAS 的文件管理器中操作。

  1. 创建一个用于存放 Immich 配置的文件夹,例如 immich-app

    1
    2
    mkdir immich-app
    cd immich-app
  2. 从 Immich 的官方 GitHub 仓库下载部署所需的两个核心文件:docker-compose.yml.env (环境变量文件)。

    1
    2
    3
    4
    5
    6
    7
    8
    # 下载 docker-compose.yml 文件
    wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml

    # 下载 .env 文件的模板
    wget https://github.com/immich-app/immich/releases/latest/download/example.env

    # 将模板文件重命名为 .env
    mv example.env .env

步骤 2:配置环境变量

.env 文件是 Immich 的核心配置文件,你需要根据自己的情况进行修改。使用文本编辑器(如 nanovim)打开它。

1
nano .env

以下是几个必须修改的关键配置项:

  • UPLOAD_LOCATION: 这是你的照片和视频实际存储的位置。强烈建议将其设置为一个你方便管理的、位于 Docker 外部的路径,以便于备份和迁移。

    1
    2
    3
    4
    # 将下面的路径替换为你自己的路径
    # 例如,在 NAS 上可能是 /volume1/photos/immich
    # 在 VPS 上可能是 /mnt/data/immich
    UPLOAD_LOCATION=/path/to/your/photos

    注意:请确保这个文件夹已经创建,并且 Docker 有权限读写它。

  • DB_PASSWORD: 为 Immich 使用的数据库设置一个强密码

    1
    2
    # 把 "postgres" 替换成一个复杂的密码
    DB_PASSWORD=YourComplexPassword
  • IMMICH_WEB_URL (可选,但推荐): 如果你打算通过域名访问 Immich,请在这里设置。这会改善分享链接的体验。

    1
    2
    # 例如 http://photos.yourdomain.com
    IMMICH_WEB_URL=http://<your-ip-or-domain>:2283

修改完成后,保存并退出编辑器 (在 nano 中是 Ctrl+X, Y, Enter)。

步骤 3:启动 Immich 服务

现在,一切准备就绪。在 immich-app 文件夹中,运行以下命令来启动所有服务:

1
2
# -d 参数表示在后台运行
docker-compose up -d

Docker 会开始拉取所需的镜像并创建容器。这个过程可能需要几分钟,具体取决于你的网络速度。当命令执行完毕后,Immich 就已经成功运行了!

步骤 4:访问和初始化

  1. Web 端:打开浏览器,访问 http://<你的服务器IP>:2283
  2. 首次设置:你会看到一个初始化页面,要求你创建一个管理员账户。设置好邮箱和密码后,你就可以登录并开始使用了。
  3. 手机端:在手机的应用商店搜索 “Immich” 并下载。打开 App,在服务器地址栏输入 http://<你的服务器IP>:2283,然后用你刚刚创建的管理员账户登录。登录后,你就可以开始设置自动备份了。

优缺点与适用场景

优点

  1. 数据主权与隐私:所有数据都在你自己的服务器上,没有第三方可以扫描或分析你的照片。
  2. 功能强大:AI 搜索、人脸识别、地图视图等高级功能一应俱全,体验不输商业服务。
  3. 成本效益:一次性硬件投入(或低廉的 VPS 月租),无需为存储空间持续付费。
  4. 开源与活跃社区:项目迭代速度快,功能不断完善,遇到问题可以从社区获得帮助。
  5. 跨平台支持:优秀的 Web 端和移动端 App,体验统一。

缺点

  1. 需要一定的技术门槛:虽然 Docker 简化了部署,但基本的服务器维护、网络知识和故障排查能力还是必要的。
  2. 项目仍在快速发展中:这意味着偶尔可能会有“破坏性更新 (Breaking Change)”,升级时需要仔细阅读更新日志。
  3. 硬件与网络依赖:服务的稳定性和访问速度取决于你的服务器硬件性能和家庭/VPS 的网络带宽。

适用场景

  • NAS 用户:如果你已经有一台 NAS,部署 Immich 是完美的照片备份方案。数据存储在本地,通过内网访问速度极快,安全放心。你可以配合内网穿透或反向代理实现外网访问。

  • VPS 用户:如果你希望随时随地都能高速访问你的相册,并且不依赖于家庭网络,那么在 VPS 上部署 Immich 是一个绝佳选择。尤其适合与家人朋友共享相册。

  • 注重隐私的摄影爱好者:对于拥有大量照片并极其看重隐私的用户,自建 Immich 服务是理想的归宿。


总结

Immich 为我们提供了一个在功能、体验和隐私之间取得完美平衡的自托管相册解决方案。虽然它需要一些动手能力,但一旦成功部署,你将获得一个完全由自己掌控的、可以永久使用的数字记忆宝库。告别订阅费,拥抱数据自由,从搭建你自己的 Immich 开始吧!