尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

如何用 Immich 配置文件统一管理转码、图片与备份设置

如何用 Immich 配置文件统一管理转码、图片与备份设置 如何用 Immich 配置文件统一管理转码、图片与备份设置【免费下载链接】immichHigh performance self-hosted photo and video management solution.项目地址: https://gitcode.com/GitHub_Trending/im/immich如果你在管理 Immich 实例时希望把「视频转码参数、图片缩略图/预览参数、数据库备份策略」这些原来只能逐项在 Web 管理界面里改的设置收拢进一个可以版本管理的文本文件Immich 官方提供了配置文件config file机制通过环境变量IMMICH_CONFIG_FILE指向一个 JSON 或 YAML 文件Immich 就会读取其中的ffmpeg、image、backup等配置段。前提是实例以 Docker 方式部署IMMICH_CONFIG_FILE是server容器的环境变量api与microservicesworker 同样接收该变量。需要注意一个直接影响使用方式的事实一旦设置了IMMICH_CONFIG_FILEImmich Web 管理界面中其他属性的编辑入口会被禁用见 Config File 文档。所以这条路径适合希望用文件统一管理配置的管理员不适合仍想用界面逐项调整的人。配置文件与 UI 配置二选一先明确取舍配置文件是 UI 配置的替代方案不需要包含示例中的所有键只写你要改的段即可。官方文档给出的完整默认配置包含了backup、ffmpeg、image、job、library、machineLearning等全部段落可作为参照底稿{ backup: { database: { cronExpression: 0 02 * * *, enabled: true, keepLastAmount: 14 } }, ffmpeg: { accel: disabled, accelDecode: true, acceptedAudioCodecs: [aac, mp3, opus], acceptedContainers: [mov, ogg, webm], acceptedVideoCodecs: [h264], crf: 23, preset: ultrafast, targetAudioCodec: aac, targetResolution: 720, targetVideoCodec: h264, tonemap: hable, transcode: required, twoPass: false }, image: { colorspace: p3, extractEmbedded: false, fullsize: { enabled: false, format: jpeg, quality: 80 }, preview: { format: jpeg, quality: 80, size: 1440 }, thumbnail: { format: webp, quality: 80, size: 250 } } }上面是依据默认配置示例裁剪出的三个目标段落其余键job、machineLearning等保持缺省即可。如果你不确定当前实例的实际值可以在Administration Settings页面点击按钮把当前配置复制到剪贴板粘贴进文件再修改——官方文档明确推荐这个起点。第一步创建配置文件并修改三个目标段落在宿主机上创建配置文件文档示例用immich-config.json格式支持 JSONYAML 同样可用。三个目标段落的含义与可选值均来自系统设置文档转码ffmpeg段transcode转码策略决定哪些流会被转码。默认required仅当视频是 HDR、不是 yuv420p 像素格式、或视频编码不在acceptedVideoCodecs中时转码音频编码不在acceptedAudioCodecs中时转音频。可选值还有all全部转码、disabled不转码、bitrate超maxBitrate也转、optimal分辨率高于目标也转。targetVideoCodech264、hevc、vp9、av1默认h264。targetAudioCodecmp3、aac、opus默认aac。targetResolution转码时把最长边下采样到该值只降不升默认720。preset编码 effort默认ultrafast使用 h264 的 preset 命名。acceptedContainers不在列表中的容器会被 remux 成 MP4默认mov、ogg、webm。硬件加速可选分支如果服务器有 GPU 且已完成硬件转码的设备挂载配置NVENC/QSV/RKMPP/VAAPI设备挂载见 Hardware Transcoding 文档可以在配置文件中设置accel如 Intel 用qsv、NVIDIA 用nvenc与accelDecode是否硬件解码。该文档强调硬件转码是实验性功能产生体积显著更大、质量通常更低的视频two-pass 模式仅 NVENC 支持。{ ffmpeg: { accel: qsv, accelDecode: true } }以上 JSON 片段直接取自官方 Hardware Transcoding 文档中给出的immich.json配置示例。图片image段thumbnail.format/thumbnail.size/thumbnail.quality时间线缩略图。官方说明 Webp 比 jpeg 文件更小但编码更慢。preview.format/preview.size/preview.quality资源查看器预览图预览分辨率同时被机器学习使用官方提示可把 Large 缩略图默认分辨率从 1440p 降到 1080p 或 720p 以节省存储。colorspace对应「Prefer wide gamut」默认p3使用 Display P3 保留宽色域图片的鲜艳度sRGB 图片保持 sRGB。extractEmbedded对应「Prefer embedded preview」对 RAW 照片可用内嵌预览作为处理输入。fullsize是否对 jpeg 源图额外生成全尺寸版本。备份backup.database段Immich 会自动创建数据库备份用于灾备存放在UPLOAD_LOCATION/backups见 Backup and Restore 文档。配置项对应Administration Settings Backup页面enabled是否启用自动备份默认truecronExpression备份计划默认0 02 * * *每天 2:00 AMkeepLastAmount保留份数默认 14。必须记住的边界数据库备份只包含元数据不含照片和视频。数据库里存的是文件路径和用户元数据Immich 不会扫描媒体库文件夹所以完整的备份方案还需要自行复制UPLOAD_LOCATION其中原始数据在library、upload、profile三个子目录——这部分 Immich 不负责文档明确要求你自备备份工具。第二步指定文件位置.envdocker-compose.yml在.env文件中设置IMMICH_CONFIG_FILE为配置文件在容器内的路径例如/data/immich-config.json。官方特别提醒UPLOAD_LOCATION、DB_DATA_LOCATION是宿主机路径而IMMICH_CONFIG_FILE是容器内路径两者不要混淆。推荐在docker-compose.yml的immich-server服务中复用该变量做挂载volumes: - ./immich-config.json:${IMMICH_CONFIG_FILE}其中./immich-config.json是宿主机上与docker-compose.yml同目录的配置文件${IMMICH_CONFIG_FILE}展开后成为容器内路径。如果部署中使用了microservicesworker如scaling部署拆分出的 worker 容器这些容器也需要挂载同一配置文件。第三步重建容器让配置生效Environment Variables 文档中的注意事项同样适用于IMMICH_CONFIG_FILE修改环境变量必须重建容器仅重启不会替换容器内环境。docker compose up -d大多数情况下 Docker 会检测到.env变化并自动重建受影响的容器如果没生效强制重建docker compose up -d --force-recreate该命令会重建 Immich 相关容器期间 Web 服务短暂不可用不删除任何数据。如何验证配置已生效文档没有给出一条打印当前生效配置的单一命令可用的核对路径如下查看容器日志确认启动正常重建后用docker compose logs immich_server查看immich-server是否无报错正常启动文档在硬件转码一节也以转码时无错误日志作为设备被正确使用的判断依据之一。触发一次手动数据库备份核对备份段进入Administration Job Queues点右上角Create job选择Create Database Dump并Confirm。如果backup段配置正确新生成的备份会出现在UPLOAD_LOCATION/backups并计入keepLastAmount保留上限。观察转码与缩略图行为按ffmpeg.transcode策略上传一个不符合接收格式的视频例如 HDR 或非常规编码确认生成了转码文件上传新资产后检查UPLOAD_LOCATION/thumbs下生成的缩略图格式是否与你配置的thumbnail.format一致。界面侧确认由于设置了IMMICH_CONFIG_FILEWeb 界面中其他属性编辑被禁用本身就是该变量已生效的表现。限制与已知边界设置IMMICH_CONFIG_FILE后Web UI 中其他属性的编辑会被禁用——后续改配置都要走「改文件 重建容器」的流程。硬件转码仍属实验性功能不是所有系统可用Raspberry Pi 目前不支持WSL2 不支持 Quick SyncNVIDIA/AMD GPU 不支持 VP9 编码。数据库备份与文件系统备份是两件事backup.database只控制元数据备份计划原始照片视频要靠自己备份UPLOAD_LOCATION。配置文件的键不必写全但键名要与官方默认配置示例一致如ffmpeg、image、backup下的子键文档示例即是权威键名来源。【免费下载链接】immichHigh performance self-hosted photo and video management solution.项目地址: https://gitcode.com/GitHub_Trending/im/immich创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表