Frigate

Open-source network video recorder (NVR) with object detection. Runs cloud-free with all video stored locally on sifaka.

Quick Reference

PropertyValue
URLhttps://nvr.ops.eblu.me
Tailscale URLhttps://nvr.tail8d86e.ts.net
Namespacefrigate
Imageghcr.io/blakeblackshear/frigate:0.17.0-rc2-tensorrt
Upstreamhttps://github.com/blakeblackshear/frigate
Manifestsargocd/manifests/frigate/

Architecture

ReoLink Camera (GableCam)
    │ RTSP
    ▼
Frigate pod (ringtail k3s)
    ├── go2rtc         — RTSP restream proxy
    ├── FFmpeg          — stream decoding
    ├── detector       — ONNX with CUDA (RTX 4080)
    ├── /media/frigate  — NFS recordings (sifaka)
    └── /db             — SQLite (local PVC)
        │
        └──→ MQTT (Mosquitto) → frigate-notify → ntfy → mobile

Cameras

CameraIPLocationObjects Tracked
GableCam192.168.1.159Front gableperson, car, dog, cat, bird

Camera credentials are stored in 1Password and synced via external-secrets to the frigate-camera Secret.

Detection

Object detection runs on ringtail’s RTX 4080 via the ONNX detector with CUDA execution provider (TensorRT). The model is YOLOv9-c at 640x640 (yolov9-c-640.onnx, model_type: yolo-generic), which benefits from CUDA Graphs in Frigate 0.17. To re-export or change model size, use mise run frigate-export-model.

Two zones are configured: driveway_entrance (triggers review alerts for person/car) and driveway (triggers review detections).

Retention

TypeDurationMode
Continuous recording3 daysall
Alert clips30 daysactive objects
Detection clips14 daysmotion
Snapshots14 days

Storage

MountBackendSize
/media/frigateNFS PV on sifaka (/volume1/frigate)2 Ti
/dbLocal PVC (frigate-database)SQLite
/dev/shmMemory-backed emptyDir512 Mi

Alerting (frigate-notify)

A separate frigate-notify pod (ghcr.io/0x2142/frigate-notify:v0.3.5) subscribes to Frigate’s MQTT events via Mosquitto and pushes alerts to ntfy on the frigate-alerts topic. Alert messages include action buttons linking back to the Frigate review UI.