Frigate NVR Hardware and Setup: The Complete Guide

Quick answer

Frigate, the open-source AI-powered NVR mentioned throughout this site’s doorbell and smart home guides, needs to run on local hardware, a mini PC or capable Raspberry Pi, not your VPS, because video decoding is genuinely CPU-intensive even with an AI accelerator handling detection. This guide covers the hardware choices, the local setup, and exactly where your VPS fits in: remote access and notifications, not video processing.

Why Frigate can’t simply run on your VPS

Replace Your Ring Doorbell Subscription With Your Own VPS mentions Frigate as the engine behind a genuinely subscription-free camera setup but deliberately doesn’t go deep into its hardware requirements, this guide is that missing depth. The key fact worth understanding before buying anything: decoding video streams from cameras is computationally expensive regardless of whether AI object detection is involved at all, and even with a dedicated AI accelerator handling the detection workload specifically, that decoding step still needs to happen somewhere with real, sustained processing power. A typical VPS, sized for the lightweight services covered throughout the rest of this site, simply isn’t built for this; Frigate needs to live on hardware physically at home.

AT HOME – LOCAL HARDWARE

Cameras ONVIF / RTSP

Mini PC / Pi Coral / Hailo TPU

Frigate NVR AI detection runs here

MQTT Mosquitto

YOUR VPS WireGuard + Home Assistant relay

Phone anywhere

Video decoding and AI detection stay local – the VPS only handles remote access and alerts

Choosing the hardware: what actually matters

Hardware Realistic camera count Notes
Raspberry Pi 4/5 + Coral or Hailo accelerator 1-3 cameras Budget option, fine for a single doorbell or small setup
Mini PC (Intel N100 class) + accelerator 4-8 cameras The sweet spot for most home deployments covered on this site
Mini PC with Intel Quick Sync, no separate accelerator 2-6 cameras Intel’s built-in hardware video decoding handles the heaviest part directly

Worth understanding clearly: the AI accelerator (a Coral TPU or, increasingly preferred in current Frigate documentation, a Hailo module) speeds up object detection specifically, but doesn’t eliminate the separate, often larger CPU cost of decoding the video streams themselves. A device with strong built-in hardware video decoding, Intel’s Quick Sync being the most common example in mini PCs, often matters more for overall smoothness than the AI accelerator choice alone.

A realistic starter build

For most readers of this site’s smart home content, an Intel N100-class mini PC, modest, fanless, inexpensive, paired with a Coral or Hailo USB accelerator, comfortably handles 4-6 typical home cameras with real-time detection and minimal latency. This is genuinely modest hardware by general computing standards, the entire build typically costs less than a single year of a commercial cloud camera subscription covered in this site’s Ring doorbell comparison.

Installing Frigate via Docker

version: "3.9"
services:
  frigate:
    container_name: frigate
    image: ghcr.io/blakeblackshear/frigate:stable
    privileged: true
    devices:
      - /dev/bus/usb:/dev/bus/usb  # Coral USB accelerator
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./config:/config
      - ./storage:/media/frigate
    ports:
      - "5000:5000"
      - "8554:8554"
    environment:
      FRIGATE_RTSP_PASSWORD: "your-rtsp-password"

This follows directly from the Docker discipline covered in Docker for IoT, applied here on local home hardware rather than the VPS itself, the same containerisation principles, just running somewhere different.

Configuring a camera

# config/config.yml
mqtt:
  host: your-vps-ip-or-domain
  port: 8883
  user: frigate
  password: your-mqtt-password
  tls_ca_certs: /config/ca.pem

cameras:
  front_door:
    ffmpeg:
      inputs:
        - path: rtsp://camera-ip:554/stream1
          roles: [detect, record]
    detect:
      width: 1280
      height: 720
    record:
      enabled: true
      retain:
        days: 7

That MQTT block connects Frigate back to your VPS’s Mosquitto broker, following the TLS and authentication discipline covered in MQTT Security: TLS, Authentication and ACLs Done Properly, so detection events (a person detected, a vehicle detected) flow to the VPS where Node-RED, alerting and the WireGuard tunnel covered throughout this site’s smart home guides take over.

