📹 Setup Frigate NVR — AI Object Detection for IP Cameras
Deploy Frigate NVR on Ubuntu — a real-time AI-powered network video recorder that detects persons, vehicles, animals, and custom objects in live camera streams using Coral TPU, NVIDIA GPU, or CPU inference.
📦 Resources & Setup Scripts
Before starting, please make sure to grab the required scripts from our GitHub repository to follow along with the video easily.
Quick Install:
wget https://raw.githubusercontent.com/mhmdali94/Docker/refs/heads/main/cameras/frigate/frigate-ubuntu.sh
chmod +x frigate-ubuntu.sh
sudo bash frigate-ubuntu.sh
Tutorial Steps
1 Download the Script
wget https://raw.githubusercontent.com/mhmdali94/Docker/refs/heads/main/cameras/frigate/frigate-ubuntu.sh
2 Make it Executable
chmod +x frigate-ubuntu.sh
3 Run the Installer
The script installs Docker if needed, pulls the Frigate image, creates the configuration directory at /opt/frigate/config/, and starts the container with shared memory and optional device passthrough for hardware acceleration.
sudo bash frigate-ubuntu.sh
4 Access the Web UI
Open your browser and navigate to the Frigate web interface:
http://<your-server-ip>:5000
Ports Used
| Port | Purpose |
|---|---|
| 5000 | Web UI (HTTP) |
| 8554 | RTSP restream server (go2rtc) |
| 8555 | WebRTC live view (TCP/UDP) |
Overview
Frigate is an open-source, locally-processed NVR (Network Video Recorder) that uses machine learning object detection to identify persons, vehicles, animals, and custom objects in real time. Built around go2rtc for camera ingestion and TensorFlow Lite for inference, Frigate stores only event-triggered clips and snapshots rather than continuous footage, dramatically reducing storage requirements. It exposes a web dashboard for live streams, event review, and statistics, and integrates natively with Home Assistant and MQTT brokers. Hardware acceleration via Google Coral TPU, NVIDIA GPU (TensorRT), AMD ROCm, or Intel OpenVINO is supported to achieve 5–30+ FPS detection per camera without saturating the CPU.
Why Use It
Cloud-based smart camera systems charge monthly fees per camera and send your footage to third-party servers. Frigate keeps all video processing and storage on your own hardware — no subscriptions, no data leaving your network. Its event-based recording model means you only keep the clips that matter, while the AI detection accuracy with Coral TPU rivals commercial smart NVR systems at a fraction of the cost. For Home Assistant users, Frigate is the de facto standard for integrating AI camera detection into home automation workflows.
When You Need It
Who Should Use It
Real Use Cases
Main Features
How to Use After Installation
Security Best Practices
Ports and Firewall Notes
Frigate exposes port 5000 for the web UI, port 8554 for RTSP restreaming via go2rtc, and port 8555 (TCP/UDP) for WebRTC live view in the browser. Port 5000 should never be exposed publicly without authentication — use Nginx Proxy Manager or Authelia to add HTTPS and access control. Port 8554 is the RTSP restream endpoint used by Home Assistant and other NVR clients; restrict it to your LAN. Firewall rule example: ufw allow from 192.168.1.0/24 to any port 5000.
Backup and Maintenance
Common Mistakes
Troubleshooting
Alternatives
go2rtc (covered in this academy) is a lightweight camera streaming gateway without AI detection — use it if you only need RTSP/WebRTC restreaming. Shinobi is a full-featured NVR with motion detection but no AI object classification. Zoneminder is a mature, battle-tested NVR that is significantly more complex to configure. Scrypted provides a camera hub with HomeKit Secure Video support and also integrates Frigate as a plugin for AI detection.
When Not to Use It
If you only have 1–2 cameras and do not need AI detection, a simpler NVR like go2rtc or Shinobi may suffice. If you lack a Coral TPU or a NVIDIA GPU, CPU-only detection on 4+ cameras will saturate modern servers — plan for hardware acceleration before scaling. Frigate is not suitable for cameras that only output H.265+ streams without transcoding support, or for sites requiring complex multi-server replication.
PrismaTechWork Professional Help
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support.
Frequently Asked Questions
Does Frigate require a Coral TPU to work?
No. Frigate works with CPU-only inference out of the box, but detection will be slower. For real-time detection at 5+ FPS per camera, a Coral USB Accelerator or Coral M.2 module is strongly recommended. Frigate also supports NVIDIA GPU, AMD GPU via ROCm, and Intel OpenVINO acceleration.
What cameras does Frigate support?
Frigate supports any IP camera that provides an RTSP stream. This includes Hikvision, Dahua, Reolink, Amcrest, and most ONVIF-compatible cameras. You configure the RTSP URL in frigate.yml. USB cameras are not directly supported without additional tooling.
How does Frigate integrate with Home Assistant?
Frigate integrates with Home Assistant via the official Frigate integration and MQTT. Detected objects, clips, and snapshots appear as entities in Home Assistant. You can trigger automations on person_detected or car_detected MQTT events from topic frigate/events.
How much storage does Frigate use?
Storage depends on your retention settings. Frigate only records clips when objects are detected, not continuous recording by default. A typical setup with 4 cameras and 7-day clip retention uses 50–200 GB. Configure retain.days and retention.mode per camera in frigate.yml to control storage growth.
Can Frigate send push notifications?
Frigate publishes detection events to MQTT topics such as frigate/events and frigate/<camera>/<object>/snapshot. You can then use Home Assistant automations, Node-RED, or a custom MQTT subscriber to send push notifications via ntfy, Gotify, Telegram, or any notification service.