Immich 中文指南:高性能自托管照片与视频管理方案的全景解读与部署实战

发布时间:2026/9/7 16:02:06

Immich 中文指南:高性能自托管照片与视频管理方案的全景解读与部署实战
Immich 中文指南高性能自托管照片与视频管理方案的全景解读与部署实战【免费下载链接】immichHigh performance self-hosted photo and video management solution.项目地址: https://gitcode.com/GitHub_Trending/im/immich本篇基于 Immich 仓库的简体中文 README 展开带你完整理解这个自托管照片与视频管理项目的功能矩阵移动端/网页端能力对照、官方演示账号信息并结合仓库内的install.sh一键安装脚本、docker/docker-compose.yml容器编排与环境变量配置讲清楚一套 Immich 实例的四大服务组成、硬件门槛与底层实现要点读完即可独立完成部署并理解其架构原理。项目定位自托管的照片与视频管理方案Immich 是一个高性能的自托管照片与视频管理解决方案High performance self-hosted photo and video management solution采用 AGPL v3 协议开源见 LICENSE。需要特别说明的是简体中文 README 并非由 Immich 官方团队维护而是依靠社区贡献者更新因此内容可能不会及时同步这一点在文档开头有明确声明。README 中有两条关键提示值得所有自托管用户牢记备份警告为了您宝贵的照片与视频请始终遵守 3-2-1 备份方案3 份副本、2 种不同介质、1 份异地存储。Immich 是照片的“管理中枢”不应被当作唯一的备份终点完整文档入口详细的项目文档与安装教程以仓库内docs/目录为准例如 系统要求、架构说明、安装文档目录。此外仓库还收录了 21 份其他语言的 README 翻译见 README 英文主版本 及各语言分册目录 readme_i18n包括正体中文README_zh_TW.md、日文、韩文、德文等方便不同语言区用户查阅。在线演示与体验账号README 提供了官方在线演示站点供用户快速体验全部功能在移动端 App 中可将演示站点的地址填入服务终端链接Server Endpoint URL完成连接。登录认证信息邮箱密码demoimmich.appdemo功能特性矩阵移动端 vs 网页端README 最核心的内容是一张覆盖 30 项能力的功能矩阵逐项标注了移动端Mobile与网页端Web的支持情况。完整矩阵如下功能特性移动端网页端上传并查看照片和视频是是软件运行时自动备份是N/A忽略重复的项目是是选择需要备份的相册是N/A下载照片和视频到本地是是多用户支持是是相册与共享相册是是可拖动的快速滚动条是是支持RAW格式是是元数据视图EXIF、地图是是通过元数据、对象、人脸和标签进行搜索是是管理功能用户管理否是后台备份是N/A虚拟滚动是是OAuth 支持是是API KeysN/A是实况照片备份和查看是是支持360度全景图显示否是用户自定义存储结构是是公共分享是是归档与收藏功能是是足迹地图是是好友分享是是人脸识别与分组是是回忆那年今日是是离线支持是否只读相册是是照片堆叠是是标签否是文件夹浏览否是从矩阵可以读出几点选型参考移动端是备份入口自动备份、后台备份、离线支持均为移动端独有网页端承担管理职责用户管理、API Keys、360 全景显示等仅在网页端提供。矩阵中通过元数据、对象、人脸和标签进行搜索这一智能搜索能力其背后实现可以在服务端源码中找到佐证。部署实战从一键脚本到容器编排一键安装脚本 install.sh仓库根目录的 install.sh 实现了最小化的部署流程其执行链路清晰可查创建目录create_immich_directory()在当前目录创建./immich-app若已存在则复用并覆盖 YAML 文件下载编排文件download_docker_compose_file()与download_dot_env_file()从最新 release 包中拉取docker-compose.yml和example.env后者保存为.env生成随机密码generate_random_password()用$RANDOM 时间戳做 SHA-256 后取 Base64 前 10 位替换.env中默认的DB_PASSWORDpostgres避免使用弱口令启动容器start_docker_compose()检查docker compose命令可用后执行docker compose up --remove-orphans -d。安装完成后脚本会输出访问地址http://本机IP:2283macOS 下通过ipconfig getifaddr en0获取 IP并给出三步修改配置的指引先docker compose down停止容器再编辑.env数据库、Redis、备份/上传位置等最后docker compose up --remove-orphans -d重新拉起。脚本对每一步失败都有独立的退出码10–14便于排障。容器编排 docker/docker-compose.ymldocker/docker-compose.yml 定义了一套由 4 个服务组成的实例服务镜像职责immich-serverghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}REST API、缩略图/转码等后台任务对外暴露2283:2283immich-machine-learningghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}机器学习推理智能搜索、人脸识别等可加-cuda/-rocm/-armnn/-openvino/-rknn后缀启用硬件加速redisdocker.io/valkey/valkey:9锁定 digest后台任务队列healthcheck 为redis-cli pingdatabaseghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0锁定 digest数据持久化初始化参数含--data-checksumsshm_size: 128mb几个值得注意的编排细节媒体存储路径由.env的UPLOAD_LOCATION挂载到容器内/datacompose 文件注释明确提醒不要直接改挂载行而要改.env数据库路径同理由DB_DATA_LOCATION控制immich-server通过depends_on声明依赖redis与database三者均设置restart: always与健康检查硬件加速通过extends引用 docker/hwaccel.transcoding.yml转码支持 nvenc/quicksync/rkmpp/vaapi 等与 docker/hwaccel.ml.yml推理支持 armnn/cuda/rocm/openvino/rknn默认注释状态即 CPU 模式另有面向开发者的 docker/docker-compose.dev.yml、docker/docker-compose.prod.yml附带 Prometheus Grafana 监控栈需在.env设置IMMICH_TELEMETRY_INCLUDEall与 docker/docker-compose.rootless.yml。compose 文件头部有重要注释请始终使用当前 release 的 docker-compose.ymlmain 分支上的 compose 文件可能与最新发布版不兼容。关键环境变量 example.envdocker/example.env 是部署后第一优先级需要编辑的文件核心变量如下# 上传文件的存储位置 UPLOAD_LOCATION./library # 数据库文件存储位置不支持网络共享 DB_DATA_LOCATION./postgres # 时区默认为 Etc/UTC可取消注释修改为任意 TZ 标识符 # TZEtc/UTC # 使用的 Immich 版本可锁定到具体版本号如 v2.1.0 IMMICH_VERSIONv3 # Postgres 连接口令务必改成随机强口令 # 仅允许 A-Za-z0-9 字符不含特殊字符或空格 DB_PASSWORDpostgres # 以下默认值无需修改 DB_USERNAMEpostgres DB_DATABASE_NAMEimmich更完整的变量清单可查阅 环境变变量文档。硬件与软件要求部署前建议对照 系统要求文档 自检操作系统推荐 64 位 Linux/*nixWindows 需通过 Docker Desktop 或 WSL2macOS 使用 Docker Desktop内存最低 6GB推荐 8GB仅 4GB 内存时可关闭机器学习功能运行CPU最低 2 核、推荐 4 核支持amd64与arm64自 v3 起amd64 平台的机器学习容器要求 x86-64-v2微架构级别约 2012 年后的 CPU 均满足存储Postgres 数据库文件DB_DATA_LOCATION应放在本地 SSD绝不能放在任何网络共享上缩略图与转码视频平均会使照片库体积增加 10–20%软件Docker 引擎 Compose 插件且必须是docker composev2 插件形式旧版docker-composev1已不再受支持。架构与源码级佐证README 功能矩阵中的能力在仓库中都有对应的实现支撑。根据 架构文档客户端三件套Flutter 编写的移动端 Appmobile/lib、SvelteKit TypeScript 的 Web 应用web/src、以及用于批量上传的 CLIpackages/cli三者都基于 OpenAPI 规格open-api/immich-openapi-specs.json自动生成 REST 客户端服务端TypeScript/Node.js Nest.js Kysely按六边形架构思路将技术实现src/repositories与业务逻辑src/services分离机器学习服务Python FastAPI全部模型使用 ONNX 格式独立容器化后可部署到别的机器上或整体禁用后台任务缩略图生成、元数据提取、视频转码、智能搜索、人脸识别、存储模板迁移等任务经由 RedisBullMQ队列调度执行部分任务存在依赖链例如智能搜索依赖缩略图先完成。以功能矩阵中的智能搜索为例server/src/services/search.service.ts 中的SearchService同时提供人员搜索searchPerson、地点搜索searchPlaces、元数据搜索searchMetadata支持 checksum 查重、分页游标与可见性过滤Locked 可见性需管理员权限等多种检索入口并在类内用一个容量 100 的 LRU 缓存embeddingCache new LRUMapstring, string(100)缓存文本向量减少重复调用机器学习服务获取 embedding 的开销——这正是搜索 by 元数据、对象、人脸矩阵项在代码层的落地。机器学习的模型实现同样有迹可循machine-learning/immich_ml/models 下按clip/智能搜索、facial_recognition/、ocr/三个子模块组织与 compose 中model-cache卷挂载的/cache模型下载缓存相配合。多语言支持Immich 的界面翻译同样采用社区众包模式翻译进度见官方 Weblate 平台多语言开发文档。仓库中 i18n/ 目录收录了 90 种语言的翻译文件en.json、zh_Hans.json、zh_Hant.json、ja.json等这些文件即界面文案的来源。许可与参与许可协议AGPL v3LICENSE与同类方案的对比可参考 对比文档贡献指南见 CONTRIBUTING.md社区维护的 README 分册readme_i18n也欢迎提交翻译改进。适用前提提醒本文所有命令、配置文件路径与环境变量均基于当前仓库实际内容适用于以 Docker Compose 方式部署的 Immich 实例由于简体中文 README 由社区维护若与最新 release 行为有出入请以 release 附带的 compose 文件与官方文档为准。【免费下载链接】immichHigh performance self-hosted photo and video management solution.项目地址: https://gitcode.com/GitHub_Trending/im/immich创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