Where the VPS genuinely fits in

This is the architecture shown above: Frigate, on local hardware, handles every CPU-intensive task, decoding, AI detection, video storage, entirely locally. The VPS’s role, identical to the pattern in Home Assistant Remote Access Without the Cloud, is purely the lightweight layer on top: a WireGuard tunnel so Frigate’s web interface and camera streams are reachable from outside your home network, and an MQTT-driven notification pipeline turning detection events into phone alerts via the patterns covered in this site’s alerting guide. Trying to push the actual video workload onto the VPS would mean either a dramatically larger, more expensive VPS than anything else on this site needs, or simply not working well at all.

Retention and storage planning

Frigate’s retain: days: 7 setting in the example above controls how long recorded clips are kept before automatic deletion, a direct, practical example of the storage limitation principle covered in UK GDPR and IoT Data, worth setting deliberately rather than leaving at whatever default ships with a fresh install. Storage needs scale roughly with camera count, resolution and retention period together, worth calculating realistically before committing to a small local storage drive that fills up faster than expected.

Frequently asked questions

Can Frigate run without any AI accelerator at all, using CPU-only detection?

Yes, viable for one to a handful of cameras with occasional motion rather than constant activity, though an accelerator meaningfully improves both detection accuracy and overall system responsiveness for anything beyond a very light single-camera setup.

Is a Coral TPU still the right choice in 2026, or has something better come along?

Current Frigate documentation increasingly favours Hailo accelerators or Intel’s built-in Quick Sync for new builds, with Coral now considered a slightly dated though still entirely functional option; worth checking Frigate’s own current hardware recommendations directly before buying, since this is an area that genuinely moves over time.

Does Frigate integrate directly with Home Assistant?

Yes, natively and well, Frigate’s detection events flow into Home Assistant as entities and triggers, meaning the automations and dashboard covered in this site’s Home Assistant guides can incorporate camera-based detection directly alongside every other smart home device.

How does this compare to the simpler doorbell-only setup in the Ring replacement guide?

That guide covers a single-camera, doorbell-specific scope; this guide is the fuller, multi-camera, whole-property version of the same underlying architecture, worth reading alongside Self-Hosted CCTV for Beginners for the complete picture of scaling beyond one camera.

What happens to recording if the local hardware loses power or internet?

Local recording continues uninterrupted during an internet outage, since Frigate’s core function doesn’t depend on connectivity; only remote access via the VPS tunnel and any cloud-dependent notifications would be affected until connectivity returns, a meaningfully better failure mode than a fully cloud-dependent commercial camera system.

Is the total hardware and VPS cost genuinely lower than a commercial multi-camera subscription?

For most households running more than one or two cameras over more than a year or two, yes, decisively, following the same cost logic covered in this site’s Ring doorbell replacement guide, scaled up across multiple cameras rather than just one.

Getting cameras talking to Frigate: the RTSP reality

The single most variable and frequently frustrating step in a Frigate setup is finding the correct RTSP stream URL for a specific camera. Most IP cameras expose RTSP streams but document them poorly, and the URL format varies substantially between manufacturers. A useful starting point: rtsp://admin:password@camera-ip:554/stream1 covers many basic models, but the actual path segment after the IP and port is manufacturer-specific. The ONVIF Device Manager tool (free, Windows-based) can discover cameras on a local network and interrogate their capabilities, including the correct RTSP URL, which saves considerably more time than trial and error with guessed paths.

The self-hosted CCTV for beginners page as the natural next step

This guide covers Frigate as a serious, multi-camera NVR. For anyone approaching self-hosted camera monitoring for the first time, the companion guide Self-Hosted CCTV for Beginners: Beyond the Doorbell covers the broader picture, camera selection, network considerations, and the same architecture from a more introductory angle, worth reading alongside this guide or before it depending on how much existing familiarity you have with both Frigate and self-hosted infrastructure generally.

