Immich:高性能自托管的照片与视频管理方案
项目介绍
Immich 是一款高性能的自托管照片与视频管理解决方案。可以把它理解成你自己服务器上的 Google Photos——拥有 Google Photos 的大部分核心功能,但数据完全由你掌控。
| 指标 | 数据 |
|---|---|
| 仓库 | https://github.com/immich-app/immich |
| Stars | 102,832 |
| Forks | 5,807 |
| 编程语言 | TypeScript |
| 开源协议 | AGPL-3.0 |
| 创建时间 | 2022-02-03 |
Immich 是目前 GitHub 上 Stars 最高的自托管照片管理项目之一,社区极其活跃,更新频繁。
功能矩阵
下面这张表展示了 Immich 在移动端和 Web 端的功能覆盖:
| 功能 | 移动端 | Web 端 |
|---|---|---|
| 上传和查看照片与视频 | ✅ | ✅ |
| 打开应用时自动备份 | ✅ | N/A |
| 去重上传 | ✅ | ✅ |
| 选择性相册备份 | ✅ | N/A |
| 下载照片和视频到本地 | ✅ | ✅ |
| 多用户支持 | ✅ | ✅ |
| 相册与共享相册 | ✅ | ✅ |
| 可拖拽滚动条 | ✅ | ✅ |
| 支持 Raw 格式 | ✅ | ✅ |
| 元数据查看(EXIF、地图) | ✅ | ✅ |
| 搜索(元数据/物体/人脸/CLIP) | ✅ | ✅ |
| 用户管理(管理功能) | ❌ | ✅ |
| 后台自动备份 | ✅ | N/A |
| 虚拟滚动 | ✅ | ✅ |
| OAuth 支持 | ✅ | ✅ |
| API Keys | N/A | ✅ |
| LivePhoto/MotionPhoto 备份与播放 | ✅ | ✅ |
| 360 度图片展示 | ❌ | ✅ |
| 自定义存储结构 | ✅ | ✅ |
| 公开分享 | ✅ | ✅ |
| 归档与收藏 | ✅ | ✅ |
| 全局地图 | ✅ | ✅ |
| 伙伴共享 | ✅ | ✅ |
| 人脸识别与聚类 | ✅ | ✅ |
| 回忆(X年前的今天) | ✅ | ✅ |
| 离线支持 | ✅ | ❌ |
| 只读画廊 | ✅ | ✅ |
| 照片堆叠 | ✅ | ✅ |
| 标签管理 | ❌ | ✅ |
| 文件夹视图 | ✅ | ✅ |
核心特性详解
智能搜索
Immich 的搜索能力非常强大,支持多种搜索维度:
- 元数据搜索:按日期、相机型号、镜头参数、ISO 等搜索
- 物体识别:自动识别照片中的物体,搜索”狗”、”海滩”、”汽车”等即可找到对应照片
- 人脸识别:自动识别人脸并聚类,可按人物搜索
- CLIP 语义搜索:使用 CLIP 模型进行自然语言语义搜索,如搜索”日落时分的海滩”也能匹配
自动备份
- 打开应用即自动备份新照片和视频
- 支持选择性相册备份(不是所有相册都备份)
- 后台静默备份
- 支持 LivePhoto / MotionPhoto
共享与协作
- 创建共享相册,邀请其他用户参与
- 伙伴共享:自动同步与伙伴的共享内容
- 公开分享:生成分享链接,非用户也可查看
存储灵活
- 用户自定义存储结构
- 支持 Raw 格式
- 不需要特定的存储结构——Immich 使用符号链接和数据库管理文件
安装方法
Immich 推荐通过 Docker Compose 安装:
# docker-compose.yml 基础配置
version: '3.8'
services:
immich-server:
image: ghcr.io/immich-app/immich-server:release
ports:
- 2283:3001
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
env_file:
- .env
depends_on:
- redis
- database
immich-machine-learning:
image: ghcr.io/immich-app/immich-machine-learning:release
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
env_file:
- .env
depends_on:
- database
redis:
image: redis:7-alpine
database:
image: tensorchord/pgvecto-rs:pg15-v0.2.0
volumes:
- db-data:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
volumes:
db-data:
完整的安装指南见 docs.immich.app。
⚠️ 始终遵循 3-2-1 备份策略保护你的珍贵照片和视频。
在线 Demo
如果你想先体验再安装,Immich 提供了官方 Demo:
- Demo 地址:https://demo.immich.app
- 移动端:使用
https://demo.immich.app作为服务器地址 - 登录凭证:
demo@immich.app/demo
优劣势分析
| 优势 | 说明 |
|---|---|
| 功能极其完善 | 几乎覆盖 Google Photos 的所有核心功能,包括人脸识别和智能搜索 |
| 100K+ Stars | 开源自托管领域最受欢迎的照片管理项目 |
| 社区活跃 | Discord 活跃用户多,版本更新频繁 |
| 移动端原生 | 提供 iOS/Android 原生 APP,体验接近商业产品 |
| CLIP 语义搜索 | 不限于标签搜索,支持自然语言语义理解 |
| Docker 一键部署 | 标准 Docker Compose 部署,对 NAS 用户极其友好 |
| 劣势 | 说明 |
|---|---|
| 资源占用较高 | 机器学习服务(人脸识别+CLIP)需要较充足的 CPU/内存,低配设备可能吃力 |
| 需要自托管基础设施 | 需要自己的服务器/NAS,不适合没有自托管条件的用户 |
| AGPL-3.0 许可 | 对商业集成有 copyleft 要求 |
| 学习曲线 | 虽然 Docker 部署简单,但后续的维护(升级、备份、迁移)仍需要一定技术能力 |
| 存储空间 | 自托管意味着存储空间完全由自己提供,大量照片视频需要大容量硬盘 |
适合谁用
- NAS 用户——群晖、威联通、Unraid、TrueNAS 上部署,比群晖 Moments 功能更强
- 隐私重视者——不想把照片上传到 Google/Apple 云服务
- 技术爱好者——喜欢自己捣鼓服务部署和运维
- 家庭用户——多用户、共享相册、伙伴共享,全家可用
- 摄影爱好者——支持 Raw 格式、EXIF 元数据查看、地图展示
总结
Immich 是目前开源自托管照片管理方案的天花板。102,000+ Stars 不是没有道理的——它拥有媲美 Google Photos 的功能集,但数据完全由你掌控。
从自动备份、人脸识别、智能搜索到公开分享,Immich 几乎能满足你对照片管理的所有需求。如果你有 NAS 或自托管服务器,并正在寻找 Google Photos 的替代方案,Immich 是当前最值得选择的开源项目。
⚠️ 始终遵循 3-2-1 备份策略——即使使用 Immich,也要确保你的照片有额外备份。
项目地址
| 资源 | 链接 |
|---|---|
| GitHub 仓库 | https://github.com/immich-app/immich |
| 官方网站 | https://immich.app |
| 文档站 | https://docs.immich.app |
| 在线 Demo | https://demo.immich.app |
| Discord | https://discord.immich.app |
| 开源协议 | AGPL-3.0 |
参考资料
- GitHub 仓库:源代码、Issue、Roadmap。→ https://github.com/immich-app/immich
- 官方文档:安装指南、配置说明、FAQ。→ https://docs.immich.app
- 官方网站:功能概览和路线图。→ https://immich.app
文档信息
- 本文作者:zhupite
- 本文链接:https://zhupite.com/tool/immich.html
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)