Skip to main content

Global and Camera-Level Configuration

Most of Frigate's configuration can be set once for all cameras and then adjusted for individual cameras. The global value acts as the default for every camera, and any camera can override it.

This page explains how that inheritance works. For a tour of the Settings UI itself, see Frigate Configuration.

The basics​

Set a value globally and every camera uses it. Set the same value on a camera and that camera uses its own value instead.

  1. Navigate to Settings→Global configuration→Object detection and set Detect FPS to 5. Every camera now detects at 5 fps.
  2. Navigate to Settings→Camera configuration→Object detection, select the driveway camera, and set Detect FPS to 10.

The driveway camera now detects at 10 fps. Every other camera still uses the global value of 5.

Overrides apply per value, not per section​

Overriding one value in a section does not detach the rest of that section. Everything you don't set on the camera still comes from the global configuration.

If you set a camera's Motion threshold but leave Contour area alone, only the threshold is overridden. The contour area continues to follow Settings→Global configuration→Motion detection, and changing it there still affects that camera.

Open a section to see which values are overridden: the section header indicates how many fields differ from the global configuration.

Returning a camera to the global value​

A camera section that has its own values shows an Overridden badge. To remove the override and go back to inheriting, use the Reset to Global button at the bottom of the section.

Lists replace, maps merge​

This is the distinction that surprises people most.

Lists are replaced entirely. A camera's list does not add to the global list, it takes its place.

The camera page shows the objects the camera is currently tracking, starting from the global list. Changing that selection under Settings→Camera configuration→Objects replaces the list for that camera, so make sure every object you want tracked is selected, not just the ones you are adding.

An empty list is a valid override, and is the normal way to opt a camera out of something:

review:
alerts:
labels:
- person

cameras:
street:
review:
alerts:
labels: [] # this camera never creates alerts

Maps are merged key by key. A camera can add an entry without redeclaring the others.

Adding a filter for one object under Settings→Camera configuration→Objects does not remove the filters inherited from Settings→Global configuration→Objects. The camera keeps both.

Which settings can be overridden​

Most, but not all. The full reference config is the authoritative source: sections that support camera-level overrides are marked with the comment # NOTE: Can be overridden at the camera level. In the UI, a setting can be overridden if it appears under both Settings→Global configuration and Settings→Camera configuration.

A few things worth knowing beyond that:

  • Some sections are global only and have no camera-level equivalent, including go2rtc, genai providers, classification, telemetry, camera_groups, and ui.
  • Some sections exist only at the camera level, such as zones and onvif.
  • Some sections are partially overridable, meaning a camera accepts only a few of the keys available globally. face_recognition, lpr, and audio_transcription work this way, and the reference config notes which keys apply.

Enrichments that must be enabled globally first​

License plate recognition and face recognition are special: the global setting is not just a default, it is a switch that must be on before any camera can use the feature. Enabling one on a camera while it is disabled globally is a configuration error, and Frigate will refuse to start:

Camera driveway has lpr enabled but lpr is disabled at the global level of the config. You must enable lpr at the global level.

Enable the feature globally, then turn it off on the cameras that don't need it.

  1. Navigate to Settings→Global configuration→License plate recognition and enable LPR.
  2. Navigate to Settings→Camera configuration→License plate recognition, select each camera that should not run LPR, and disable the Enable LPR toggle.
note

This applies only to lpr and face_recognition, because the global setting controls whether the supporting background process starts at all. Other features do not work this way. Audio transcription, for example, can be enabled on a single camera without being enabled globally.

Profiles​

Profiles add a further layer on top of everything described above. A profile is a named set of camera overrides that you can switch on and off while Frigate is running, for example to change detection and recording behavior when you leave the house.

Profiles are applied on top of a camera's already-resolved configuration, so a profile value wins over both the camera and the global value while that profile is active. Profiles cover a subset of the camera sections and do not modify your config file.

Summary​

  • A camera inherits every value you don't set on it.
  • Overriding one value does not detach the rest of the section.
  • Writing a value on a camera overrides it, even if it matches the global value. Remove it to inherit again.
  • Lists replace the global list. Maps merge into it.
  • An empty list is an override, not an omission.
  • lpr and face_recognition must be enabled globally before a camera can use them.