unsubbed.co

Frigate

NVR with realtime local object detection for IP cameras. All processing performed locally on your own hardware.

Local, private, and genuinely impressive — if you’re willing to work for it.

TL;DR

  • What it is: Open-source (MIT) network video recorder with real-time AI object detection — your camera footage never leaves your hardware [README].
  • Who it’s for: Home automation enthusiasts, privacy-focused homeowners, and self-hosters who want Ring or Nest-level intelligence without the monthly cloud bill or the data sharing. Deep Home Assistant integration is a first-class feature [README][website].
  • Cost savings: Google Nest and Ring both charge subscription fees for cloud AI features per camera. Frigate self-hosted runs on hardware you already own, with no per-camera or per-event fees — though you’ll want a ~$30 Google Coral TPU to get detection performance that matches cloud services [2].
  • Key strength: The only self-hosted NVR that combines serious AI object detection, MQTT-based automation hooks, zone-based alerting, and tight Home Assistant integration in one coherent package. At 30,909 GitHub stars, it’s not a niche experiment [merged profile].
  • Key weakness: Setup is meaningfully harder than any cloud camera system. The configuration file, hardware accelerator setup, dual-stream camera configuration, and VM/LXC considerations all require patience. One XDA reviewer gave up entirely and switched to a simpler tool [1]. That’s a real signal worth taking seriously.

What is Frigate

Frigate is a self-hosted NVR built around a simple premise: AI object detection is a solved problem for local hardware, so why are you paying a cloud company to analyze your home’s camera footage on their servers?

The project does what cloud cameras do — detect people, vehicles, and animals in your video feeds, record when something interesting happens, and send you alerts — but the entire pipeline runs on your hardware. Your footage never touches AWS, Google, or anyone else’s infrastructure [README][website].

It uses OpenCV and TensorFlow Lite to run object detection locally, with MQTT as the integration bus for automation systems. Home Assistant gets a native integration via a custom component. Every detection event, zone crossing, and state change becomes a Home Assistant entity you can wire into automations [README].

The project was originally built for Home Assistant users and that origin shows — the HA integration is deep and first-class in a way that commercial NVRs never bother with. But Frigate also works with OpenHab, NodeRed, or anything that speaks MQTT [website].

At 30,909 GitHub stars, this is the most popular self-hosted NVR solution in the privacy-focused home automation space by a significant margin [merged profile]. The MIT license means you own your deployment completely — no vendor lock-in, no license key to renew.


Why people choose it

The core pitch is privacy plus intelligence. Traditional NVRs rely on motion detection, which is essentially “pixels changed.” Frigate replaces that with actual object classification — it knows whether the motion was a person, a car, or a shadow blowing across your lawn. One testimonial on the website puts it plainly: “Frigate has helped me reduce hours of false detections from my hard drive.” Another: “Frigate has allowed me to remove all cloud dependencies from my security cameras, without losing any sort of object detection features or recording history.” [website]

The selfhosting.sh guide [2] frames the comparison against Ring and Google Nest clearly: those platforms charge subscription fees to analyze your footage on their servers. Frigate is the local equivalent. With a supported AI accelerator, it can run 100+ object detections per second [website] — fast enough that it doesn’t miss frames on a multi-camera setup.

The Home Assistant angle drives a large portion of adoption. If you’re already running HA, Frigate is the obvious next step: it drops camera entities directly into HA’s media browser, exposes real-time sensors for each detection zone, and enables automations like “turn on porch light when person detected in front zone after sunset” without any cloud dependency [README][website].

The honest counter-signal: the XDA article [1] from September 2025 is worth reading. The author spent real time with Frigate and ultimately abandoned it for Nightwatcher — a simpler tool that just displays RTSP streams without object detection. His complaint: Frigate’s setup demands expertise in hardware acceleration, neural processors, and extensive config file management. For his use case (just see my cameras on a screen), Frigate was the wrong tool. The article makes an important distinction: Frigate is a surveillance intelligence platform, not a camera viewer. If you want a camera viewer, there are simpler options [1].


