System requirements
The short answer: any Apple Silicon Mac running macOS 13 or later, with enough free disk for your retention plan. The longer answer is below.
Mac models
Section titled “Mac models”| Class | Verified | Notes |
|---|---|---|
| Mac mini (M1, 2020) | ✅ | The popular “Fregata box” — small, cool, cheap. 4–8 cameras handles fine on the base 8 GB / 256 GB. |
| Mac mini (M2 / M2 Pro, 2023) | ✅ | More headroom; M2 Pro shines if you’ve added GenAI features. |
| Mac mini (M4 / M4 Pro, 2024) | ✅ | Current gen. Recommended for new installs. |
| MacBook Air (M1 / M2 / M3) | ✅ | Fanless. Surprisingly capable. Pin “no sleep on AC power”. |
| MacBook Pro (M1+ Pro/Max) | ✅ | Overkill for an NVR but works. |
| iMac (M1 / M3 / M4) | ✅ | Same silicon as the Air / Mini; built-in display is wasted. |
| Mac Studio (M1 / M2 Max, M2 Ultra, M4 Max) | ✅ | Way more than you need; great for a multi-purpose home server. |
| Mac Pro (M2 Ultra) | ✅ | Same. |
| Intel Mac (any year) | ❌ | Unsupported. The detector requires the Apple Neural Engine; Intel chips don’t have one. |
Apple Silicon is required. macOS on Intel never grew an ANE, and the CoreML CPU fallback is too slow to be a real product (~50 ms per frame versus ~2 ms on the ANE).
macOS versions
Section titled “macOS versions”| Version | Status |
|---|---|
| macOS 13 Ventura | ✅ minimum |
| macOS 14 Sonoma | ✅ |
| macOS 15 Sequoia | ✅ |
| macOS 16 (current) | ✅ |
| macOS 12 Monterey or older | ❌ |
We track current macOS — the newest dot-release of the current major is the canonical platform we test on.
Memory
Section titled “Memory”| RAM | Usable for |
|---|---|
| 8 GB | 4–8 cameras at 1080p / 5 fps detection |
| 16 GB | Comfortable for 8–16 cameras |
| 24+ GB | More cameras, GenAI descriptions, semantic search |
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 resident.
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 |
Use SSDs. Spinning rust struggles with the small-write patterns of segmented MP4 + SQLite index updates and can become the bottleneck. External Thunderbolt SSDs work fine; external USB SSDs work if they’re 3.0 or better.
See Recordings & retention for how to dial these numbers up or down.
Network
Section titled “Network”- 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.
- At least 100 Mbps between cameras and the Mac for a typical 4 × 1080p install at 6 Mbps each. Gigabit comfortably handles 16+ 4K cameras.
What we don’t run on
Section titled “What we don’t run on”Listed for completeness so you don’t waste time:
- Intel Macs — no ANE.
- iPads / iPhones — wrong app shape; we’d have to rewrite for iOS lifecycle and we’re not going to.
- Linux / Windows — that’s Frigate, the project we’re built on. Use it directly there.
- 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 virtualised macOS guest — same problem; ANE access from a guest VM is fragile.