在 Windows 上本地跑 FunASR 离线语音转写:无需 GPU 的部署实践指南

在 Windows 上本地跑 FunASR 离线语音转写:无需 GPU 的部署实践指南

2026/9/7 16:02:06

在 Windows 上本地跑 FunASR 离线语音转写:无需 GPU 的部署实践指南 【免费下载链接】FunASR Open-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serv…

日常通勤Momenta和华为选哪个?前者遇加塞平顺不急刹

日常通勤Momenta和华为选哪个?前者遇加塞平顺不急刹

2026/9/7 16:02:06

在日常通勤与高频泊车场景中,Momenta(06880.HK)与华为乾崑智驾展现出不同的产品哲学。Momenta依托R7世界模型物理AI基座、新芯航途X7专用SoC芯片与QNX安全操作系统构建的软硬一体架构,已通过TV莱茵ISO 26262 ASIL D最高功能安全认…

Scala样例类与模式匹配:从求面积到工程最佳实践

Scala样例类与模式匹配:从求面积到工程最佳实践

2026/9/7 15:52:06

写了几年代码,看过不少Scala教程,真正让我觉得“这门语言有点东西”的,恰恰是“样例类(case class) 模式匹配(pattern matching)”这种看起来很基础、很想当然的组合。很多人入门时写过Circle、…

