Skip to content

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.

~/Fregata/config/config.yml

The 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.

KeyWhat it doesmacOS-specific?
mqttMQTT broker connection.Same as upstream.
databaseSQLite path.Default sits inside ~/Fregata/config/.
authHTTP basic auth for the web UI.Same as upstream.
tlsTLS toggle for the web UI.Auto-enabled if ~/Fregata/config/ssl/cert.pem exists.
proxyTrusted reverse-proxy headers.Same as upstream.
uiUI tweaks (date format, locale).Same as upstream.
loggerPer-module log levels.Same as upstream.
telemetryFrigate’s own metrics & version-check.Distinct from Fregata’s license telemetry.
detectorsDetector hardware config.Only coreml is supported — see below.
modelDetection model defaults.Defaults pre-configured for the bundled YOLOv9-tiny.
genaiGenAI integrations (description, semantic search).Same as upstream; Bring Your Own Key.
camerasPer-camera config.Same as upstream.
audioGlobal audio events.Same as upstream.
birdseyePicture-in-picture composite view.Same as upstream; CPU-encoded by default.
detectGlobal detect tracker.Same as upstream.
ffmpegGlobal ffmpeg presets.Defaults to VideoToolbox decode/encode — see below.
liveLive playback settings.Same as upstream.
motionGlobal motion config.Same as upstream.
objectsGlobal object filters.Same as upstream.
recordContinuous recording.Same as upstream.
reviewEvent review thresholds.Same as upstream.
snapshotsEvent JPEG snapshots.Same as upstream.
notificationsWeb Push notifications.Same as upstream.
networkingNetwork advertising.Same as upstream.
face_recognitionOn-device face matching.Same as upstream.
lprLicense-plate recognition.Same as upstream.
audio_transcriptionAudio-to-text events.Same as upstream.
classificationAuxiliary classification head.Same as upstream.
semantic_searchEmbeddings for review search.Same as upstream.
camera_groupsGroup 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.

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 labels

See Detection tuning for the practical guide to swapping models, choosing a backend, and tuning thresholds.

Fregata’s macOS ffmpeg presets use VideoToolbox out of the box:

PipelineDefaultNotes
Input decode-hwaccel videotoolboxApplied to every stream input.
Recording encodeh264_videotoolbox -allow_sw 1 -realtime 1 -g 50 -profile:v high-allow_sw 1 is a software fallback safety net.
RTSP re-streamh264_videotoolbox -allow_sw 1 -profile:v highUsed by the go2rtc fan-out.
Preview snapshoth264_videotoolbox -allow_sw 1Used 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.

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.
- path: rtsp://user:[email protected]:554/h264Preview_01_main
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:
- person

Drop that into ~/Fregata/config/config.yml (with your camera’s real URL and credentials), restart Frigate from the tray, and you’re up.

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.