Features

Core NVR functionality:

  • 24/7 continuous recording or event-triggered recording, with retention policies per detected object type [README]
  • Re-streaming via RTSP — Frigate connects to your cameras once and re-distributes the stream, reducing the load on cameras that have limited connection counts [README]
  • WebRTC and MSE support for low-latency live view in the browser [README]
  • Multi-camera scrubbing interface (visible in the GitHub screenshots)
  • Built-in mask and zone editor for drawing detection regions on your camera feeds [README]
  • Streamlined review workflow — browse detections rather than reviewing raw footage [README]

AI detection:

  • Object detection via TensorFlow Lite, running in separate processes for maximum throughput [README]
  • Detects people, vehicles, animals, and other configurable classes
  • Motion detection is used as a pre-filter — object detection only runs where motion occurs, dramatically reducing CPU load [README]
  • Audio detection for events like glass breaking and dog barking [2]
  • Custom model training via Frigate+, a paid add-on that generates models trained specifically on your cameras [website]
  • Zone tracking — Frigate can determine the exact moment a person enters a specific region of frame, enabling precise automation triggers [website]

Integration:

  • Native Home Assistant integration via custom component, including HA media browser support, camera entities, and sensors [README]
  • MQTT event publishing for integration with any automation platform [README]
  • Works with OpenHab, NodeRed, and anything MQTT-capable [website]

Hardware acceleration:

  • Google Coral TPU (USB and Mini PCIe versions): the recommended accelerator, reduces AI inference to ~10-20ms per frame with minimal CPU overhead [2]
  • Intel OpenVINO: viable alternative using iGPU for detection, more complex to configure [4]
  • VAAPI and Intel Quick Sync for hardware video encoding/decoding [2]
  • Raspberry Pi support (Pi 4 and newer only, 64-bit OS required, limited to a couple of cameras without a Coral) [5]

Pricing: SaaS vs self-hosted math

Frigate (self-hosted):

  • Software: $0, MIT license [README]
  • Hardware: whatever you’re running it on. Minimum 2GB RAM [2]. A used Intel NUC or mini PC in the $100-200 range works well. A Raspberry Pi 4 handles a small number of cameras.
  • Google Coral USB Accelerator: ~$30. Multiple reviewers describe this as essentially required for real detection performance at scale [2][5]. Without it, a single camera at high resolution will saturate a modern CPU.
  • Frigate+: paid subscription for custom AI models trained on your specific cameras. Pricing not specified in available data.
  • Storage: ongoing. Frigate writes video continuously; a few cameras recording 24/7 at reasonable quality generates meaningful data. Budget for a dedicated drive.

Cloud NVR systems (Google Nest, Ring, Arlo):

  • All charge monthly subscription fees per camera or per account for cloud AI features (object detection, event history). The core pitch of Frigate is eliminating these fees entirely.
  • Specific current pricing was not available in the sourced materials — check current plans directly.

The math that keeps appearing in r/selfhosted: If you have 4 cameras and you’re paying a cloud subscription for AI features, the Coral USB accelerator pays for itself quickly. A $30 Coral + a machine you already own = zero monthly fees indefinitely [2].

The honest caveat: this math only works if you have the technical patience to get Frigate configured. If you spend 20 hours debugging streams and hardware passthrough issues, your effective hourly rate on that “savings” calculation looks different.


Deployment reality check

This is where the review needs to be honest, because the setup complexity is real and the articles reflect it.

What you need before you start [2][3]:

  • A Linux machine (Ubuntu 22.04+ recommended, though one personal account [3] found issues with Python versions on 22.04 and preferred 20.04)
  • Docker and Docker Compose
  • 2GB+ RAM minimum
  • RTSP-capable IP cameras with known stream URLs
  • Sufficient storage for video retention
  • A Google Coral TPU if you want real detection performance — CPU-only is technically possible but struggles past one or two cameras

