Frigate
blakeblackshear · Home
GitHub stars
37,061Awaiting first sync
No measured star history yet
What is Frigate?
Frigate turns ordinary IP cameras into a security system that you run yourself. Instead of reacting to every change in the picture, it checks for objects such as people and cars, which cuts down on false alerts. Video and detection stay on your own hardware, and it fits into Home Assistant for automations.
Frigate is a network video recorder (NVR) for IP cameras that runs object detection locally on your own hardware. It uses low-overhead motion detection to decide where to look, detects objects such as people and cars, and keeps recordings based on what it found. It is designed to work closely with Home Assistant and shares events with other systems over MQTT.
Core capabilities
- Detects objects locally, with support for GPUs and AI accelerators.
- Keeps continuous, motion and event recordings with separate retention periods.
- Integrates with Home Assistant and other systems over MQTT.
Object detection on your own hardware
Frigate runs a low-overhead motion detector first and then runs object detection only where it finds motion. Detection runs in separate processes and can use a CPU, but the project recommends a GPU or AI accelerator, and the docs cover several detector types. Optional enrichments include semantic search, face recognition, licence plate recognition and generative AI descriptions. Frigate+ is a separate paid subscription that offers detection models trained on images from Frigate users' cameras.
- Object detection
- Motion
- AI accelerators
- Frigate+
Review, recording and live view
Tracked activity becomes review items, split into alerts and detections, with person and car treated as alerts by default. Zones and masks, drawn in the built-in editor, limit which parts of the picture create review items. Recording can run around the clock or keep only footage with motion or events, each with its own retention period, and clips can be exported from the History view. Live view uses WebRTC and MSE for low delay, and RTSP re-streaming reduces the number of connections to each camera.
- Review
- Zones
- Recording
- Live view
Run it yourself under MIT
Frigate runs as a Docker container, with Docker Compose as the recommended method, or as a Home Assistant App, and the docs also cover a Helm chart for Kubernetes. The project recommends a Debian-based system on bare metal and states that Windows is not officially supported. The authenticated web interface and API use port 8971, with configuration stored in /config and recordings in /media/frigate. The code is released under the MIT licence, while the Frigate name and logo are trademarks of Frigate, Inc.
- Self-hosted
- Docker
- Home Assistant
- MIT
Where it fits
Use cases
- 01
Get alerts only when someone is at the door
Add the camera to the config file and make sure person is listed under objects.track. Draw a zone around the doorstep in the built-in mask and zone editor and set it as a required zone for review. Review items are then created only when a person enters that area, and Home Assistant can send notifications for them.
- 02
Keep recordings without filling the disk
Set record.continuous.days for round-the-clock footage, and record.alerts.retain.days and record.detections.retain.days to keep event footage for longer. When both apply, Frigate keeps the longer period, and it deletes the oldest recordings when free space runs low. Export any clip you need to keep, because exports are never removed by retention.
- 03
Add your cameras to Home Assistant
Install Frigate as a Home Assistant App or as a Docker container, then add the Frigate integration, which needs an MQTT broker. The integration gives Home Assistant camera entities, access to clips in the media browser, and sensors and switches for automations. RTSP re-streaming lets several systems share one connection to each camera.