用途:Immich 是自托管的照片与视频管理应用,通过多容器 Docker Compose 栈运行,用于集中管理个人媒体库。
主要能力:栈至少包含 5 个服务——immich-server(API、Web UI、上传处理,端口 2283)、immich-microservices(缩略图、元数据提取、视频转码等后台任务)、immich-machine-learning(人脸检测、CLIP 语义搜索,可选)、database(带 pgvecto-rs 扩展的 PostgreSQL)、redis(任务队列)。支持外部图库同步、人脸检测、缩略图重建、CLIP 编码、用户创建与存储统计。
使用方式:配置与 docker-compose.yml 同目录的 .env,UPLOAD_LOCATION 需为持久卷挂载。常用命令:docker compose ps 查看状态;docker compose logs -f 查看日志;docker compose pull && docker compose up -d 更新;docker compose exec immich-server bash 进入容器;docker compose exec immich-server immich-admin user create 创建用户;docker compose exec database pg_dumpall -U postgres > immich-db-$(date +%F).sql 备份数据库。任务可在 Web UI 的 Administration → Jobs 中运行。健康检查可访问 http://localhost:2283/api/server-info/ping,返回 {"res":"pong"}。
适用场景:需要自托管、隐私可控的照片视频库,并希望具备人脸识别与语义搜索能力的用户。
限制:Immich 更新频繁,次要版本可能出现破坏性变更,升级前须阅读 GitHub release notes 并备份数据库。数据库必须使用带 pgvecto-rs 的 Immich 专用镜像,普通 postgres 镜像会因迁移错误启动失败。机器学习容器内存占用约 2–4 GB,可通过 MACHINE_LEARNING_ENABLED=false 关闭。上传目录需预留原始照片 2–3 倍空间。备份必须同时覆盖 PostgreSQL 数据库与上传目录。外部图库需手动配置并触发扫描。Immich 无内置 TLS,需自行反向代理。具体版本、价格与平台信息暂未提供。