Fix Frigate parked car re-detection and enable writable config (#193)
All checks were successful
Build Container / build (push) Successful in 12s

## Summary
- Remove car-specific `max_frames: 150` which was causing a forget-and-re-detect loop on parked cars (every ~30 seconds at 5fps)
- Set `stationary.interval: 0` so Frigate never re-runs detection on stationary objects
- Replace read-only configmap subPath mount with initContainer + emptyDir, so Frigate UI changes (zones, masks) persist at runtime

## Context
Frigate was spamming notifications because `max_frames` for cars caused it to "forget" a parked car after 150 frames, then immediately re-detect it as a brand new object. The fix follows [Frigate's official parked cars guide](https://docs.frigate.video/guides/parked_cars/).

The writable config change also unblocks using `required_zones` for car alerts — zones can now be drawn in the Frigate UI and will survive until pod reschedule (at which point they should be baked into the configmap via IaC).

## Test plan
- [ ] Sync frigate app via ArgoCD and verify pod starts with initContainer
- [ ] Confirm parked cars no longer trigger repeated alerts
- [ ] Draw a zone/mask in Frigate UI, save, verify it persists after Frigate restart
- [ ] Set up `driveway_entrance` required zone for car alerts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/193
This commit is contained in:
Erich Blume 2026-02-15 17:48:14 -08:00
commit 7ffbd12ac8
3 changed files with 25 additions and 5 deletions

View file

@ -33,8 +33,17 @@ data:
stationary:
max_frames:
default: 1500
objects:
car: 150
motion:
mask:
- 0.401,0.026,0.4,0.078,0.587,0.072,0.585,0.02
zones:
driveway_entrance:
coordinates: 0.85,0.366,0.689,0.347,0.661,0.175,0.795,0.255
objects: [car, dog, person]
review:
alerts:
required_zones:
- driveway_entrance
objects:
track: [person, car, dog, cat, bird]

View file

@ -14,6 +14,15 @@ spec:
labels:
app: frigate
spec:
initContainers:
- name: copy-config
image: busybox:1.37
command: ["cp", "/config-ro/config.yml", "/config/config.yml"]
volumeMounts:
- name: config-ro
mountPath: /config-ro
- name: config
mountPath: /config
containers:
- name: frigate
image: ghcr.io/blakeblackshear/frigate:0.16.4-standard-arm64
@ -37,8 +46,7 @@ spec:
key: password
volumeMounts:
- name: config
mountPath: /config/config.yml
subPath: config.yml
mountPath: /config
- name: recordings
mountPath: /media/frigate
- name: database
@ -65,9 +73,11 @@ spec:
initialDelaySeconds: 15
periodSeconds: 10
volumes:
- name: config
- name: config-ro
configMap:
name: frigate-config
- name: config
emptyDir: {}
- name: recordings
persistentVolumeClaim:
claimName: frigate-recordings

View file

@ -0,0 +1 @@
Fix Frigate repeatedly alerting on parked cars by removing per-object max_frames and setting stationary interval to 0. Make Frigate config writable so UI changes (zones, masks) persist within a pod lifecycle.