From 944541f41cc50216da26db6932df77748f159ad1 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Sun, 23 Aug 2026 18:01:10 -0500 Subject: [PATCH] Hand TensorRT model cache ownership to the runtime user --- .../s6-rc.d/trt-model-prepare/dependencies.d/prepare | 0 .../etc/s6-overlay/s6-rc.d/trt-model-prepare/run | 10 ++++++++++ 2 files changed, 10 insertions(+) create mode 100644 docker/tensorrt/detector/rootfs/etc/s6-overlay/s6-rc.d/trt-model-prepare/dependencies.d/prepare diff --git a/docker/tensorrt/detector/rootfs/etc/s6-overlay/s6-rc.d/trt-model-prepare/dependencies.d/prepare b/docker/tensorrt/detector/rootfs/etc/s6-overlay/s6-rc.d/trt-model-prepare/dependencies.d/prepare new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docker/tensorrt/detector/rootfs/etc/s6-overlay/s6-rc.d/trt-model-prepare/run b/docker/tensorrt/detector/rootfs/etc/s6-overlay/s6-rc.d/trt-model-prepare/run index e3440e7ac9..790fb470f5 100755 --- a/docker/tensorrt/detector/rootfs/etc/s6-overlay/s6-rc.d/trt-model-prepare/run +++ b/docker/tensorrt/detector/rootfs/etc/s6-overlay/s6-rc.d/trt-model-prepare/run @@ -13,6 +13,16 @@ TRT_VER=${TRT_VER:-$(cat /etc/TENSORRT_VER)} OUTPUT_FOLDER="${MODEL_CACHE_DIR}/${TRT_VER}" YOLO_MODELS=${YOLO_MODELS:-""} +# This runs as root after prepare's sentinel-guarded sweep, so the dirs and +# engines it creates below are the runtime user's to fix up, on every exit path +function hand_off_ownership() { + if [[ "$(id -u)" -eq 0 && "${FRIGATE_RUN_AS_ROOT:-false}" != "true" ]]; then + /usr/local/bin/fix-ownership "${PUID:-1000}" "${PGID:-1000}" \ + /config/model_cache "${MODEL_CACHE_DIR}" + fi +} +trap hand_off_ownership EXIT + # Create output folder mkdir -p ${OUTPUT_FOLDER}