The configuration file trap: Frigate requires a config.yml to exist before the Docker container starts. The README doesn’t make this obvious, and at least one personal account [3] describes getting tripped up here. You write the config, then spin up the container — not the other way around.

Dual-stream configuration: For best performance, you want each camera feeding Frigate two streams — a high-resolution stream for recording and a lower-resolution stream for detection. This cuts processing demands significantly [2]. Setting this up requires cameras that support dual RTSP streams and understanding how to wire both into the Frigate config. Not hard for an experienced self-hoster; genuinely confusing for a first-timer.

VM and hardware passthrough: If you’re running Frigate in a VM (Proxmox, Unraid), USB passthrough for the Coral TPU can cause the accelerator to freeze. Running Frigate on bare metal or in an LXC container is the correct approach [3][4]. The forums discussion [4] around OpenVINO on Unraid reflects real complexity — not a 30-minute install.

Raspberry Pi: Works, but with significant caveats. Pi 4 or newer required, 64-bit OS required, H264 cameras only (H265 has no hardware decode on Pi and causes slowdowns), limited to a couple of cameras even with a Coral [5]. If you’re serious about multi-camera coverage, a Pi is not the right foundation.

Realistic time estimate: A technically experienced user with a Linux server, Docker knowledge, and RTSP cameras that are already working: 2–4 hours including Coral setup. Someone less experienced: a weekend. Someone who hasn’t set up Docker before: allocate more time and follow a guide like [2] or [5] step by step.


Pros and Cons

Pros

  • Genuinely private. All detection runs locally. No footage leaves your network. No cloud subscription required [README][website].
  • 30,909 GitHub stars. This isn’t a side project. It’s a mature, actively maintained platform with real community support [merged profile].
  • MIT licensed. You own your deployment. No commercial restrictions [README].
  • Home Assistant integration is first-class. If you’re in the HA ecosystem, Frigate drops in as a native component. Camera entities, sensors, automations — all work without hacks [README][website].
  • MQTT-based. Every detection event is an MQTT message, making it composable with any automation system [README].
  • Zone-based alerting. Tracks objects in real-time across configurable zones, enabling precise triggers rather than “something moved” [website].
  • Coral TPU support. 100+ detections per second at ~10-20ms per frame on $30 hardware. Cloud services can’t offer comparable economics [2][website].
  • Audio detection. Glass breaking, dog barking — events beyond what most NVRs handle [2].
  • 24/7 continuous recording with object-aware retention [README].

Cons

  • Setup is not for beginners. The XDA reviewer gave up entirely [1]. The forums discussion on Unraid + OpenVINO shows active confusion from people with real technical experience [4]. The config-before-container requirement trips people up [3]. This is not plug-and-play.
  • Hardware accelerator is practically required. Technically optional, practically necessary for more than one or two cameras at reasonable resolution. Budget $30–$150 for a Coral depending on the form factor.
  • VM/USB passthrough issues with Coral. Running in a hypervisor adds real complexity. Bare metal or LXC is the recommended path [3].
  • The config file. YAML-based configuration for cameras, detectors, zones, retention, motion masks, audio — it’s comprehensive, but there’s a learning curve. The documentation is good but not short.
  • Storage demands. 24/7 recording from multiple cameras generates real data. Plan storage accordingly and configure retention policies before you fill a drive.
  • Frigate+ is a paid add-on. The baseline model handles common objects well. Custom models trained on your specific cameras require the paid service [website]. Pricing not disclosed publicly.
  • No cloud fallback. If your server goes down, you have no recording. This is a feature for some people and a problem for others.

Who should use this / who shouldn’t

