From 0636c40094ca506f259864e8504b8c88d70d4d4c Mon Sep 17 00:00:00 2001 From: Erki Aas Date: Thu, 6 Aug 2026 21:54:29 +0300 Subject: [PATCH] Fix frigate persistance and detection --- frigate/values.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/frigate/values.yaml b/frigate/values.yaml index 944139d..c0e3ba3 100644 --- a/frigate/values.yaml +++ b/frigate/values.yaml @@ -50,6 +50,11 @@ config: | record: enabled: True + # Retention is driven entirely by frigate.db: expire_existing_camera_recordings() + # only unlinks files it finds rows for. Reconcile disk against the DB so orphaned + # segments (e.g. if the config PVC is ever lost) get reclaimed instead of + # accumulating until /media fills up. + sync_recordings: True retain: days: 3 mode: motion @@ -108,6 +113,9 @@ config: | - detect - rtmp - record + # Amcrest 5MP: without an explicit detect size frigate uses the native + # 2960x1668 stream, i.e. 7.1MiB frames in /dev/shm vs 1.3MiB for the 720p + # cameras. Detection runs at 300x300 anyway, so cap detect at 720p. workshop_a: ffmpeg: inputs: @@ -116,6 +124,9 @@ config: | - detect - rtmp - record + detect: + width: 1280 + height: 720 workshop_b: ffmpeg: inputs: @@ -124,6 +135,9 @@ config: | - detect - rtmp - record + detect: + width: 1280 + height: 720 ingress: enabled: true @@ -141,6 +155,16 @@ ingress: - "*.k-space.ee" persistence: + # frigate.db lives here. On an emptyDir it is recreated blank on every pod + # restart, which orphans every recording already on /media - retention then + # has no rows to expire and the media volume grows without bound. + # ephemeralWritableConfigYaml (chart default) keeps an initContainer that + # re-copies config.yml from the ConfigMap on each start, so the `config:` + # block above stays authoritative. + config: + enabled: true + storageClass: "ceph-rbd" + size: 5Gi media: enabled: true storageClass: "hdd-ceph"