新闻详情

新闻详情

首页 / 资讯中心 / 详情

Immich 自托管照片与视频管理:功能矩阵、快速安装与部署配置详解

发布时间:2026/9/7 19:06:03来源:尧图网络
Immich 自托管照片与视频管理:功能矩阵、快速安装与部署配置详解
Immich 自托管照片与视频管理功能矩阵、快速安装与部署配置详解【免费下载链接】immichHigh performance self-hosted photo and video management solution.项目地址: https://gitcode.com/GitHub_Trending/im/immich本文以 Immich 仓库的官方 README含瑞典语翻译版 readme_i18n/README_sv_SE.md为主体系统梳理 Immich 这个高性能自托管照片/视频管理方案的功能全景、官方 Demo 体验方式并结合仓库中真实的安装脚本、Docker Compose 编排与.env配置示例讲清楚从零部署到硬件加速的完整实操路径与底层架构映射。Immich 是什么Immich 定位为“高性能自托管照片与视频管理解决方案”High performance self-hosted photo and video management solution以 AGPLv3 协议开源。它由 Web 端、移动端Android/iOS、服务端与机器学习服务共同组成提供自动备份、人脸识别、语义搜索、共享相册等能力目标是让用户在自有服务器上拥有完整的数据主权。README 首页有两条官方提示值得牢记备份警示官方反复强调必须遵循 3-2-1 备份策略来保护珍贵的照片和视频3 份数据、2 种介质、1 份异地自托管不等于免备份文档指引完整的官方文档与安装指南托管在官方站点immich.app与docs.immich.app仓库内 docs/ 目录也收录了对应的安装、管理、特性与开发文档。此外README 本身支持多语言readme_i18n/ 下维护着 20 个语言的翻译版 README其中就包括本文所基于的瑞典语版README_sv_SE.md而面向应用界面的国际化翻译则位于 i18n/ 目录包含 89 个语言的 JSON 翻译文件如en.json、zh_Hans.json、sv.json等。README 末尾还包含贡献者图谱、Star 历史与仓库活跃度等社区统计入口以及一个可在各语言版本间跳转的语言切换列表。功能全景移动端与 Web 端能力矩阵README 中最核心的技术内容是功能特性矩阵它明确标注了每项能力在 Mobile 与 Web 两种客户端上的支持情况是评估部署价值的第一手依据功能移动端Web 端上传并查看视频与照片支持支持打开 App 时自动备份支持不适用防止资源照片/视频重复支持支持可选择性指定相册进行备份支持不适用将照片/视频下载到本地设备支持支持多用户支持支持支持相册与共享相册支持支持可拖动/可擦洗的滚动条支持支持RAW 格式支持支持支持元数据查看EXIF、地图支持支持按元数据、物体、人脸与 CLIP 语义搜索支持支持管理功能用户管理不支持支持后台备份支持不适用虚拟滚动大量资产流畅浏览支持支持OAuth 登录支持支持支持API 密钥不适用支持LivePhoto/MotionPhoto 备份与播放支持支持360 度全景图像显示不支持支持用户自定义存储结构支持支持公开分享支持支持归档与收藏支持支持世界地图按地理位置浏览支持支持伙伴共享Partner Sharing支持支持人脸识别与人脸聚类支持支持记忆“x 年前”回顾支持支持离线支持支持不支持只读画廊支持支持图像堆叠Stacked Photos支持支持标签Tags不支持支持文件夹视图Folder View支持支持注上表以 readme_i18n/README_sv_SE.md 的瑞典语功能矩阵为准并补入当前主干英文版 README.md 中新增的 Tags 与 Folder View 两行瑞典语译本略滞后于主干。“公开分享”在主干英文版中已同时支持移动端与 Web 端实际以最新发行版为准。矩阵中的几项高级能力直接对应 machine-learning/ 子项目的模型实现“按 CLIP 语义搜索”对应 machine-learning/immich_ml/models/clip/ 下的 CLIP 模型支持文本搜图如“海边的日落”“人脸识别与聚类”对应 machine-learning/immich_ml/models/facial_recognition/OCR 能力文档/照片内文字识别对应 machine-learning/immich_ml/models/ocr/。官方 Demo动手体验 ImmichREADME 提供了可直接试玩的在线演示环境无需自行部署即可先感受产品形态在移动端 App 中将Server Endpoint URL设置为demo.immich.app完整地址为https://demo.immich.app使用以下凭据登录邮箱密码demoimmich.appdemo这也可以作为验证你自建服务连通性的参照如果自建实例登录流程与 Demo 行为不一致可按 docs/docs/install/post-install.mdx 排查。快速安装一键脚本原理与流程仓库根目录的 install.sh 实现了“一键部署”阅读其main()流程install.sh#L73-L102可以清楚看到它只做了五件事创建目录在当前目录创建./immich-app子目录若已存在则复用并覆盖其中的 YAML 文件下载编排文件从最新 release 下载docker-compose.yml到该目录强调安装应使用当前 release 的编排文件主干main上的 compose 文件可能与最新发行版不兼容这一警告同样写在 docker/docker-compose.yml 头部注释中下载并生成 .env将example.env下载为.env并通过sha256sum | base64生成随机密码替换默认的DB_PASSWORD启动容器执行docker compose up --remove-orphans -d输出访问提示自动探测主机 IPmacOS 上回退到ipconfig getifaddr en0提示你通过http://IP:2283访问网站或移动端登录。脚本结束时的提示还给出了安装后的标准配置循环docker compose down停止容器修改.env中的数据库、Redis、备份上传位置等配置docker compose up --remove-orphans -d重新启动。脚本要求系统已安装docker compose与curl否则会以明确的退出码报错退出。手动部署Docker Compose 四大服务若要手动安装参考仓库内 docker/docker-compose.ymldocker/docker-compose.yml#L12-L76整个部署由 4 个服务组成服务容器名镜像职责与要点immich-serverimmich_serverghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}核心 API 服务对外映射2283:2283端口依赖redis与database媒体库挂载${UPLOAD_LOCATION}:/dataimmich-machine-learningimmich_machine_learningghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}人脸/CLIP/OCR 推理服务挂载命名卷model-cache:/cache缓存模型redisimmich_redisvalkey:9任务队列与缓存健康检查为redis-cli pingdatabaseimmich_postgresghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0定制 PostgreSQL内置 vectorchord 与 pgvectors 扩展存储 CLIP/人脸向量初始化参数开启--data-checksumsshm_size: 128mb两个数据卷必须落到本地磁盘${UPLOAD_LOCATION}:/data—— 上传的原始照片/视频与派生文件${DB_DATA_LOCATION}:/var/lib/postgresql/data—— 数据库文件官方明确数据库不支持放在网络共享存储上。.env关键配置项环境变量模板见 docker/example.env逐项说明变量模板默认值说明UPLOAD_LOCATION./library上传文件的存储位置也是 compose 中媒体库挂载点DB_DATA_LOCATION./postgres数据库文件位置不支持网络共享TZ注释状态时区取消注释并改为 tz 数据库中的时区标识IMMICH_VERSIONv3使用的 Immich 版本可固定为具体版本号如v2.1.0用于稳定部署DB_PASSWORDpostgres数据库连接密钥官方强烈建议改为随机密码且只能使用A-Za-z0-9不得含特殊字符或空格DB_USERNAMEpostgres模板注释标明“此线下方的值无需修改”DB_DATABASE_NAMEimmich数据库名一键脚本会自动替你替换DB_PASSWORD手动安装时必须自行处理。完整的环境变量参考含 SMTP、OAuth、硬件加速等全部变量见仓库文档 docs/docs/install/environment-variables.md。硬件加速机器学习与视频转码两套配置Immich 通过extends机制把硬件加速配置拆成了两个附加文件按需注释启用1. 机器学习加速—— docker/hwaccel.ml.yml在immich-machine-learning服务上启用支持cpu、armnnARM Mali GPU、rknn瑞芯微 NPU需映射/dev/dri并放开 AppArmor、cudaNVIDIA、rocmAMD、openvino等后端。compose 文件注释说明只需在镜像 tag 后追加后端名即可例如${IMMICH_VERSION:-release}-cudaopenvino-wsl等-wsl变体用于 WSL2 环境。2. 视频转码加速—— docker/hwaccel.transcoding.yml在immich-server服务上启用支持cpu、nvencNVIDIA、quicksyncIntel、rkmpp瑞芯威、vaapi/vaapi-wsl等后端NVIDIA 场景通过deploy.resources.reservations.devices声明 GPU 能力compute/video。两个文件头部均提示如果使用 Unraid 等只允许单一 compose 文件的平台可以把对应后端的配置直接内联到主docker-compose.yml的相应服务中。docker/docker-compose.yml#L16-L18 与 docker/docker-compose.yml#L36-L41 中预留的注释块正是这一机制的挂载点。相关文档位于 docs/docs/install/requirements.md、docker-compose.mdx、one-click.md、upgrading.md等。功能矩阵与仓库结构的对应关系把 README 的能力清单放回仓库目录可以验证每项功能都有对应的实现载体能力域实现位置上传/备份/搜索/共享等 APIserver/src/NestJS 服务端含controllers/82 个控制器、services/102 个服务、queries/SQL 查询等Web 界面管理、分享、浏览web/src/SvelteKit 前端routes/下为页面路由lib/下为组件与逻辑移动端自动备份、后台备份、离线mobile/Flutter 应用lib/services/、lib/repositories/承担同步与本地数据库drift逻辑pigeon/下为平台通道 API人脸/CLIP/OCR 推理machine-learning/Python 服务immich_ml/models/下按模型拆分多语言界面 READMEi18n/89 个语言文件与 readme_i18n/20 个语言 README安装与运维文档docs/docs/install/、docs/docs/administration/备份与恢复、维护模式、OAuth、服务器命令等从源码结构看服务端通过server/src/workers/中的后台 Worker 消费 Redis 队列执行转码、向量计算等异步任务这解释了为什么immich-server在 compose 中显式depends_onredis——机器学习结果人脸、CLIP 向量先由独立 ML 服务异步产出再由服务端任务管线落库从而支撑“搜索按物体、人脸与 CLIP”这类高级检索。结语部署要点回顾无论一键脚本还是手动安装产物都是immich-app目录下的docker-compose.yml.env访问入口为http://IP:2283DB_PASSWORD必须改为纯字母数字的随机值UPLOAD_LOCATION与DB_DATA_LOCATION必须指向本地磁盘有 GPU/NPU 时按hwaccel.ml.yml模型 tag 后缀与hwaccel.transcoding.ymlextends内联分别加速推理与转码上线前请把 3-2-1 备份策略落实为定期任务——官方文档中的备份与恢复指引见 docs/docs/administration/backup-and-restore.md。【免费下载链接】immichHigh performance self-hosted photo and video management solution.项目地址: https://gitcode.com/GitHub_Trending/im/immich创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Apache Tez深度解析:从MapReduce痛点看DAG执行引擎的提速之道 2026/9/7 19:42:09

