Immich:开源高性能的照片视频管理解决方案,你的私人Google Photos

背景

在数字时代,照片和视频是我们最珍贵的记忆:

  • 手机存储空间不够,照片越来越多无处安放
  • 云相册服务价格不菲,隐私安全令人担忧
  • 想和家人共享照片,但分享流程繁琐
  • 需要在电脑、平板、手机等多设备查看照片

今天介绍一款开源的照片和视频管理方案——Immich,它是 Google Photos 的开源替代,在 GitHub 上已获得 30K+ Star

什么是 Immich?

Immich 是一个高性能的自托管照片和视频管理解决方案,专为个人和家庭设计。

核心理念: “High performance self-hosted photo and video management solution”——高性能的自托管照片和视频管理解决方案。

核心特性:

特性 说明
移动端备份 手机相册自动备份
AI 人脸识别 自动识别人脸并分类
智能搜索 支持按内容、物体、CLIP 搜索
多用户支持 家庭成员共享协作
相册管理 个人相册、共享相册
元数据查看 EXIF 信息、地图位置
实时照片 支持 LivePhoto/MotionPhoto
开源免费 AGPL 3.0 许可证

GitHub 地址: https://github.com/immich-app/immich

官网: https://immich.app

在线体验: https://demo.immich.app

Immich vs Google Photos vs iCloud

对比项 Immich Google Photos iCloud
价格 免费 $21.99/年 $36/年(200GB)
开源 ✅ 完全开源 ❌ 闭源 ❌ 闭源
自托管 ✅ 完全支持 ❌ 不支持 ❌ 不支持
存储位置 自己的服务器 Google 云 Apple 云
AI 功能 ✅ 人脸识别、搜索 ✅ 强大 ✅ 基础
移动备份 ✅ 支持 ✅ 支持 ✅ 支持
共享功能 ✅ 支持 ✅ 支持 ✅ 支持
隐私安全 数据完全自主 数据在 Google 数据在 Apple

Immich 的独特优势:

  • 开源免费,无使用限制
  • 数据完全自主,隐私安全
  • 支持 AI 人脸识别和智能搜索
  • 移动端自动备份,多设备同步
  • 家庭共享协作,功能丰富

快速上手

方式一:Docker 部署(推荐)

下载官方 compose 文件:

# 创建目录
mkdir -p ~/immich && cd ~/immich

# 下载 docker-compose.yml
curl -L https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml -o docker-compose.yml

# 下载 .env 示例文件
curl -L https://github.com/immich-app/immich/releases/latest/download/example.env -o .env

# 编辑 .env 文件配置
nano .env

配置环境变量:

# .env 文件关键配置
IMMICH_HOST=0.0.0.0
IMMICH_PORT=3001
DB_HOSTNAME=immich_db
UPLOAD_LOCATION=./upload
REDIS_HOSTNAME=immich_redis

启动服务:

# 启动所有服务
docker-compose up -d

# 查看服务状态
docker-compose ps

# 查看日志
docker-compose logs -f

# 访问 Web 界面
# http://localhost:3001

方式二:使用 PostgreSQL(推荐生产环境)

version: '3.8'

services:
  immich-server:
    image: immich-app/immich:latest
    container_name: immich_server
    restart: unless-stopped
    ports:
      - "3001:3001"
    environment:
      - IMMICH_ENV=production
    volumes:
      - ./upload:/usr/src/app/upload
      - ./immich:/etc/immich
    env_file:
      - .env
    depends_on:
      - immich_db
      - immich_redis

  immich_db:
    image: tensorchord/pgvecto-rs:pg16-v0.2.0
    container_name: immich_db
    restart: unless-stopped
    environment:
      - POSTGRES_PASSWORD=postgres_password
      - POSTGRES_USER=postgres
      - POSTGRES_DB=immich
    volumes:
      - ./pgdata:/var/lib/postgresql/data

  immich_redis:
    image: redis:6.2-alpine
    container_name: immich_redis
    restart: unless-stopped
    volumes:
      - ./redis:/data

volumes:
  upload:
  pgdata:
  redis:

核心功能详解

1. 移动端备份

Immich 提供 iOS 和 Android 原生应用:

移动端功能:

功能 iOS Android
自动备份
后台备份
选择性备份
防止重复
实时照片
离线支持

配置自动备份:

1. 下载 Immich App (App Store / Google Play)
2. 连接你的服务器
3. 设置备份选项
   - 选择要备份的相册
   - 设置备份时间(Wi-Fi 下自动备份)
   - 设置电池保护

2. AI 人脸识别

Immich 内置 AI 人脸识别功能:

人脸识别特性:

  • 自动检测照片中的人脸
  • 智能分组同一人脸
  • 根据人脸创建时间线
  • 支持手动合并/分离人脸

使用人脸相册:

1. 进入"人物" (People) 相册
2. 查看所有识别的人物
3. 点击人物设置名称
4. 合并重复的人物
5. 隐藏不需要的人物

3. 智能搜索

Immich 支持多种搜索方式:

搜索类型:

类型 说明
文字搜索 按文件名、描述搜索
元数据搜索 日期、地点、设备搜索
AI 内容搜索 识别照片内容(如"猫"、“汽车”)
CLIP 搜索 自然语言描述搜索
人脸搜索 按人物搜索
地图搜索 按拍摄地点搜索

搜索示例:

