Skip to content

Default paths

Everything Fregata writes lives in well-known places. This page is the canonical map.

~/Fregata/
├── config/ # FRIGATE_CONFIG_DIR
│ ├── config.yml # the file you edit
│ ├── frigate.db # SQLite events / recordings index
│ ├── model_cache/ # downloaded Frigate+ models
│ ├── models/ # your own ONNX (conventional)
│ └── ssl/ # cert.pem + privkey.pem (optional)
├── media/ # FRIGATE_MEDIA_DIR
│ ├── recordings/<camera>/<date>/<hour>/<minute.second>.mp4
│ ├── clips/<camera>-<event>.mp4
│ ├── clips/thumbs/ # event thumbnails
│ ├── clips/triggers/ # synthetic clips for trigger pipeline
│ ├── clips/faces/ # face-recognition snapshots
│ └── exports/ # user-initiated exports
├── temp/ # FRIGATE_CACHE_DIR (RAM-disk)
│ ├── logs/frigate/current # live Frigate log
│ ├── nginx_cache/ # nginx slice cache
│ └── go2rtc.yaml # go2rtc generated config
├── run/ # FRIGATE_RUN_DIR (SSD-resident)
│ └── *.sem # POSIX semaphore tracker files
└── logs/ # rotated logs (after a crash)
├── current # symlink to active log
└── frigate-<timestamp>.log

temp/ is mounted as a HFS+ image on a RAM disk and is destroyed on quit. run/ lives on the SSD because semaphore state has to survive reboots. Everything else is what you’d expect.

PathWhat’s in it
/Applications/Fregata.appThe signed, notarised bundle.
~/Library/Preferences/com.fregata.app.plistFolder choices, env vars, “launch at login” flag, welcome-wizard state.
Keychain (com.fregata.app service)The current Paseto license token.
macOS Service Management databaseLogin Item registration. No user-visible file.

Most users never care about this — but if you’re poking around or debugging:

Fregata.app/Contents/
├── Info.plist
├── MacOS/Fregata # the Swift entry point
└── Resources/
├── frigate-ffmpeg # bundled ffmpeg binary
├── frigate-ffprobe
├── frigate-go2rtc
├── frigate-nginx
├── Python.framework/ # bundled Python interpreter + stdlib
├── lib/python3.11/site-packages/ # Frigate, Fregata, deps
├── models/default.onnx # the bundled YOLOv9-tiny
├── labelmap.txt # default COCO labels
└── web/ # built web UI assets

Everything in Resources/ is signed at build time. Modifying the bundle in place breaks the signature and triggers Gatekeeper warnings on next launch.

The Python core’s stderr is redirected to ~/Fregata/temp/logs/frigate/current (RAM-disk). On a clean quit the file is gone; on a crash, the Swift launcher copies it to ~/Fregata/logs/current so it survives the restart.

To follow the live log from a terminal:

Terminal window
tail -F ~/Fregata/temp/logs/frigate/current

To see the most recent crash log:

Terminal window
less ~/Fregata/logs/current

The tray’s Open Crash Log entry just opens the second of those in your default text-file viewer.

The two folders you’d realistically want to move are config and media. Both are settable via Settings → Folders → Change … Location… in the tray. The launcher writes the new path to UserDefaults and Fregata moves the existing files on next launch.

Alternatively, set FRIGATE_CONFIG_DIR or FRIGATE_MEDIA_DIR explicitly in Settings → Environment Variables and restart. The env-var path wins over the UserDefaults path; this is useful when you’ve separately copied or symlinked data first.

If you want to see what Fregata is actually using right now (in case you’ve overridden any of it):

Terminal window
fregata diag paths # if you've added Fregata's bin/ to PATH
# or, more reliably:
/Applications/Fregata.app/Contents/MacOS/Fregata --print-paths

Both print a table of resolved paths to standard output and exit. Useful when filing a bug.