Frigate Configuration
For Home Assistant Add-on installations, the config file should be at /addon_configs/<addon_directory>/config.yml
, where <addon_directory>
is specific to the variant of the Frigate Add-on you are running. See the list of directories here.
For all other installation types, the config file should be mapped to /config/config.yml
inside the container.
It can be named config.yml
or config.yaml
, but if both files exist config.yml
will be preferred and config.yaml
will be ignored.
It is recommended to start with a minimal configuration and add to it as described in this guide and use the built in configuration editor in Frigate's UI which supports validation.
mqtt:
enabled: False
cameras:
dummy_camera: # <--- this will be changed to your actual camera later
enabled: False
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:554/rtsp
roles:
- detect
Accessing the Home Assistant Add-on configuration directory
When running Frigate through the HA Add-on, the Frigate /config
directory is mapped to /addon_configs/<addon_directory>
in the host, where <addon_directory>
is specific to the variant of the Frigate Add-on you are running.
Add-on Variant | Configuration directory |
---|---|
Frigate | /addon_configs/ccab4aaf_frigate |
Frigate (Full Access) | /addon_configs/ccab4aaf_frigate-fa |
Frigate Beta | /addon_configs/ccab4aaf_frigate-beta |
Frigate Beta (Full Access) | /addon_configs/ccab4aaf_frigate-fa-beta |
Whenever you see /config
in the documentation, it refers to this directory.
If for example you are running the standard Add-on variant and use the VS Code Add-on to browse your files, you can click File > Open folder... and navigate to /addon_configs/ccab4aaf_frigate
to access the Frigate /config
directory and edit the config.yaml
file. You can also use the built-in file editor in the Frigate UI to edit the configuration file.
VS Code Configuration Schema
VS Code supports JSON schemas for automatically validating configuration files. You can enable this feature by adding # yaml-language-server: $schema=http://frigate_host:5000/api/config/schema.json
to the beginning of the configuration file. Replace frigate_host
with the IP address or hostname of your Frigate server. If you're using both VS Code and Frigate as an Add-on, you should use ccab4aaf-frigate
instead. Make sure to expose the internal unauthenticated port 5000
when accessing the config from VS Code on another machine.
Environment Variable Substitution
Frigate supports the use of environment variables starting with FRIGATE_
only where specifically indicated in the reference config. For example, the following values can be replaced at runtime by using environment variables:
mqtt:
user: "{FRIGATE_MQTT_USER}"
password: "{FRIGATE_MQTT_PASSWORD}"
- path: rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@10.0.10.10:8554/unicast
onvif:
host: 10.0.10.10
port: 8000
user: "{FRIGATE_RTSP_USER}"
password: "{FRIGATE_RTSP_PASSWORD}"
go2rtc:
rtsp:
username: "{FRIGATE_GO2RTC_RTSP_USERNAME}"
password: "{FRIGATE_GO2RTC_RTSP_PASSWORD}"
genai:
api_key: "{FRIGATE_GENAI_API_KEY}"
Common configuration examples
Here are some common starter configuration examples. Refer to the reference config for detailed information about all the config values.
Raspberry Pi Home Assistant Add-on with USB Coral
- Single camera with 720p, 5fps stream for detect
- MQTT connected to the Home Assistant Mosquitto Add-on
- Hardware acceleration for decoding video
- USB Coral detector
- Save all video with any detectable motion for 7 days regardless of whether any objects were detected or not
- Continue to keep all video if it qualified as an alert or detection for 30 days
- Save snapshots for 30 days
- Motion mask for the camera timestamp
mqtt:
host: core-mosquitto
user: mqtt-user
password: xxxxxxxxxx
ffmpeg:
hwaccel_args: preset-rpi-64-h264
detectors:
coral:
type: edgetpu
device: usb
record:
enabled: True
retain:
days: 7
mode: motion
alerts:
retain:
days: 30
detections:
retain:
days: 30
snapshots:
enabled: True
retain:
default: 30
cameras:
name_of_your_camera:
detect:
width: 1280
height: 720
fps: 5
ffmpeg:
inputs:
- path: rtsp://10.0.10.10:554/rtsp
roles:
- detect
motion:
mask:
- 0.000,0.427,0.002,0.000,0.999,0.000,0.999,0.781,0.885,0.456,0.700,0.424,0.701,0.311,0.507,0.294,0.453,0.347,0.451,0.400
Standalone Intel Mini PC with USB Coral
- Single camera with 720p, 5fps stream for detect
- MQTT disabled (not integrated with home assistant)
- VAAPI hardware acceleration for decoding video
- USB Coral detector
- Save all video with any detectable motion for 7 days regardless of whether any objects were detected or not
- Continue to keep all video if it qualified as an alert or detection for 30 days
- Save snapshots for 30 days
- Motion mask for the camera timestamp
mqtt:
enabled: False
ffmpeg:
hwaccel_args: preset-vaapi
detectors:
coral:
type: edgetpu
device: usb
record:
enabled: True
retain:
days: 7
mode: motion
alerts:
retain:
days: 30
detections:
retain:
days: 30
snapshots:
enabled: True
retain:
default: 30
cameras:
name_of_your_camera:
detect:
width: 1280
height: 720
fps: 5
ffmpeg:
inputs:
- path: rtsp://10.0.10.10:554/rtsp
roles:
- detect
motion:
mask:
- 0.000,0.427,0.002,0.000,0.999,0.000,0.999,0.781,0.885,0.456,0.700,0.424,0.701,0.311,0.507,0.294,0.453,0.347,0.451,0.400
Home Assistant integrated Intel Mini PC with OpenVino
- Single camera with 720p, 5fps stream for detect
- MQTT connected to same mqtt server as home assistant
- VAAPI hardware acceleration for decoding video
- OpenVino detector
- Save all video with any detectable motion for 7 days regardless of whether any objects were detected or not
- Continue to keep all video if it qualified as an alert or detection for 30 days
- Save snapshots for 30 days
- Motion mask for the camera timestamp
mqtt:
host: 192.168.X.X # <---- same mqtt broker that home assistant uses
user: mqtt-user
password: xxxxxxxxxx
ffmpeg:
hwaccel_args: preset-vaapi
detectors:
ov:
type: openvino
device: AUTO
model:
width: 300
height: 300
input_tensor: nhwc
input_pixel_format: bgr
path: /openvino-model/ssdlite_mobilenet_v2.xml
labelmap_path: /openvino-model/coco_91cl_bkgr.txt
record:
enabled: True
retain:
days: 7
mode: motion
alerts:
retain:
days: 30
detections:
retain:
days: 30
snapshots:
enabled: True
retain:
default: 30
cameras:
name_of_your_camera:
detect:
width: 1280
height: 720
fps: 5
ffmpeg:
inputs:
- path: rtsp://10.0.10.10:554/rtsp
roles:
- detect
motion:
mask:
- 0.000,0.427,0.002,0.000,0.999,0.000,0.999,0.781,0.885,0.456,0.700,0.424,0.701,0.311,0.507,0.294,0.453,0.347,0.451,0.400