Configuration
Fregata’s configuration is upstream Frigate’s config.yml, with a
small set of macOS-specific defaults and one new detector type.
This page is the index of the schema, calling out what’s
different on macOS. The full key-by-key reference lives in the
Frigate documentation,
which we mirror almost entirely.
File location
Section titled “File location”~/Fregata/config/config.ymlThe location is overridable in Settings → Folders → Change Config
Location…. The launcher writes the chosen path into UserDefaults
and exposes it as FRIGATE_CONFIG_DIR to the Python core.
Top-level keys
Section titled “Top-level keys”| Key | What it does | macOS-specific? |
|---|---|---|
mqtt | MQTT broker connection. | Same as upstream. |
database | SQLite path. | Default sits inside ~/Fregata/config/. |
auth | HTTP basic auth for the web UI. | Same as upstream. |
tls | TLS toggle for the web UI. | Auto-enabled if ~/Fregata/config/ssl/cert.pem exists. |
proxy | Trusted reverse-proxy headers. | Same as upstream. |
ui | UI tweaks (date format, locale). | Same as upstream. |
logger | Per-module log levels. | Same as upstream. |
telemetry | Frigate’s own metrics & version-check. | Distinct from Fregata’s license telemetry. |
detectors | Detector hardware config. | Only coreml is supported — see below. |
model | Detection model defaults. | Defaults pre-configured for the bundled YOLOv9-tiny. |
genai | GenAI integrations (description, semantic search). | Same as upstream; Bring Your Own Key. |
cameras | Per-camera config. | Same as upstream. |
audio | Global audio events. | Same as upstream. |
birdseye | Picture-in-picture composite view. | Same as upstream; CPU-encoded by default. |
detect | Global detect tracker. | Same as upstream. |
ffmpeg | Global ffmpeg presets. | Defaults to VideoToolbox decode/encode — see below. |
live | Live playback settings. | Same as upstream. |
motion | Global motion config. | Same as upstream. |
objects | Global object filters. | Same as upstream. |
record | Continuous recording. | Same as upstream. |
review | Event review thresholds. | Same as upstream. |
snapshots | Event JPEG snapshots. | Same as upstream. |
notifications | Web Push notifications. | Same as upstream. |
networking | Network advertising. | Same as upstream. |
face_recognition | On-device face matching. | Same as upstream. |
lpr | License-plate recognition. | Same as upstream. |
audio_transcription | Audio-to-text events. | Same as upstream. |
classification | Auxiliary classification head. | Same as upstream. |
semantic_search | Embeddings for review search. | Same as upstream. |
camera_groups | Group cameras into views. | Same as upstream. |
For each key, the upstream Frigate docs are the canonical reference. Fregata follows that schema strictly; if a property works in Frigate, it works in Fregata.
Detectors — coreml only
Section titled “Detectors — coreml only”Fregata ships a single detector type. The fields below are the ones specific to it; the model sub-block follows the standard Frigate shape.
detectors: coreml: type: coreml inference_backend: ane # "ane" (default) | "gpu" coreml_flags: 0 # 0 = ANE preferred; 1 = exclude ANE model_path: <optional> # path or plus://<id>; default = bundled model: model_type: yolo-generic # yolo-generic | yolox | yolonas | dfine | rfdetr | ssd width: 320 height: 320 input_tensor: nchw input_pixel_format: rgb input_dtype: float labelmap_path: <optional> # default = COCO labelsSee Detection tuning for the practical guide to swapping models, choosing a backend, and tuning thresholds.
FFmpeg defaults
Section titled “FFmpeg defaults”Fregata’s macOS ffmpeg presets use VideoToolbox out of the box:
| Pipeline | Default | Notes |
|---|---|---|
| Input decode | -hwaccel videotoolbox | Applied to every stream input. |
| Recording encode | h264_videotoolbox -allow_sw 1 -realtime 1 -g 50 -profile:v high | -allow_sw 1 is a software fallback safety net. |
| RTSP re-stream | h264_videotoolbox -allow_sw 1 -profile:v high | Used by the go2rtc fan-out. |
| Preview snapshot | h264_videotoolbox -allow_sw 1 | Used for hourly thumbnails. |
You can override any preset via ffmpeg.output_args in your
config.yml exactly as on Linux Frigate. The presets are macros;
the underlying Frigate ffmpeg command-line is unchanged.
A worked-example camera
Section titled “A worked-example camera”mqtt: enabled: false
cameras: front_porch: ffmpeg: inputs: # One stream, both roles — Fregata's ANE happily detects # at full resolution, no sub-stream needed. See # /reference/cameras/#sub-streams-optional-power-saver. roles: [record, detect] detect: fps: 5 record: enabled: true retain: days: 14 mode: motion events: retain: default: 30 mode: active_objects snapshots: enabled: true bounding_box: true objects: track: - person - car - dog filters: person: threshold: 0.7 min_area: 1500 motion: mask: - 0,0,0,400,300,400,300,0 zones: porch: coordinates: 200,200,800,200,800,600,200,600 objects: - personDrop that into ~/Fregata/config/config.yml (with your camera’s
real URL and credentials), restart Frigate from the tray, and
you’re up.
Reloading config
Section titled “Reloading config”Frigate watches config.yml and applies most changes live without
a restart. The exceptions:
- Adding or removing a camera.
- Changing the detector model.
- Changing TLS, MQTT, or auth settings.
For those, click Restart Frigate in the tray. The web UI becomes briefly unavailable, then comes back with the new config.