build(docker): bump static ffprobe to 9.0.2; ignore compose override

Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
rootandClaude Fable 5.1 committed 2026-09-28 01:29:12 +08:00
1 parent 8f7d92150f
commit c987a45e9a
4 files changed
+4 -3

No files matched your search

+1
View File
@@ -13,3 +13,4 @@ coverage/
types/deno.d.ts
apps/web/test/screenshots/
data/
docker-compose.override.yml
+1 -1
View File
@@ -2,7 +2,7 @@
# PostgreSQL 不在本镜像内,见 docker-compose.yml。
# 构建:docker build -t uhd-media-tool . 运行时版本锁定 Deno 2.9.7(ADR-004)
# ffprobe 取自静态构建镜像(单个 static-pie 二进制,约 135 MB;Debian 的 ffmpeg 包要拉 200+ 个依赖、约 450 MB)
ARG FFPROBE_IMAGE=mwader/static-ffmpeg:7.1.1
ARG FFPROBE_IMAGE=mwader/static-ffmpeg:9.0.2
FROM ${FFPROBE_IMAGE} AS ffprobe
FROM denoland/deno:2.9.7 AS build
+1 -1
View File
@@ -25,5 +25,5 @@
| P1 `POST /organization-records` walk 上限 | 已完成(f9c20c6) | `ORGANIZE_WALK_MAX_FILES`(5000);dryRun 超出返回 `truncated: true`(计划只含前 N 个),正式执行 `too_many_files` 失败 |
| P2 copy highWaterMark / sha256 子进程 / 打点 | 已完成(f9c20c6) | 读写流 1 MiB;强制全量 sha256(复制后回读、目标已存在比对、跨卷恢复、计划期同尺寸目标)走 `Deno.Command("sha256sum")`,不可用(未安装 / 无 --allow-run)回退进程内流式,结果记 `hashVia`,`sha256Stats()` 计数;executeRecord 每文件打 `organize.transfer` 日志(耗时/字节/MB/s/hashVia) |
| P2 worker 事件循环延迟探针 | 已完成(473c5e9) | 1s 采样,偏差 > 5s warn + 计数,随心跳事件发 `loopLagWarnings/maxLoopLagMs` |
| 打包遗留 | 已完成(f6457a2、3792868) | 镜像带静态 ffprobe(mwader/static-ffmpeg:7.1.1),编译 `--allow-run=ffprobe,sha256sum`;`settings.agent.sessionDir`(null = DATA_DIR/agent-sessions)进设置页;镜像压缩 107→160.5 MB(ffprobe 层 135 MB 未压缩);umtw4d 临时部署验证 health、三进程、ffprobe/sha256sum 可调用 |
| 打包遗留 | 已完成(f6457a2、3792868) | 镜像带静态 ffprobe(mwader/static-ffmpeg:9.0.2),编译 `--allow-run=ffprobe,sha256sum`;`settings.agent.sessionDir`(null = DATA_DIR/agent-sessions)进设置页;镜像压缩 107→160.5 MB(ffprobe 层 135 MB 未压缩);umtw4d 临时部署验证 health、三进程、ffprobe/sha256sum 可调用 |
| 未做 | 遗留 | `GET /inventory/media-servers` 串行 Emby 仍在请求内(审计列出但不在 W4-D 清单);invoke 超时后底层调用继续跑完(handler 不全认 signal) |
+1 -1
View File
@@ -13,7 +13,7 @@ APP_VERSION=v0.1.0 docker compose build # 版本号写
- 多阶段:`denoland/deno:2.9.7`(装依赖 → web 构建 → server 编译)→ `debian:trixie-slim` 运行镜像。
- 运行镜像只额外装 `gosu`(降权)与 `postgresql-client`(备份/恢复用 pg_dump/pg_restore/psql,17 版客户端兼容 16 版服务端),
外加 `/usr/local/bin/ffprobe`:从 `mwader/static-ffmpeg:7.1.1` 拷单个静态二进制(约 135 MB;Debian `ffmpeg` 包要 200+ 个依赖约 450 MB)。
外加 `/usr/local/bin/ffprobe`:从 `mwader/static-ffmpeg:9.0.2` 拷单个静态二进制(约 135 MB;Debian `ffmpeg` 包要 200+ 个依赖约 450 MB)。
换来源用 `--build-arg FFPROBE_IMAGE=<含 /ffprobe 的镜像>`。
- `/app` 下的二进制、静态产物、脚本全部 root 属主只读;运行用户改不了它们。
- 二进制编译时固定权限:`--allow-net --allow-env --allow-sys --allow-read --allow-write --allow-run=ffprobe,sha256sum,/app/umt-server`