Use Frigate if:

  • You’re already running Home Assistant and want your cameras to be intelligent participants in automations.
  • You have IP cameras with RTSP streams and you want something smarter than motion-triggered recording.
  • You’re paying a cloud subscription for camera AI features and you want to eliminate that bill permanently.
  • You have basic Linux and Docker skills, or you’re willing to develop them.
  • Privacy matters to you and you want zero footage leaving your network.

Skip it (use a simpler self-hosted viewer) if:

  • You just want to see your camera feeds on a screen without AI processing. Tools like Nightwatcher [1] or go2rtc serve this use case with far less setup.
  • You’re running on a NAS and CPU resources are limited. Frigate’s multiprocessing design works best on general-purpose hardware.

Skip it (stay on cloud NVR) if:

  • You have no Linux experience and no one to help you with the setup.
  • You need mobile app notifications to work reliably out of the box — Frigate requires wiring through Home Assistant for push notifications, which is a separate setup step.
  • Your cameras don’t support RTSP streams (some consumer cameras only work with proprietary apps).
  • Downtime tolerance is zero — if your server goes down, recording stops.

Alternatives worth considering

  • Nightwatcher — the tool the XDA reviewer switched to [1]. Simple RTSP viewer, no AI, no complex config. Right choice if you just want to see your cameras.
  • Shinobi — another open-source NVR. More traditional motion detection, less AI-focused, broader camera compatibility, lower setup bar.
  • MotionEye — long-running open-source NVR. Web UI, motion detection, simpler than Frigate. No ML object classification.
  • go2rtc — stream aggregator and re-streamer. Often used with Frigate as a stream source. Not a full NVR.
  • Scrypted — newer platform with HomeKit Secure Video support and AI plugins. Better choice if you’re in the Apple ecosystem.
  • Ring / Google Nest / Arlo — cloud NVR services. Easier setup, mobile apps out of the box, monthly fees per camera for AI features. Right choice if you want zero maintenance and you’re comfortable with your footage living on someone else’s servers.
  • Blue Iris — Windows-only commercial NVR with AI add-ons. Mature, powerful, not free, not open source.

Bottom line

Frigate is the best self-hosted NVR for privacy-focused Home Assistant users who want real AI object detection without a cloud subscription. At 30,909 stars and MIT-licensed, it’s proven software with genuine community momentum. The detection quality, zone tracking, and Home Assistant integration are legitimately excellent — and with a $30 Coral TPU, the performance matches what cloud services charge monthly fees to provide.

But the setup complexity is real and the articles confirm it. This isn’t a weekend project you hand to someone who hasn’t touched a Linux terminal. If you know Docker, understand YAML, and have a few hours to configure streams and zones, you’ll end up with a surveillance system that’s better than anything cloud-connected in terms of privacy and automation depth. If you don’t, start with the documentation and a simpler tool first. The XDA reviewer who gave up wasn’t wrong — he just needed a different tool for his use case. Know which camp you’re in before you commit.

If the setup is the blocker, that’s exactly what unsubbed.co’s parent studio upready.dev deploys for clients.


Sources

  1. Dhruv Bhutani, XDA Developers“Frigate was too complicated for me, so I switched to this self-hosted app” (September 27, 2025). https://www.xda-developers.com/frigate-too-complicated-for-me-switched-to-self-hosted-app/

  2. Alex Thornton, selfhosting.sh“How to Self-Host Frigate with Docker Compose” (February 2, 2026). https://selfhosting.sh/apps/frigate/

  3. Matt Giannotti, mattgiannotti.com“Frigate NVR – Local Machine Learning Video Processing (with people tracking)”. https://mattgiannotti.com/frigate-local-video-machine-learning/

  4. Unraid Community Forums“Frigate + OpenVINO - is there any guide?” (General Support thread). https://forums.unraid.net/topic/189080-frigate-openvino-is-there-any-guide/

  5. Pi My Life Up“Installing Frigate NVR On the Raspberry Pi”. https://pimylifeup.com/raspberry-pi-frigate-nvr/

Primary sources: