Immich:Google Photos 的终极替代方案,可用于自托管您的私有照片和视频云。

什么是 Immich?
  • Immich 提供备份、搜索和高级照片整理功能,一切尽在您的掌控之中。
  • 人工智能的集成实现了面部识别和语义搜索。
  • 使用 Docker 和原生应用程序可以轻松地在任何现代服务器或 NAS 上自行安装。

对于注重隐私的用户以及使用过 Google Photos 或 iCloud 等云服务的用户而言,掌控个人照片和视频已成为他们关注的核心问题。Immich应运而生,为那些希望完全掌控自身视觉记忆的用户提供了现代化的解决方案,它拥有先进的 AI 功能,并能全面管理照片和视频的整理和备份,一切尽在掌控之中。

本文将深入探讨 Immich 的定义、工作原理、适用人群、相对于商业替代方案和其他开源项目的优势、部署和运行步骤、所需硬件、自定义选项,以及高级用户日常使用中总结的经验教训。所有内容都将以实际应用经验为基础,不仅从技术角度出发,更从追求效率、安全性和最重要的——数字安全感的最终用户的角度出发。让我们开始吧。

什么是 Immich?它为什么重要?

Immich 是一个开源平台,致力于管理、整理和备份照片和视频,主要面向希望自行托管照片云的用户。它在后 Google Photos 时代设计,提供类似(甚至更好!)的用户体验,且无需依赖科技巨头,也不会损害用户隐私。您可以从其官方网站访问该项目、文档、社区以及下载链接。

Immich 最重要的特点在于,所有文件都保留在您的基础设施上:它们绝不会离开您的服务器,不会上传到第三方云端,未经您的许可,任何人也无法出于广告目的或人工智能模型分析它们。其开源架构让您可以根据自身需求完全自由地扩展或修改,而其积极的开发也使其成为一个不断发展的工具。

伊米奇的主要特点

  • 移动设备的自动备份和同步适用于 Android 和 iOS 的原生应用,可以像 Google Photos 一样自动上传照片和视频,但采用私密存储。
  • 人工智能辅助搜索Immich 依靠面部识别模型和语义分析,因此您可以使用自然语言概念搜索图像,而无需事先对其进行标记。
  • 现代且自适应的界面Immich 的网站模仿了商业平台的可用性和设计,包括时间线、按日期和专辑自动组织、可视化时间线以及按人物或地点分组。
  • 多用户支持您可以管理多个帐户(非常适合家庭或团队),每个帐户都有自己的默认隐私设置,并可以共享相册或选定的照片。
  • 元数据的保存和管理所有 EXIF 信息(日期、相机、GPS 位置等)均被保存,并可用于搜索和整理。
  • 面部识别、物体检测和语义搜索Immich 会自动将同一人的所有照片分组,并响应“海滩派对”、“雪地里的红色自行车”或“海边的狗”等自然搜索。
  • Live Photos 和 Motion Photos 支持甚至复制了苹果和谷歌原生应用的功能。
  • 轻松从 Google Photos、iCloud 或本地存储导入借助外部工具和 Google Takeout 的支持,您可以迁移您的图书馆而不会丢失历史数据或元数据。
  • 按自定义相册整理,并按地图筛选从地图视图浏览您的视觉记忆,轻松按位置查找照片。
  • 文件夹管理和存储模板您可以决定 Immich 是否根据日期、用户等将您的整个收藏重新组织到自己的文件夹中,或者连接外部只读库以对其进行索引,而无需移动文件。

谁应该使用 Immich?理想使用场景

Immich 的设计宗旨是为任何希望在管理照片和视频存档时兼顾隐私、控制权和灵活性的用户提供服务。它在以下场景中尤其有用:

  • 拥有多部手机的家庭或团体 他们希望每个成员都能自动备份自己的相机胶卷,并能以分组或单独的方式查看整个图库。
  • 高级用户、摄影师和创作者 那些重视个人档案、希望避免商业平台政策变化、希望快速访问数十年记忆而无需担心服务关闭、价格上涨或因合同变更导致数据丢失的用户。
  • 那些磁盘上已经拥有大量音乐库的用户 他们希望将服务器托管在本地,但允许从任何地方访问,从而保持完全控制权。Immich 还支持通过外部库与其他解决方案并行使用。
  • 技术爱好者、开发人员和系统管理员 想要学习应用程序 Docker 化、反向代理、使用 Docker Compose 进行高级管理以及真正自托管所需的安全性的人员。

对比:Immich 与 Google Photos、PhotoPrism 及其他替代方案

最受欢迎且最直接的 Google Photos 替代方案是 Immich,这不仅仅是因为它美观的界面。它的主要优势在于提供了几乎所有商业套件应有的功能,甚至在数据控制、多用户管理以及自动图像分析的深度方面超越了 Google Photos。技术论坛和博客上的许多经验都强调了以下几点:

  • Google Photos/Apple iCloud虽然可靠且与移动设备高度集成,但存储空间有限、价格不断上涨,并且完全依赖于其自身的条款和隐私政策。考虑到它们有能力(以及潜在的意愿)分析图像以训练商业人工智能或投放个性化广告,这种不信任感会进一步加剧。
  • 棱镜这款开源软件也融合了人工智能技术,强烈推荐用于将数十年的记忆内容归档到磁盘上。它的优势在于对现有库的索引和可视化地图;然而, 它没有充分涵盖来自移动设备的直接和持续备份。 它需要第三方应用(例如 PhotoSync 或 PWA 集成)才能提供良好的移动体验。其高级功能(例如增强的用户角色或高级地图图层)需要付费订阅才能使用,但基础版本是开源的。
  • LibrePhotos、Photoview、Nextcloud Photos、Piwigo、Chevereto、Damselfly、Lychee、Photonix、Ente它们各有优势,但在移动集成、自动同步或以即时性和人工智能为中心的用户体验方面往往有所欠缺,而这正是 Immich 真正擅长的领域。

Immich 和 PhotoPrism 的主要区别在于文件管理和移动体验。Immich 的优势在于能够“摆脱对 Google Photos 的依赖”,每天直接上传整个相机胶卷;而 PhotoPrism 则更适合已有的归档项目,这类项目更注重维护文件夹结构和优化应用体积。

Immich 安装分步指南:您需要了解的一切

Immich 的配置过程是为具备一定服务器配置经验的用户设计的,不过学习曲线文档齐全,社区也非常乐于助人。如果您从未接触过 Docker、Proxmox、Unraid、ZimaOS、Synology 或任何自托管解决方案,这可能是您第一个绝佳的实践项目。

1. 选择环境和硬件要求

Immich 可以安装在任何现代 Linux 服务器上,无论是物理服务器还是虚拟机,运行 Ubuntu、Debian 或类似发行版均可,并且支持 x86_64 和 ARM64 架构(使其非常适合 Raspberry Pi 或小型家用 NAS 设备)。为获得最佳性能,推荐的操作系统为:

  • CPU: 至少需要 2 个核心(对于大型数据集和密集型机器学习分析,4 个以上核心更佳)
  • RAM: 最低 4 GB 内存(建议 8-16 GB,尤其是在启用机器学习的情况下)
  • 存储: 该应用占用空间很小(10 GB),大部分空间都被您的照片和视频占用;请记住,缩略图、缓存和中间版本还需要额外 10-20% 的空间。
  • 红色: 100 Mbps 足以满足本地访问需求;如果您计划进行远程访问,请优先考虑良好的上传速度(或使用 VPN/Tailscale)。
  • 支持 CUDA 的 NVIDIA GPU: 可选,但可以显著加快机器学习索引和处理速度。
  • SSD存储 (用于数据库和软件),如果您有大型库,则需要 HDD/RAID。

2. 安装依赖项并开始使用 Docker Compose

最常用且推荐的方法是使用Docker Compose:

  1. 在您的服务器上安装 Docker 和 Docker Compose(Unraid、ZimaOS 和其他带有应用商店或社区模板的环境也可用)。
  2. 创建一个文件夹用于存放配置文件,并下载该文件。 泊坞窗,compose.yml 和 .ENV 来自 Immich 的官方分支机构。
  3. 编辑 .env 文件以调整存储路径(上传位置)、Postgres 数据库数据、时区、软件版本、数据库用户名和密码,以及其他参数,这些参数都有详细的文档说明。
  4. 跑 docker compose up -dImmich 的容器将与 ML 服务、Redis 和 vector PostgreSQL 一起部署。
  5. 通过服务器的 2283 端口访问 Web 界面并创建管理员帐户;从那里您可以添加用户、配置库、查看统计信息和自定义体验。

在Unraid或ZimaOS中,由于其“应用商店”中的模板,此过程进一步简化,但建议检查所使用的图像是官方图像还是第三方替代图像;一些高级用户更喜欢创建自己的 XML 文件以获得最大程度的控制。

3. 与移动设备集成

请从各自的应用商店下载适用于 Android 或 iOS 的官方应用程序(如果您想要 100% 开源的版本,可以从 F-Droid 下载)。

  • 在应用中配置服务器 URL 和凭据。
  • 启用照片和视频的自动同步;Immich 允许自定义规则,例如仅限 Wi-Fi、仅在手机充电时同步、包含或排除视频,以及控制压缩/质量级别。
  • 您可以手动选择想要上传的照片或视频进行上传。

这些应用程序通过不同的图标清晰地显示每个文件的备份状态,并允许您查看共享图库或您自己的图库。

定制化、高级管理和维护

Immich服务器的内部配置

通过服务器管理界面,您可以:

  • 创建用户并分配配额、自定义存储标签和手动审核员
  • 导入方式:从 Google Photos(通过 Google Takeout 和 Immich 的 CLI)、iCloud 或本地硬盘导入
  • 任务和日志管理:跟踪缩略图生成、人脸识别处理、外部库扫描等的进度。
  • 配置存储模板、自定义文件夹组织方式(按年、月、用户等)
  • 外部集成:webhook、API、CLI 等。

安全和外部访问