Apache Tez深度解析:从MapReduce痛点看DAG执行引擎的提速之道

在大数据圈子里摸爬滚打久了,你一定会听到一个名字:Apache Tez。如果你觉得它陌生,那换个说法——它就是让Hive从“跑个离线任务要等到天黑”变成“干等半小时终于能看看日志”的幕后功臣。很多新手在接触到Hive on Tez、或者排查Spark任务之…

阅读更多 →
算法题横向拆解:从哈希到双指针,吃透面试高频题型 2026/9/7 19:42:09

算法题横向拆解:从哈希到双指针,吃透面试高频题型

两年前我刚开始刷算法题的时候,最怕的就是那种“看了解析觉得会了,合上答案又写不出来”的题。后来带新人才发现,这几乎是所有人的通病。所以陆陆续续写了差不多五十来道题的手写笔记,从最简单的数组双指针一路啃到树形DP&#xf…

阅读更多 →
大学生公寓管理系统开题报告:从需求分析到数据库设计全攻略 2026/9/7 19:42:09

大学生公寓管理系统开题报告:从需求分析到数据库设计全攻略

开题报告这种事,很多同学第一次接触的时候容易懵,觉得不就是走个流程吗?实际上,开题报告就是你整个毕业设计的“施工图纸”,图纸画得糊弄,后面盖楼全是坑。我见过太多人开题报告随便凑,结果中期…

