Why Frigate Beats Cloud-Based Camera Systems
Most home security cameras ship with a cloud subscription buried in the fine print. Your footage leaves your home, lives on someone else’s server, and costs you monthly whether you think about it or not. Frigate flips that model entirely – it runs locally, processes video on your own hardware, and uses real-time object detection to record only what actually matters.

What Frigate Is and What You Need to Run It
Frigate is an open-source network video recorder built specifically for Home Assistant integration, though it runs perfectly well as a standalone application. Unlike traditional NVR software that records everything continuously, Frigate uses a neural network to detect objects – people, cars, animals, packages – and clips recordings around those events. That means less storage churn and fewer hours spent scrubbing through footage of nothing.
The hardware requirements depend heavily on how many cameras you plan to run and whether you want hardware-accelerated detection. A Raspberry Pi 4 can handle a small setup with a Google Coral USB Accelerator attached, which offloads the neural network processing and keeps CPU usage low. For larger deployments with five or more cameras, a small x86 machine with a dedicated GPU or an Intel processor with integrated QuickSync support will perform better. A Coral accelerator is not strictly required, but without one, detection on a basic CPU will introduce lag and eat processing headroom.
Your cameras need to support RTSP streaming. Most IP cameras do – Hikvision, Dahua, Reolink, and Amcrest are all commonly used with Frigate, and each exposes an RTSP URL that Frigate pulls from directly. Check your camera’s documentation or admin panel for the stream URL format before you start; it usually looks something like rtsp://username:password@192.168.1.x:554/stream. Cameras that only support proprietary apps and no RTSP output will not work.
Storage is the other planning consideration. Continuous recording fills drives fast, but Frigate’s event-based model is much leaner. A 500GB drive will handle multiple cameras comfortably if you’re only saving detected-object clips. Dedicated NAS storage mounted via NFS or a large local SSD both work. Plan your retention window before you start – Frigate lets you set per-camera clip retention in days, and tuning that early prevents disk-full situations later.

Installing and Configuring Frigate
Docker is the standard way to deploy Frigate, and it keeps the installation clean and portable. Pull the official image with docker pull ghcr.io/blakeblackshear/frigate:stable and create a docker-compose.yml file to manage the container. The compose file needs a few specific settings: the container must run in privileged mode or with specific device passthrough if you’re using a Coral or GPU, and you need to mount your config directory, media storage path, and any hardware device nodes the container needs to access.
Frigate’s configuration lives in a single config.yml file. This is where you define every camera, set detection zones, configure object filters, and control recording behavior. A minimal camera block looks like this:
- cameras: – the top-level key that holds all camera definitions
- front_door: – a name you choose, used in the UI and file paths
- ffmpeg: inputs: – where you paste your camera’s RTSP URL
- detect: – enables motion and object detection on that stream
- record: – controls whether clips and continuous footage are saved
- snapshots: – saves a JPEG image each time an object is detected
Object detection masks are one of Frigate’s most useful and often overlooked features. If your front-door camera frames a busy street, Frigate will trigger on every passing car without a mask. You draw polygon zones in the UI to define where detections should be counted or ignored. The web interface at port 5000 shows a live view of each camera with detection overlays, making it straightforward to identify which areas need masking and which should trigger alerts. Spend time on this step – poorly tuned masks are the difference between useful alerts and constant noise.
Hardware acceleration setup varies by platform. For Intel Quick Sync, pass the render device to the container with –device /dev/dri/renderD128 and add hwaccel_args: preset-vaapi under your ffmpeg configuration. For Coral USB, add –device /dev/bus/usb and set the detector type to edgetpu in the config. After the first startup, check the Frigate logs with docker logs frigate – the log output will confirm whether hardware acceleration is active or whether it has fallen back to CPU processing. A successful Coral initialization shows the device version and model load time in the first few lines.
Home Assistant integration happens through the official Frigate integration, available in HACS or as a native integration depending on your HA version. Once connected, every camera feed and detection event appears as an entity in Home Assistant, and you can build automations around them – a notification with a snapshot when a person is detected at the front door, a light trigger when a car pulls into the driveway, or a siren activation on a specific zone breach. The MQTT broker is the bridge between the two systems; configure Frigate’s MQTT settings to point at your Home Assistant broker address and the entities populate automatically.
Keeping Frigate Running Reliably
After the initial setup, the main maintenance task is monitoring disk usage and reviewing your retention settings. Frigate has a built-in storage view in the web interface that shows how much space each camera is consuming, broken down by clips and continuous recordings. If a camera is eating more storage than expected, the first check is whether motion masking is working – a camera picking up wind-blown tree branches all day will generate hundreds of short clips and inflate storage use significantly. Adjust the mask polygon and watch the clip rate drop.

Frigate also exposes a REST API and an MQTT topic structure that makes it accessible to any home automation system, not just Home Assistant. If you’re running Uptime Kuma for monitoring your self-hosted services, adding Frigate’s web interface as a monitored endpoint takes thirty seconds and gives you an alert if the container ever goes down. The biggest ongoing risk with a self-hosted NVR isn’t the software – it’s the hardware. A failed drive or a power outage that corrupts the database is a more common failure mode than any software bug, so periodic config backups and an uninterruptible power supply for your server hardware are practical investments worth making before you depend on the system.
Frequently Asked Questions
Do I need a Google Coral to run Frigate?
No, but without one, object detection runs on CPU, which increases processing load and can cause detection lag, especially with multiple cameras.
What cameras are compatible with Frigate?
Any IP camera that supports RTSP streaming works with Frigate. Reolink, Hikvision, Dahua, and Amcrest are among the most commonly used brands.





