No introduction found. Create it?
frigate from bjw-s-labs/charts is more popular with 25 repositories.
Install with:
helm repo add frigate oci://ghcr.io/bjw-s-labs/charts/
helm install frigate frigate/frigate -f values.yamlSee examples from other people.
| Name | Repo | Stars | Version | Timestamp |
|---|---|---|---|---|
| frigate | deedee-ops/home-ops | 33 | 5.0.1 | 5 hours ago |
| frigate | blackjid/home-ops | 97 | 5.0.1 | 7 days ago |
| frigate | bjw-s-labs/home-ops | 845 | 5.0.1 | 2 months ago |
See the most popular values for this chart:
| Key | Types |
|---|---|
| string | |
| string | |
| string | |
persistence.cache.type (12) emptyDir | string |
| boolean | |
| string | |
| string | |
| boolean | |
persistence.config.accessMode (1) ReadWriteOnce | string |
persistence.config.forceRename (1) frigate-config | string |
| string | |
| string | |
persistence.media.globalMounts[].path (10) /media/frigate | string |
| string | |
persistence.media.path (6) /mnt/tank/apps/frigate | string |
persistence.media.server (6) truenas.aresu.eu | string |
persistence.media.existingClaim (3) frigate-media-nfs | string |
| boolean | |
persistence.media.volumeSpec.nfs.path (1) /warehouse/services/nvr | string |
persistence.media.volumeSpec.nfs.server (1) ${NFS_SERVER} | string |
persistence.config-file.globalMounts[].path (4) /config/config.yml | string |
| boolean | |
| string | |
persistence.config-file.type (4) configMap | string |
persistence.config-file.name (3) frigate-configmap | string |
| boolean | |
| string | |
persistence.usb.globalMounts[].path (4) /dev/bus/usb | string |
persistence.usb.hostPath (4) /dev/bus/usb | string |
persistence.usb.type (4) hostPath | string |
persistence.usb.hostPathType (3) Directory | string |
| string | |
| string | |
persistence.tmpfs.type (3) emptyDir | string |
persistence.cameras.globalMounts[].path (2) /media/frigate | string |
| string | |
persistence.cameras.volumeSpec.csi.driver (2) nfs.csi.k8s.io | string |
persistence.cameras.volumeSpec.csi.volumeAttributes.mountOptions (2) noac,nfsvers=4.1,nconnect=16,hard,noatime | string |
| string | |
persistence.cameras.volumeSpec.csi.volumeAttributes.share (2) /mnt/fast/cameras | string |
| string | |
| string | |
persistence.configfile.name (2) frigate-configmap | string |
persistence.configfile.type (2) configMap | string |
persistence.coral.hostPath (2) /dev/apex_0 | string |
persistence.coral.type (2) hostPath | string |
| boolean | |
persistence.coral.globalMounts[].path (1) /dev/apex_0 | string |
persistence.coral.hostPathType (1) CharDevice | string |
| string | |
| string | |
| string | |
persistence.shm.type (2) emptyDir | string |
persistence.tmp.type (2) emptyDir | string |
persistence.config-src.globalMounts[].path (1) /config-src/config.yml | string |
| boolean | |
| string | |
| string | |
persistence.config-src.type (1) configMap | string |
| string | |
| boolean | |
| string | |
| string | |
persistence.models.volumeSpec.image.reference (1) ghcr.io/blackjid/yolov9-onnx:1.0.0 | string |
| string | |
| string | |
controllers.frigate.containers.app.image.repository (10) ghcr.io/blakeblackshear/frigate | string |
controllers.frigate.containers.app.image.tag (10) 0.17.2@sha256:d4351369984d4a9e2a49ac59736f6490856a7ea11f7790040746d21496967010 | string |
| boolean | |
| number | |
| number | |
| number | |
| string | |
| number | |
| number | |
| boolean | |
| boolean | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| number | |
| boolean | |
| number | |
| number | |
| string | |
| number | |
| boolean | |
| string | |
| number | |
| string, number | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| string | |
| string | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
controllers.frigate.type (2) deployment | string |
| string | |
controllers.frigate.initContainers.01-init-db.image.repository (1) ghcr.io/home-operations/postgres-init | string |
| string | |
controllers.frigate.initContainers.init-config.command[] (1) - sh | string |
controllers.frigate.initContainers.init-config.image.repository (1) ghcr.io/blakeblackshear/frigate | string |
| string | |
controllers.frigate.strategy (1) Recreate | string |
controllers.main.annotations.glance/icon (2) di:frigate-light | string |
| string | |
controllers.main.annotations.glance/url (2) https://frigate.${ROOT_DOMAIN} | string |
| string | |
controllers.main.containers.app.env.TZ (2) Europe/Warsaw | string |
| string | |
controllers.main.containers.app.image.repository (2) ghcr.io/blakeblackshear/frigate | string |
controllers.main.containers.app.image.tag (2) 0.17.2@sha256:d4351369984d4a9e2a49ac59736f6490856a7ea11f7790040746d21496967010 | string |
| boolean | |
| number | |
| number | |
| number | |
| boolean | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| boolean | |
| number | |
| number | |
| string | |
| string | |
controllers.main.initContainers.01-set-config.command[] (2) - /bin/sh | string |
controllers.main.initContainers.01-set-config.image.repository (2) ghcr.io/home-operations/busybox | string |
controllers.main.initContainers.01-set-config.image.tag (2) 1.38.0@sha256:7e2c04dd50ede647bf4a7a4c8dbd629dd4971cd139b9b88fb22bfc3c7a6c13df | string |
| string | |
| string | |
| boolean | |
| string | |
| boolean | |
| number | |
service.app.ports.http.appProtocol (3) kubernetes.io/wss | string |
| number | |
| boolean | |
| number | |
| boolean | |
| number | |
| string | |
| number | |
| boolean | |
| number | |
| string | |
| number | |
| string | |
service.app.controller (3) frigate | string |
| string | |
| number | |
service.frigate.ports.http.appProtocol (3) kubernetes.io/ws | string |
| number | |
| boolean | |
| number | |
| number | |
| string | |
| number | |
| string | |
service.frigate.type (3) LoadBalancer | string |
route.app.hostnames[] (7) - frigate.${ROOT_DOMAIN} | string |
route.app.parentRefs[].name (7) envoy-internal | string |
| string | |
| string | |
| number | |
| string | |
| string | |
route.app.rules[].filters[].responseHeaderModifier.set[].name (2) Content-Security-Policy | string |
route.app.rules[].filters[].responseHeaderModifier.set[].value (2) default-src 'self'; object-src 'none'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; | string |
route.app.rules[].filters[].type (2) ResponseHeaderModifier | string |
route.app.annotations."gatus.home-operations.com/endpoint" (2) path: /api/version | string |
route.app.annotations."gethomepage.dev/description" (1) NVR & Object Detection | string |
| string | |
| string | |
| string | |
| string | |
| string | |
route.app.annotations."gethomepage.dev/widget.url" (1) http://frigate.home.svc.cluster.local:5000 | string |
route.app.labels.auth (1) authentik | string |
route.go2rtc.hostnames[] (4) - frigate-go2rtc.aresu.eu | string |
route.go2rtc.parentRefs[].name (4) envoy-internal | string |
| string | |
| string | |
| string, number | |
| string | |
| string | |
route.frigate.hostnames[] (3) - frigate.aresu.eu | string |
route.frigate.parentRefs[].name (3) envoy-internal | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| number | |
| string | |
| string | |
| number | |
| number | |
| boolean | |
| number | |
| string | |
| string | |
| string | |
| string | |
| number | |
| string | |
| string | |
| string | |
| string | |
defaultPodOptions.annotations."k8s.v1.cni.cncf.io/networks" (2) [{
"name": "iot-nowan",
"namespace": "kube-system",
"ips": ["192.168.3.32/24"],
"mac": "02:00:c0:a8:03:20"
}] | string |
| boolean | |
| string | |
| string | |
| boolean | |
| string | |
| string | |
defaultPodOptions.tolerations[].key (1) node.kubernetes.io/low-power | string |
| string | |
defaultPodOptions.tolerations[].value (1) raspberry-pi | string |
configMaps.config.data."config.yml" (2) mqtt:
enabled: true
host: mosquitto.home.svc.cluster.local
port: 1883
client_id: frigate
topic_prefix: frigate
detectors:
ov:
type: openvino
device: GPU
# Mounted read-only from the yolov9-onnx image volume. t, s and m are all
# in that image, so trying another variant is a path change here.
model:
model_type: yolo-generic
width: 320
height: 320
input_tensor: nchw
input_dtype: float
# Back to s: m ran 70-76ms per inference, so at ~14 detections/sec the
# detector was at ~100% duty cycle and Frigate was dropping ~3fps of
# frames it never got to look at. The dog/cat confusion m was meant to
# fix needs Frigate+ retraining instead, not a bigger COCO detector.
path: /models/yolov9-s-320.onnx
labelmap_path: /labelmap/coco-80.txt
ffmpeg:
hwaccel_args: preset-vaapi
detect:
enabled: true
fps: 5
objects:
track:
- person
- car
- dog
- cat
# Enrichments share the same iGPU as the detector: OpenVINO picks it up
# automatically in the default image, so no device key is needed.
# Models are downloaded once into /config/model_cache on the config PVC.
semantic_search:
enabled: true
model: jinav1
model_size: large
face_recognition:
enabled: true
# 0.17.x ships OpenVINO 2025.3, which has a clCreateSubBuffer bug that
# crashes the embeddings manager for the large (ArcFace) model on Intel
# iGPUs. If embeddings_manager starts crash-looping, set `device: CPU`
# here, or drop to `model_size: small`, until 0.18 (OpenVINO 2025.4).
model_size: large
record:
enabled: true
continuous:
days: 0
motion:
days: 0
alerts:
retain:
days: 14
detections:
retain:
days: 7
snapshots:
enabled: true
retain:
default: 14
go2rtc:
streams:
# 192.168.20.238 is HA's "Quincho Fluent" — it was called backyard
# here, which left the actual backyard camera without the name
quincho:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.238:554/h264Preview_01_main
quincho_sub:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.238:554/h264Preview_01_sub
# 192.168.20.223 is HA's "Greengarden Fluent", area Backyard. It was
# configured as entrance, so entrance pointed at the wrong garden
backyard:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.223:554/h264Preview_01_main
backyard_sub:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.223:554/h264Preview_01_sub
backyard_pool:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.42:554/h264Preview_01_main
backyard_pool_sub:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.42:554/h264Preview_01_sub
# The real entrance: Reolink Duo 2 PoE, dual lens stitched into one
# ultra-wide frame (main 4608x1728 HEVC, sub 1536x576 h264)
entrance:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.250:554/h264Preview_01_main
entrance_sub:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.250:554/h264Preview_01_sub
living_room:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.231:554/h264Preview_01_main
living_room_sub:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.231:554/h264Preview_01_sub
family_room:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.84:554/h264Preview_01_main
family_room_sub:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.84:554/h264Preview_01_sub
service_yard:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.146:554/h264Preview_01_main
service_yard_sub:
- rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@192.168.20.146:554/h264Preview_01_sub
cameras:
quincho:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/quincho
input_args: preset-rtsp-restream
roles: [record]
- path: rtsp://127.0.0.1:8554/quincho_sub
input_args: preset-rtsp-restream
roles: [detect]
live:
streams:
Main: quincho
Sub: quincho_sub
backyard:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/backyard
input_args: preset-rtsp-restream
roles: [record]
- path: rtsp://127.0.0.1:8554/backyard_sub
input_args: preset-rtsp-restream
roles: [detect]
live:
streams:
Main: backyard
Sub: backyard_sub
backyard_pool:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/backyard_pool
input_args: preset-rtsp-restream
roles: [record]
- path: rtsp://127.0.0.1:8554/backyard_pool_sub
input_args: preset-rtsp-restream
roles: [detect]
live:
streams:
Main: backyard_pool
Sub: backyard_pool_sub
entrance:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/entrance
input_args: preset-rtsp-restream
roles: [record]
- path: rtsp://127.0.0.1:8554/entrance_sub
input_args: preset-rtsp-restream
roles: [detect]
live:
streams:
Main: entrance
Sub: entrance_sub
living_room:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/living_room
input_args: preset-rtsp-restream
roles: [record]
- path: rtsp://127.0.0.1:8554/living_room_sub
input_args: preset-rtsp-restream
roles: [detect]
live:
streams:
Main: living_room
Sub: living_room_sub
family_room:
# Stopgap: 192.168.20.84 drops off the network intermittently, and
# Frigate's reconnect loop burns ~0.75 cores producing 0 fps while it
# does. The camera itself answers when probed directly, so this is a
# link fault to chase at the camera, not here. Flip back to true once
# it holds a connection; the go2rtc streams below stay defined so
# that is the only change needed.
enabled: false
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/family_room
input_args: preset-rtsp-restream
roles: [record]
- path: rtsp://127.0.0.1:8554/family_room_sub
input_args: preset-rtsp-restream
roles: [detect]
live:
streams:
Main: family_room
Sub: family_room_sub
service_yard:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/service_yard
input_args: preset-rtsp-restream
roles: [record]
- path: rtsp://127.0.0.1:8554/service_yard_sub
input_args: preset-rtsp-restream
roles: [detect]
live:
streams:
Main: service_yard
Sub: service_yard_sub | string |
| boolean | |
ingress.app.annotations."gatus.home-operations.com/endpoint" (1) path: /api/version
| string |
| string | |
| string | |
| boolean | |
ingress.app.hosts[].host (1) {{ .Release.Name }}.${SECRET_DOMAIN} | string |
| string | |
| string | |
| string | |
| string | |
ingress.app.tls[].hosts[] (1) - {{ .Release.Name }}.${SECRET_DOMAIN} | string |
ingress.main.className (1) nginx-internal | string |
| boolean | |
ingress.main.hosts[].host (1) frigate.${SECRET_DOMAIN} | string |
| string | |
| string | |
| string | |
ingress.main.tls[].hosts[] (1) - frigate.${SECRET_DOMAIN} | string |
ingress.main.tls[].secretName (1) tls.frigate | string |