Skip to content

System requirements

The short answer: any Apple Silicon Mac running macOS 14 or later, with enough free disk for your retention plan.

Version Status
macOS 14 Sonoma ✅ minimum
macOS 15 Sequoia ✅
macOS 26 ✅
macOS 27 ✅
macOS 13 Ventura or older ❌

We track current macOS — the newest dot-release of the current major is the canonical platform we test on.

RAM Usable for
8 GB 8+ cameras / 10 fps detection
16 GB Comfortable for 8–16 cameras, easily + other apps
24+ GB More cameras, GenAI descriptions, semantic search, run other memory-hungry apps

Each ffmpeg decoder is the dominant memory consumer; budget 100– 250 MB per camera for ffmpeg + the detector pipeline. Fregata itself (the Python core, the Swift app, nginx, go2rtc) totals about 1 GB of RAM.

The table above is a starting point, not the whole picture. Semantic search, face recognition and license plates are each a separate opt-in download — nothing here is fetched until you turn the feature on — and their cost varies a lot by model and size:

Feature Model Download First-run cost
Semantic search — jinav1 (default model) large (default size) ~425 MB GPU compile, a few seconds
small ~345 MB none (CPU)
Semantic search — jinav2 (opt-in, multilingual) large ~1.6 GB, as two artifacts compile, under 10 seconds and up to ~3.5 GB RAM, once; see below
small ~835 MB none to compile, but not recommended — slow, see below
Face recognition large (default size) ~250 MB GPU compile, a few seconds
small small TFLite download none (CPU)
License plates small (default size) well under 100 MB GPU compile, a few seconds
large well under 100 MB GPU compile, a few seconds

jinav2 at model_size: large needs the most memory to set up. Fregata compiles its two models for Apple’s CoreML the first time you enable jinav2, not on every restart. On an M4 with macOS 27 that takes under 10 seconds, and compiling the text model briefly uses up to about 3.5 GB of RAM. If you don’t specifically need jinav2’s multilingual embeddings, the default jinav1 model gives you GPU-accelerated semantic search for a much smaller download.

Fregata runs jinav2’s text model on the CPU, on every macOS: through CoreML it stays fast there and its memory stays flat, while on the GPU Apple’s CoreML on macOS 27 can’t load it in a usable time. Image embeddings run on the GPU.

jinav2 at model_size: small skips that compile, but it isn’t a shortcut worth taking: it runs slower than either jinav1 large or jinav2 large, and it is far less accurate. See AI Models for Frigate Enrichments → First-run GPU compiles for why.

See AI Models for Frigate Enrichments for where each model runs (Apple Neural Engine, GPU, or CPU) and why, and Troubleshooting if a first-run compile or model download seems stuck.

The detector model and the app are around 2 GB combined. Recordings dominate the disk usage:

Cameras Per day @ motion-only 14-day disk budget
1 4–10 GB 60–140 GB
4 16–40 GB 250–560 GB
8 32–80 GB 500 GB – 1.2 TB
16 64–160 GB 1–2 TB

External Thunderbolt SSDs work fine; external USB SSDs work if they’re 3.0 or better. A networked NAS is also a fine choice.

See Recordings & retention for how to dial these numbers up or down.

  • Cameras on Ethernet if at all possible. RTSP over Wi-Fi works but is sensitive to packet loss; a noisy Wi-Fi → Mac path manifests as detection drop-outs and choppy recordings.
  • Mac on Ethernet for 4+ cameras. Multi-stream RTSP plus the HA integration’s MJPEG fan-out can saturate Wi-Fi quickly.

Listed for completeness so you don’t waste time:

  • Intel Macs — no ANE.
  • iPads / iPhones: the NVR itself doesn’t run on iOS, because it needs a Mac. Its iPhone, iPad and Apple Watch client is Fregata Mobile, a free companion app (public beta) that shows the cameras, recordings and alerts of an NVR running on your Mac. It needs iOS or iPadOS 26 or later, and watchOS 26 for the Watch app.
  • Linux / Windows — that’s Frigate, the project we’re built on. Use it directly there, it’s excellent!
  • Docker on macOS — possible, but nullifies every reason to use Fregata over Frigate. The hardware acceleration paths don’t cross the Hypervisor.framework boundary cleanly.
  • A virtualized macOS guest — same problem; ANE access from a guest VM is impossible. Fregata will run, but you lose most of the benefits.