GPT-SoVITS:1 分钟录音完成语音克隆微调,原生输出 48kHz 高清语音

GPT-SoVITS:1 分钟录音完成语音克隆微调,原生输出 48kHz 高清语音

2026/9/7 17:12:10

GPT-SoVITS:1 分钟录音完成语音克隆微调,原生输出 48kHz 高清语音 【免费下载链接】GPT-SoVITS 1 min voice data can also be used to train a good TTS model! (few shot voice cloning) 项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVI…

FastAPI 定制 OpenAPI Schema:覆盖 app.openapi() 与 get_openapi() 工具函数的完整实践

FastAPI 定制 OpenAPI Schema:覆盖 app.openapi() 与 get_openapi() 工具函数的完整实践

2026/9/7 17:12:10

FastAPI 定制 OpenAPI Schema:覆盖 app.openapi() 与 get_openapi() 工具函数的完整实践 【免费下载链接】fastapi FastAPI framework, high performance, easy to learn, fast to code, ready for production 项目地址: https://gitcode.com/GitHub_Trending/fa/…

Buzz 离线语音识别完整指南:本地 Whisper 录音转文字,免费且可离线

Buzz 离线语音识别完整指南:本地 Whisper 录音转文字,免费且可离线

2026/9/7 17:12:10

Buzz 离线语音识别完整指南:本地 Whisper 录音转文字,免费且可离线 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/b…