A note on camera selection that matters more than most guides admit

Not all IP cameras work equally well with Frigate. The most common source of friction: cameras with poor RTSP implementations that drop connections frequently, cameras that produce stream formats Frigate’s ffmpeg decoding struggles with, and cameras where the resolution or frame rate can’t be configured low enough to be practical for continuous recording on modest hardware. Cameras with known-good Frigate compatibility, regularly updated in the Frigate community’s own documentation, are worth checking before buying rather than discovering incompatibilities after hardware is already installed and running.

Understanding Frigate’s two-stream pattern

One of the most commonly misunderstood aspects of a Frigate setup: it works best with two streams per camera configured, a high-resolution stream for recording and a low-resolution stream for detection. Running detection on the full-resolution stream is dramatically more CPU-intensive than running it on a low-resolution sub-stream, and the detection accuracy difference is negligible for typical home security use cases. Most modern IP cameras expose both a main stream and a sub-stream via RTSP, often at 1080p and 360p respectively. Configuring Frigate to use the sub-stream for detection and the main stream only for recording when detection fires significantly reduces the hardware requirements for a given camera count.

Notification configuration: getting alerts right

The most practically useful alerting configuration for most Frigate users: MQTT-to-Node-RED integration sending a push notification via the alerting patterns covered elsewhere on this site when Frigate detects a person specifically, rather than any motion. Frigate’s object detection defaults to notifying on motion, which includes trees moving in wind and passing cars, producing so many false-positive alerts that most people disable them entirely within a few days. Person detection specifically, with a minimum score threshold to filter out low-confidence detections, produces a dramatically more useful signal. Getting this configuration right early, rather than leaving it at defaults, is the single change that most transforms Frigate from a technically impressive but practically noisy system into one that people actually rely on.

Frequently asked questions

Can Frigate run without any AI accelerator using CPU-only detection?

Yes, viable for one to a few cameras with occasional activity. An accelerator meaningfully improves detection accuracy and overall responsiveness for anything beyond a very light single-camera setup.

Is a Coral TPU still the right choice in 2026?

Current Frigate documentation increasingly favours Hailo accelerators or Intel’s built-in Quick Sync for new builds. Coral remains functional but is considered somewhat dated. Check Frigate’s own current hardware recommendations before buying.

Does Frigate integrate directly with Home Assistant?

Yes, natively. Frigate’s detection events flow into Home Assistant as entities and triggers, meaning the automations and dashboard covered in this site’s Home Assistant guides can incorporate camera-based detection directly.

Storage planning: the practical reality of continuous recording

Continuous recording at 1080p from multiple cameras accumulates storage quickly. A rough benchmark: one camera recording continuously at 1080p H.264 produces roughly 1-2GB per hour depending on compression settings and scene complexity. Four cameras recording continuously generates around 200-400GB per day, which at seven days retention means 1.5-3TB of local storage. This is not prohibitive, large spinning-disk drives are inexpensive and Frigate works fine on commodity NAS-grade hardware, but it’s worth planning explicitly rather than discovering that a consumer-grade SSD fills up in a few days. Frigate’s configuration offers several tools for managing this: resolution throttling on the sub-stream used for recording, configurable clip retention shorter than the continuous-recording retention, and object-detection-based recording that only captures clips around detected events rather than recording continuously. A combination of these, tuned to the specific property and threat model, produces a much more manageable storage footprint than continuous full-resolution recording at every camera.

The case for starting with one camera

For anyone new to Frigate, starting with a single camera rather than attempting to deploy all cameras simultaneously is genuinely the right approach. A single camera lets you work through the RTSP stream discovery, hardware detection configuration, retention settings, and Home Assistant integration one system at a time, before multiplying any configuration mistakes across the full intended camera count. Frigate’s Docker Compose configuration adds additional cameras as new entries in a YAML file, so scaling from one to several cameras once the first is working correctly is a straightforward, low-risk extension. The hard problem is always the first camera; everything after that is repetition of an already-proven pattern.