阅读更多 →
NearLink技术解析:智能汽车无线通信的新选择,对比蓝牙与Wi-Fi的优势 2026/9/7 19:42:09

NearLink技术解析:智能汽车无线通信的新选择,对比蓝牙与Wi-Fi的优势

1. 为什么智能汽车需要一门新的无线技术:从手机耳机到座舱域控聊到智能汽车里的无线连接,很多人第一反应是蓝牙、Wi-Fi、UWB这些老面孔。确实,从车钥匙到车载蓝牙电话再到手机互联,这几项技术撑起了过去十年的智能座舱体验。但这两…

阅读更多 →
微信小程序书院预约系统:从数据模型到答辩实战 2026/9/7 19:42:09

微信小程序书院预约系统:从数据模型到答辩实战

每年毕业季,我都会收到一批“小程序预约”方向的求助,其中“基于微信小程序的书院预约系统”出镜率相当高。这个题目看起来特别友好:界面在手机上展示效果好,后端逻辑不算复杂,又是高校里真实存在的场景。但恰恰因为“…

阅读更多 →
一个主智能体、多个子智能体:Prime Agent Subagent 并行开发实践教程 2026/9/7 19:39:08

一个主智能体、多个子智能体:Prime Agent Subagent 并行开发实践教程

一个主智能体、多个子智能体:Prime Agent Subagent 并行开发实践教程 【免费下载链接】prime-agent A self-improving RLM agent for coding workflows and long-running autonomous tasks. 项目地址: https://gitcode.com/GitHub_Trending/pr/prime-agent 你…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