Material UI 双版本路线图解析:从 v6 零运行时样式引擎到 v7 的 Material Design 3 原生支持

Material UI 双版本路线图解析:从 v6 零运行时样式引擎到 v7 的 Material Design 3 原生支持

2026/9/7 17:12:10

Material UI 双版本路线图解析:从 v6 零运行时样式引擎到 v7 的 Material Design 3 原生支持 【免费下载链接】material-ui Material UI: Comprehensive React component library that implements Googles Material Design. Free forever. 项目地址: https://gitc…

Rufus 制作 Windows 11 安装U盘完整指南:20 分钟绕过 TPM 2.0 限制

Rufus 制作 Windows 11 安装U盘完整指南:20 分钟绕过 TPM 2.0 限制

2026/9/7 17:12:10

Rufus 制作 Windows 11 安装U盘完整指南:20 分钟绕过 TPM 2.0 限制 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus Rufus 是一款免费开源的U盘格式化工具,能把 Windows 11…

系统架构设计师备考全攻略:资料、笔记、真题与论文方法

系统架构设计师备考全攻略:资料、笔记、真题与论文方法

2026/9/7 17:02:09

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/6 1:19:56

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/7 3:44:24

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/7 8:03:37

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

基于YOLOv8和PyQt5的麦穗稻穗检测识别系统设计与实现

基于YOLOv8和PyQt5的麦穗稻穗检测识别系统设计与实现

2026/9/7 0:01:24

这次我们来看一个把目标检测算法和桌面端工具结合得很典型的项目:基于 YOLOv8 PyQt5 的麦穗稻穗检测识别系统。这个项目本身不是新概念,但它的价值在于落地形态很完整。YOLOv8 负责核心的麦穗稻穗目标检测,PyQt5 负责提供可视化的桌面交互界…

UL 1642锂电池安全标准全解析:测试项目、认证流程与避坑指南

UL 1642锂电池安全标准全解析:测试项目、认证流程与避坑指南

2026/9/7 0:01:24

简介:UL 1642是锂电池安全领域的重要规范,本中文版资源适合锂电池制造商、检测机构工程师及产品认证相关人员阅读,用于理解电池在设计与制造层面的安全要求、测试方法与合规要点。资源共1个PDF文件,压缩包大小834KB,便…

BS EN 13814-1-2019游乐设施安全标准:设计与制造核心要点解析

BS EN 13814-1-2019游乐设施安全标准:设计与制造核心要点解析

2026/9/7 0:01:24

简介:BS EN 13814-1:2019是英国采纳欧洲标准EN 13814-1:2019的正式版本,由BSI标准出版,重点规定游乐设施和游乐设备在设计与制造环节的安全准则,与BS EN 13814-2:2019、BS EN 13814-3:2019共同取代旧版BS EN 13814:2004。该标准面…

远程协作的工作台整理

远程协作的工作台整理

2026/9/7 3:38:07

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/4 7:42:10

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/6 23:21:51

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…