Immich 中文文档 下载 App

Immich 的运作原理:服务器、手机 App 与机器学习怎么协作

用 Immich 之前先弄清它内部谁在干什么,后面遇到「上传慢」「缩略图一直转」「搜索没结果」这类问题时,你能立刻判断出该去查哪一层。

三件套各自的角色

服务端(immich-server):系统的核心,通常以 Docker 容器形式运行在你那台常开的机器上。它负责接收上传、保存原始文件、管理用户与权限、提供网页端界面、调度所有后台任务。你在浏览器里访问的 http://服务器IP:2283 就是它。

手机 App:纯粹的「搬运工 + 取景器」。它在后台把新照片推给服务器,并给你一个顺手的浏览界面。App 本身不存任何「真相」——删掉重装,登录同一个服务器,一切照旧。

机器学习容器(immich-machine-learning):独立进程,专门跑模型。你上传的每一张照片都会被它处理两遍:生成向量嵌入供 语义搜索 使用,检测人脸供 人脸识别 聚类。内存紧张的机器可以整体关掉它(代价是搜索和探索页不可用)。

一张照片的完整旅程

  1. 你按下快门,照片躺在手机相册里;
  2. App 的备份任务发现它是新文件,计算内容校验和,确认服务器上没有重复后上传;
  3. 服务端把原始文件写入 UPLOAD_LOCATION 指定的目录,并在数据库里登记路径、拍摄时间、EXIF 等元数据;
  4. 机器学习容器排队处理:生成缩略图(模糊预览、Webp 预览、Jpeg 缩略图三种)、提取文字(OCR)、计算语义向量、检测人脸;
  5. 手机端和网页端的时间线上出现这张照片。

理解第 4 步很重要:照片出现在时间线不代表处理完毕。刚传完的大量照片会让任务队列忙碌一阵,机器配置一般时尤其明显——这正是 任务队列一页 教你怎么看的东西。

数据到底存在哪

想真正开跑,下一站是 硬件要求。