Frigate
Frigate is a free, open-source NVR that runs real-time AI object detection on your own hardware, so it can tell you a person just walked up the driveway instead of flagging every gust of wind that moves a bush. Camera feeds and detections stay on your network by default. It plugs directly into Home Assistant, but doesn’t need it to work.
License: Frigate’s code is MIT licensed, confirmed directly from the LICENSE file in the blakeblackshear/frigate GitHub repo. That covers the software. The “Frigate” name, the “Frigate NVR” brand, and the logo are trademarks of Frigate, Inc. and sit outside the MIT license, per the project’s own TRADEMARK.md. There’s also Frigate+, a separate paid subscription for pre-trained detection models tuned to specific camera angles; it’s an optional add-on layered on top of the free NVR, not a requirement to run any of it.
Quick facts: Official site frigate.video · GitHub blakeblackshear/frigate, 31,900+ stars · Docker image ghcr.io/blakeblackshear/frigate, stable tag · current release 0.17.1 (March 2026) · default authenticated UI port 8971.
What Frigate actually does
A regular NVR either records everything and leaves you to scrub through hours of footage afterward, or relies on plain motion detection that trips on shadows, headlights, and tree branches. Frigate runs actual object classification, person, car, dog, package, on the frames its motion detector flags, and only bothers you (or Home Assistant) about the ones that matter. The CPU handles lightweight motion detection to figure out where something changed; a detector, ideally a hardware accelerator, handles the actual “what is it” question on just those regions. That split is what keeps it fast, since nothing is running full object detection on every pixel of every frame.
Configuration lives in one config.yml file: cameras, zones, object filters, masks, retention rules. Once it’s running, Frigate serves a web UI for live view and event review, a full HTTP API, and MQTT topics so Home Assistant, Node-RED, openHAB, or anything else that speaks MQTT can react the moment a specific zone or object triggers.
Hardware: don’t skip the accelerator
This is the part that matters more for Frigate than for almost anything else in this series, and it’s worth being blunt about upfront.
Hardware acceleration is effectively required, not optional. Frigate’s own GitHub README says it plainly: “Use of a GPU or AI accelerator is highly recommended. AI accelerators will outperform even the best CPUs with very little overhead.” CPU-only detection works for a camera or two at modest resolution, but it turns into dropped frames and a pegged processor fast once you add more feeds. Supported accelerators cover a lot of ground: Hailo-8/8L, Google Coral (USB or M.2, now considered legacy but still supported), Intel iGPUs and NPUs via OpenVINO, Nvidia GPUs via TensorRT/ONNX, AMD GPUs via ROCm, and Apple Silicon NPUs on Mac. Community-supported options add MemryX MX3, Rockchip SoCs, and Nvidia Jetson boards. Match whatever you already own before buying anything new. Separately, size the Docker container’s shm-size correctly for your camera count and resolution; get it wrong and the container crashes with a “Bus error,” not a helpful log line.
Installing Frigate with Docker
Docker Compose on a bare-metal Linux host is the install path Frigate’s own docs recommend over the Home Assistant App, Kubernetes, or running it inside a VM. Here’s a baseline compose file; the devices: block changes depending on which accelerator, if any, you’re passing through.
services:
frigate:
container_name: frigate
privileged: true # not required for every setup
restart: unless-stopped
stop_grace_period: 30s
image: ghcr.io/blakeblackshear/frigate:stable
shm_size: "512mb" # size this for your cameras, see docs
devices:
- /dev/dri/renderD128:/dev/dri/renderD128 # Intel/AMD GPU example
volumes:
- /etc/localtime:/etc/localtime:ro
- /path/to/your/config:/config
- /path/to/your/storage:/media/frigate
- type: tmpfs
target: /tmp/cache
tmpfs:
size: 1000000000
ports:
- "8971:8971"
- "8554:8554"
- "8555:8555/tcp"
- "8555:8555/udp"
environment:
FRIGATE_RTSP_PASSWORD: "password"
- Add the accelerator-specific device line(s) from Frigate’s installation docs for your hardware (Coral, Hailo, GPU, NPU), or drop the
devices:block entirely for CPU-only detection. - Create
config/config.ymlwith at least one camera entry before first boot; Frigate needs a valid config to start usefully. - Run
docker compose up -d, then openhttp://your-server-ip:8971for the authenticated web UI. - For Home Assistant, install the custom component through HACS and point it at the same MQTT broker Frigate is configured to use.
docker compose up -d
Security notes: privileged: true shows up in the example compose file because it avoids permission errors while you’re getting an accelerator working, but it isn’t mandatory for every hardware combination. Once your setup runs, swap it for a scoped devices: list and drop privileged mode. Port 5000 (where exposed) is unauthenticated by design for internal service-to-service calls; keep it inside your Docker network, not published to the host or the internet.
Frigate vs ZoneMinder, Shinobi, and Blue Iris
ZoneMinder and Shinobi are both open source, like Frigate, but treat AI object detection as an add-on bolted onto a motion-detection core rather than the reason the project exists. Blue Iris is the odd one out here: closed-source, Windows-only, and paid, with AI detection wired in through an external service like DeepStack or CodeProject.AI rather than built natively. If open source and Linux/Docker-first matters to you, that narrows the real comparison to Frigate against ZoneMinder and Shinobi.
| Frigate | ZoneMinder | Shinobi | Blue Iris | |
|---|---|---|---|---|
| License | MIT (code); trademark separate | GPL-2.0, open source | GPL-3.0, open source | Proprietary, paid |
| AI object detection | Core design, hardware-accelerated | Add-on via external ML hooks | Optional, plugin-based | Built-in via DeepStack/CodeProject.AI |
| Platform | Docker, Linux-first | Linux | Node.js, cross-platform | Windows only |
| Home Assistant integration | Native custom component + MQTT | Community integrations | Community integrations | Community integrations |
| Cost | Free, optional paid Frigate+ models | Free | Free, paid cloud tier available | One-time paid license |
Frigate: pros and cons
- Object detection is the core design, not motion detection with AI bolted on afterward
- Runs fully local; camera feeds and detections never have to leave your network
- Native Home Assistant integration through a dedicated custom component and MQTT
- Wide accelerator support, Hailo, Coral, Intel, Nvidia, AMD, Apple Silicon, so there’s usually an option that fits hardware you already own
- CPU-only detection is genuinely underpowered past a camera or two; budgeting for an accelerator is close to mandatory
- Initial setup, config.yml, camera streams, shm-size, accelerator passthrough, has a real learning curve compared to a plug-and-play NVR
- Windows isn’t officially supported; a bare-metal Linux Docker host is the recommended platform
- The trademark carve-out around the Frigate name means the brand itself can’t be reused the way the MIT-licensed code can
FAQ
Is Frigate free?
Yes. The core NVR software is MIT licensed and free to self-host, no feature paywall. Frigate+ is a separate, optional paid subscription for pre-trained detection models tuned to your specific camera angles; it’s not required to run Frigate.
Do I need a Coral or GPU to run Frigate?
Not strictly, but the project itself recommends it. CPU-only object detection works for light setups, a camera or two at modest resolution, and becomes a bottleneck fast once you add more feeds or push higher resolutions. An accelerator, Hailo, Coral, an Intel iGPU or NPU, or an Nvidia/AMD GPU, is what makes Frigate’s real-time detection actually real-time.
Does Frigate require Home Assistant?
No. Frigate runs as a fully standalone NVR with its own web UI, recording, and review workflow. The Home Assistant integration is for anyone who wants camera events feeding into automations; it’s an add-on, not a dependency.
How is Frigate different from a regular NVR with motion detection?
A regular motion-detection NVR flags anything that changes between frames, including wind, shadows, and headlights. Frigate runs actual object classification on the frames its motion detector flags, so it can tell a person apart from a moving tree branch before it ever alerts you or starts recording an event.
Is Frigate actively maintained?
Yes. The project shipped release 0.17.1 in March 2026, has logged over 5,700 commits, and sits at close to 32,000 GitHub stars with regular releases.
Frigate is worth the setup time once you’re past scrubbing through hours of footage to find the one clip where someone was actually at your door. Pair it with Home Assistant for automations that react to a specific zone or object, and keep an eye on the box running it all with Uptime Kuma or Netdata. Our homelab setup guide for beginners covers picking hardware before committing to an accelerator, and the Monitoring category rounds out the rest of the tooling here.