远程访问:要允许互联网访问,您需要一个配置了 SSL 证书的反向代理(例如 Nginx、Caddy、Traefik 等)。同样重要的是,切勿在未使用 HTTPS 的情况下将 Immich 暴露在公共网络上。

VPN 或 Tailscale:最安全的解决方案是仅通过加密 VPN 限制远程访问。使用 Tailscale 可以轻松连接所有家庭设备,并通过专用网络 (100.xxx) 访问它们。

良好的安全实践:

  • 强密码,如果可用,管理员应启用双因素身份验证 (2FA)。
  • 防火墙已配置,并定期检查活动连接/打开的会话
  • 通过频繁的容器更新 docker compose pull始终查看版本说明

备份和灾难恢复

备份所有数据至关重要:不要让 Immich 成为你照片的唯一备份。务必备份:

  • 原始照片文件夹(UPLOAD_LOCATION)
  • PostgreSQL 数据库(手动或自动定期转储)
  • .env 配置文件和 docker-compose.yml 文件

您可以使用 rsync 将数据备份到另一台 NAS、加密云存储服务或本地外置硬盘。自动化此过程至关重要。请记住,备份只有在能够快速恢复的情况下才有用,因此请在灾难发生前测试备份流程。

常见故障排除

  • 上传错误检查服务器可用空间、反向代理允许的最大大小、更新移动应用程序并检查服务器日志。
  • 面部识别/人工智能性能如果 ML 容器重启,您可能需要更多 RAM 或交换空间;在资源不足的安装环境中,您可以禁用 AI。
  • 网页性能缓慢检查资源(CPU/RAM),将数据库保存在固态硬盘上,并定期清理缓存。
  • 移动同步问题:确保应用程序的权限,检查连接性并配置后台刷新(iOS)或持久服务(Android)。
  • 有问题的更新更新前务必在 .env 文件中设置版本并检查兼容性(该项目会频繁地对数据库和配置进行更改)。

优化和最佳实践

为优化性能和稳定性,建议保持充足的资源并定期进行维护。以下是一些建议:

  • 为机器学习容器分配足够的 RAM 和交换空间
  • 将数据库保存在固态硬盘 (SSD) 上,以便于搜索和索引。
  • 执行定期数据库维护(清理/分析)
  • 监控磁盘空间,并随着库的增长扩展存储空间。

真实用户体验亮点

从 Google Photos 或类似应用迁移过来的高级用户强调了几个他们在其他竞争对手那里找不到的优势:

  • 该界面复制了商业模型的易用性、时间顺序组织和键盘快捷键(例如收藏夹、快速删除、时间线导航等)。
  • 从 Google Photos 进行批量迁移(通过 Google Takeout 和官方的 Immich CLI 和 Immich-Go 工具)非常简单,尽管可能需要对元数据进行一些小的调整。
  • 面部识别和语义搜索真正改变了体验你可以要求它拍摄人物、事件、具体物体或抽象概念(“橙色的东西”)的照片,系统会快速准确地做出响应。
  • 不受可能关闭、变更条款或收取额外电费的服务的影响 如果您已经拥有自己的硬件,它能提供长期的安心保障,并大大降低成本。
  • 这款移动应用功能全面、速度快,并且能够完美地显示备份状态。虽然更高级的功能还在不断改进。
  • 目前还没有足够好的 Android TV/Google TV 应用这就迫使你使用连接到电视的笔记本电脑来观看家庭相册。

融合、社区和未来发展

Immich 的最大优势之一是其活跃的社区:论坛、Discord、GitHub 和专门的 subreddit,您可以在这些平台上提问问题、提出改进建议、报告错误或贡献代码、翻译和文档。

各项功能已无缝集成,例如:

  • CLI 的 API 支持
  • 使用 OpenStreetMap 进行地图管理和可视化
  • 向量搜索管理扩展(VectorChord,旧版 pgvecto.rs 的升级版)
  • 高级存储功能(TypeSense 用于超快速搜索,Redis 用于高效缓存,反向代理集成,以及完整的 HTTPS)

开发工作非常活跃,新版本会不断加入改进。如果您高度依赖该平台,请务必阅读每个版本的发布说明,并在测试环境中测试更新,以避免服务中断。

部署期间的提示和常见问题解答

  • Immich 和 PhotoPrism 能共存吗? 是的,这是可行且有用的:使用 Immich 作为日常存储库,使用 PhotoPrism 以只读模式索引外部文件。
  • 只把照片留在伊米奇安全吗? 绝对不行:始终至少执行一次定期外部备份;永远不要依赖单个本地实例。
  • Immich能否顺利地从其他平台迁移过来? 从 Google Photos 或 iCloud 导入非常简单,而且文档齐全;从本地存储导入时,您可以将外部库设置为只读模式,以简化过渡过程。
  • 我还需要多少额外空间? 它还包括在您的原图基础上额外收取 10%-20% 的费用,用于缩略图、矢量搜索和元数据。

Immich 提供全面的私人照片管理服务,其体验与商业平台类似,但兼具自托管的自主性、隐私性和自由度。如果您珍视美好回忆并希望完全掌控照片,Immich 将为您提供前所未有的强大而安全的选择。

发表评论