// 搜索包含特定内容的照片
"cats"  // 搜索所有包含猫的照片
"beach sunset"  // 搜索海滩日落
"birthday party 2024"  // 搜索2024年生日派对
"people smiling"  // 搜索微笑的人物

4. 相册管理

Immich 提供灵活的相册管理功能:

相册类型:

类型 说明
个人相册 自己的照片整理
共享相册 与家人共享
时间线 按时间自动组织
人物相册 AI 人脸识别自动创建
地图视图 按地理位置展示

创建共享相册:

1. 点击"+"创建新相册
2. 设置相册名称
3. 选择"共享相册"选项
4. 添加成员
5. 设置查看/编辑权限

5. 共享与协作

Immich 支持家庭成员共享:

共享功能:

功能 说明
邀请成员 家庭成员加入
共享相册 共同维护相册
伙伴共享 双向自动共享
外部分享 生成分享链接

伙伴共享设置:

1. 设置 → 伙伴 (Partner)
2. 添加伙伴邮箱
3. 设置共享权限
   - 双向共享:各自上传的照片自动共享
   - 仅查看:伙伴只能查看
4. 伙伴会收到通知

6. 元数据和地图

Immich 展示完整的照片元数据:

EXIF 信息:

// 展示的元数据
- 拍摄日期时间
- 相机型号
- 镜头参数
- 光圈、快门、ISO
- GPS 位置
- 文件大小、尺寸

地图视图:

1. 点击地图图标
2. 查看照片拍摄位置
3. 点击标记查看该地点照片
4. 按国家/城市筛选

7. 归档和收藏

Immich 支持归档和收藏功能:

归档:

归档 vs 删除:
- 归档:照片从主界面隐藏,但保留在服务器
- 删除:永久从服务器删除

归档用途:
- 清理主界面但保留照片
- 临时隐藏某些照片

收藏:

收藏照片:
- 标记重要照片
- 快速访问
- 不影响原相册组织

高级配置

反向代理配置

Nginx 配置:

server {
    listen 80;
    server_name photos.example.com;

    location / {
        proxy_pass http://localhost:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # 禁止访问管理 API
    location /api/admin {
        return 404;
    }
}

存储配置

Immich 支持多种存储后端:

# .env 中的存储配置
# 使用本地存储
UPLOAD_LOCATION=/path/to/photos

# 使用 S3 兼容存储(如 MinIO、AWS S3)
STORAGE_TYPE=S3
S3_BUCKET=immich
S3_ENDPOINT=https://s3.example.com
S3_ACCESS_KEY_ID=your_access_key
S3_SECRET_ACCESS_KEY=your_secret_key

用户管理

管理员操作:

1. 进入管理面板
2. 用户管理:
   - 创建用户
   - 设置存储配额
   - 删除用户
3. 库管理:
   - 查看所有照片库
   - 管理共享设置

备份策略

3-2-1 备份原则

3 份副本、2 种介质、1 份异地

Immich 备份建议:

1. 原始文件备份
   - 定期备份上传目录
   - 使用 rsync 或 Borg Backup

2. 数据库备份
   - 定期导出 PostgreSQL 数据
   - 使用 pg_dump

3. 配置文件备份
   - 备份 .env 和 docker-compose.yml

备份命令:

# 备份上传文件
tar -czvf immich-backup-$(date +%Y%m%d).tar.gz ./upload

# 备份数据库
docker exec immich_db pg_dump -U postgres > immich_db_backup-$(date +%Y%m%d).sql

常见问题

Q:Immich 和 Google Photos 相比有什么优势?

A:

  • 完全免费,无存储限制
  • 数据完全自主,隐私安全
  • 可部署在任意服务器
  • 支持本地大模型(LLM)搜索

Q:需要多少存储空间?

A:取决于照片和视频数量。建议:

  • 基础使用:50GB+
  • 家庭使用:500GB+
  • 视频为主:1TB+

Q:支持哪些文件格式?

A:

  • 图片:JPEG、PNG、HEIC、WebP、RAW 等
  • 视频:MP4、MOV、AVI、MKV 等
  • RAW:CR2、NEF、ARW 等专业格式

Q:如何更新 Immich?

A:

# 拉取最新镜像
docker-compose pull

# 重启服务
docker-compose up -d

# 或使用 watchtower 自动更新
docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower immich_server

Q:支持多用户吗?

A:支持。可以创建多个用户,支持管理员角色和普通用户角色。

适用场景

推荐使用:

  • 个人照片和视频备份
  • 家庭相册共享
  • 替代 Google Photos
  • NAS 上的照片管理
  • 对隐私有要求的用户

不推荐使用:

  • 需要原生桌面应用(目前主要是 Web 界面)
  • 超大规模照片库(建议专业 DAM 系统)

总结

Immich 用"AI + 开源 + 自托管"的组合,成为了 Google Photos 的最佳开源替代。

核心优势回顾:

  • AI 能力:人脸识别、内容搜索、CLIP 搜索
  • 移动备份:iOS/Android 自动备份
  • 多用户支持:家庭共享协作
  • 开源免费:无使用限制
  • 数据自主:完全自托管,隐私安全
  • 功能丰富:地图视图、元数据、时间线

对于追求照片自主管理、AI 智能分类、家庭共享的用户,Immich 是最佳选择。


© 版权归无边界科技所有,版权所有。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