Frigate can be configured through the **Settings UI** or by editing the YAML configuration file directly. The Settings UI is the recommended approach — it provides validation and a guided experience for all configuration options.
It is recommended to start with a minimal configuration and add to it as described in [the getting started guide](../guides/getting_started.md).
## Configuration File Location
For users who prefer to edit the YAML configuration file directly:
- **Home Assistant App:** `/addon_configs/<addon_directory>/config.yml` — see [directory list](#accessing-app-config-dir)
- **All other installations:** Map to `/config/config.yml` inside the container
When running Frigate through the HA App, 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 App you are running.
If for example you are running the standard App variant and use the [VS Code App](https://github.com/hassio-addons/addon-vscode) 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 config editor in the Frigate UI.
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 App, 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.
Frigate supports the use of environment variables starting with `FRIGATE_`**only** where specifically indicated in the [reference config](./reference.md). For example, the following values can be replaced at runtime by using environment variables:
Here are some common starter configuration examples. These can be configured through the Settings UI or via YAML. Refer to the [reference config](./reference.md) for detailed information about all config values.
1. Navigate to <NavPathpath="Settings > System > MQTT"/> and configure the MQTT connection to your Home Assistant Mosquitto broker
2. Navigate to <NavPathpath="Settings > Global configuration > FFmpeg"/> and set **Hardware acceleration arguments** to `Raspberry Pi (H.264)`
3. Navigate to <NavPathpath="Settings > System > Detector hardware"/> and add a detector with **Type**`edgetpu` and **Device**`usb`
4. Navigate to <NavPathpath="Settings > Global configuration > Recording"/> and set **Enable recording** to on, **Motion retention > Retention days** to `7`, **Alert retention > Event retention > Retention days** to `30`, **Alert retention > Event retention > Retention mode** to `motion`, **Detection retention > Event retention > Retention days** to `30`, **Detection retention > Event retention > Retention mode** to `motion`
5. Navigate to <NavPathpath="Settings > Global configuration > Snapshots"/> and set **Enable snapshots** to on, **Snapshot retention > Default retention** to `30`
6. Navigate to <NavPathpath="Settings > Camera configuration > Management"/> and add your camera with the appropriate RTSP stream URL
7. Navigate to <NavPathpath="Settings > Camera configuration > Masks / Zones"/> to add a motion mask for the camera timestamp
1. Navigate to <NavPathpath="Settings > System > MQTT"/> and set **Enabled** to off
2. Navigate to <NavPathpath="Settings > Global configuration > FFmpeg"/> and set **Hardware acceleration arguments** to `VAAPI (Intel/AMD GPU)`
3. Navigate to <NavPathpath="Settings > System > Detector hardware"/> and add a detector with **Type**`edgetpu` and **Device**`usb`
4. Navigate to <NavPathpath="Settings > Global configuration > Recording"/> and set **Enable recording** to on, **Motion retention > Retention days** to `7`, **Alert retention > Event retention > Retention days** to `30`, **Alert retention > Event retention > Retention mode** to `motion`, **Detection retention > Event retention > Retention days** to `30`, **Detection retention > Event retention > Retention mode** to `motion`
5. Navigate to <NavPathpath="Settings > Global configuration > Snapshots"/> and set **Enable snapshots** to on, **Snapshot retention > Default retention** to `30`
6. Navigate to <NavPathpath="Settings > Camera configuration > Management"/> and add your camera with the appropriate RTSP stream URL
7. Navigate to <NavPathpath="Settings > Camera configuration > Masks / Zones"/> to add a motion mask for the camera timestamp
1. Navigate to <NavPathpath="Settings > System > MQTT"/> and configure the connection to your MQTT broker
2. Navigate to <NavPathpath="Settings > Global configuration > FFmpeg"/> and set **Hardware acceleration arguments** to `VAAPI (Intel/AMD GPU)`
3. Navigate to <NavPathpath="Settings > System > Detector hardware"/> and add a detector with **Type**`openvino` and **Device**`AUTO`
4. Navigate to <NavPathpath="Settings > System > Detection model"/> and configure the OpenVINO model path and settings
5. Navigate to <NavPathpath="Settings > Global configuration > Recording"/> and set **Enable recording** to on, **Motion retention > Retention days** to `7`, **Alert retention > Event retention > Retention days** to `30`, **Alert retention > Event retention > Retention mode** to `motion`, **Detection retention > Event retention > Retention days** to `30`, **Detection retention > Event retention > Retention mode** to `motion`
6. Navigate to <NavPathpath="Settings > Global configuration > Snapshots"/> and set **Enable snapshots** to on, **Snapshot retention > Default retention** to `30`
7. Navigate to <NavPathpath="Settings > Camera configuration > Management"/> and add your camera with the appropriate RTSP stream URL
8. Navigate to <NavPathpath="Settings > Camera configuration > Masks / Zones"/> to add a motion mask for the camera timestamp