Environment variables
Set these in Settings → Environment Variables in the menu-bar tray, or export them before launching Fregata from a terminal. The in-app editor is the more durable option — values persist across launches via UserDefaults.
Fregata-specific
Section titled “Fregata-specific”These are the env vars introduced by the Fregata port itself.
FREGATA_TELEMETRY_DISABLED
Section titled “FREGATA_TELEMETRY_DISABLED”| Default | Effect |
|---|---|
| unset | Telemetry block included in license heartbeat. |
1 | Telemetry block omitted. Server marks the activation as opted-out. |
The contents of the telemetry block are listed at
Privacy & telemetry. Setting
this to 1 is a complete opt-out — nothing telemetry-shaped leaves
the Mac.
FREGATA_PERF_LOGS
Section titled “FREGATA_PERF_LOGS”| Default | Effect |
|---|---|
| unset | Standard log levels. |
1 | Per-pipeline timing logs at WARNING level. |
Useful when investigating CPU spikes or detection latency. Expect several lines per second per camera; not something to leave on.
FREGATA_DETECTOR_KEEPALIVE_MS
Section titled “FREGATA_DETECTOR_KEEPALIVE_MS”| Default | Effect |
|---|---|
250 (ANE) / 0 (GPU/CPU) | Detector keepalive interval. |
0 | Disable the keepalive entirely. |
<n> | Custom interval in milliseconds. |
The keepalive prevents the ANE from warming down between sparse
detections, which would otherwise add a one-time ~30 ms penalty to
the next inference. The default is a reasonable compromise; reduce
to 100 for very latency-sensitive workloads, raise to 1000 if
you don’t mind the occasional cold inference and want to save a
fractional amount of power.
FREGATA_FORCE_WELCOME
Section titled “FREGATA_FORCE_WELCOME”| Default | Effect |
|---|---|
| unset | Welcome wizard runs only on first launch. |
1 | Welcome wizard runs on next launch and clears the flag. |
Mostly a debugging aid. The same effect is available via Settings → Show Welcome… in the tray.
FREGATA_APP_BUNDLE
Section titled “FREGATA_APP_BUNDLE”Override path to the .app bundle. Used by the bundle-integrity
test harness; not useful in normal operation.
Frigate paths (set by the launcher)
Section titled “Frigate paths (set by the launcher)”These are set by the Swift launcher before starting the Python core. The launcher fills them from your Settings choices; you only need to set them yourself if you’re overriding the launcher.
FRIGATE_CONFIG_DIR
Section titled “FRIGATE_CONFIG_DIR”| Default | Effect |
|---|---|
~/Fregata/config | Where config.yml, the SQLite DB, model cache, and TLS material live. |
FRIGATE_MEDIA_DIR
Section titled “FRIGATE_MEDIA_DIR”| Default | Effect |
|---|---|
~/Fregata/media | Where recordings/, clips/, exports/ live. |
FRIGATE_CACHE_DIR
Section titled “FRIGATE_CACHE_DIR”| Default | Effect |
|---|---|
~/Fregata/temp | Mount point for the RAM-disk used as scratch space. |
FRIGATE_RUN_DIR
Section titled “FRIGATE_RUN_DIR”| Default | Effect |
|---|---|
~/Fregata/run | POSIX semaphore tracker files. Persists across reboots; must be on the SSD, not the RAM-disk. |
FRIGATE_BUNDLE_RESOURCES
Section titled “FRIGATE_BUNDLE_RESOURCES”| Default | Effect |
|---|---|
Fregata.app/Contents/Resources | Where bundled binaries (ffmpeg, nginx, go2rtc), the default model, and web assets live. Don’t override unless you’re debugging the bundle. |
FRIGATE_CACHE_SIZE_MB
Section titled “FRIGATE_CACHE_SIZE_MB”| Default | Effect |
|---|---|
| computed | RAM-disk size in megabytes. Default is a per-camera-config formula; set explicitly to lock a value. |
Optional Frigate config wiring
Section titled “Optional Frigate config wiring”These are read by config.yml via the !env_var YAML tag, not by
Fregata or the launcher. They exist because writing secrets in
plaintext into a file you might back up is a bad habit.
FREGATA_MQTT_PASSWORD
Section titled “FREGATA_MQTT_PASSWORD”Conventional name for the MQTT broker password. Reference in
config.yml:
mqtt: password: !env_var FREGATA_MQTT_PASSWORDYou’re free to use any other name — it’s just a plain shell variable Frigate’s config loader will look up. Pick a convention and stick with it.
Other secrets
Section titled “Other secrets”The same pattern works for any secret your config references:
FREGATA_GENAI_KEY, FREGATA_HOMEASSISTANT_TOKEN,
FREGATA_FRIGATE_PLUS_KEY, etc. Set them in the in-app editor and
reference them with !env_var <NAME> in config.yml.
Build-time only
Section titled “Build-time only”These exist in the source but compile into the binary; they are not runtime knobs:
FREGATA_LICENSING_URL— the licensing server’s base URL. Embedded into the build at compile time so a tampered binary can’t redirect requests.FREGATA_BUILD_EPOCH_OVERRIDE— used by the build pipeline for reproducible-build timestamps.
There is no env var to override the licensing server URL at runtime. That’s a deliberate constraint; runtime overrides would defeat the version-gating that lets us ship security updates without breaking older licenses.