Hobbyist's Hideaway LogoHobbyist's Hideaway
HomeLab
•10 min read

Frigate NVR Setup Guide: Local AI Security for Your Garage (2026)

Share
Frigate NVR Setup Guide: Local AI Security for Your Garage (2026)
On this page(11 sections)

Introduction: The Problem with Cloud Cameras

Your garage is more than just a place to park; it’s where your most valuable tools, project cars, and memories live. Naturally, you want to keep an eye on it. However, the standard consumer solution—cloud-based cameras—has three major flaws:

  1. Privacy: Your video is sent to a third-party server, often with questionable security.
  2. Reliability: If your internet goes down, so does your security.
  3. Intelligence: Most cloud cameras "detect motion," but in a workshop, that usually means every moth or swaying spiderweb triggers a false alarm.

The solution is Frigate NVR. It’s an open-source, local-first NVR (Network Video Recorder) that uses real-time AI to identify exactly what is in your camera’s view. It doesn’t just see "motion"; it sees a "person," a "car," or a "dog," and it does it all on your local hardware without a single byte leaving your house.

In this guide, you'll learn:

  • How to choose hardware (including the Coral TPU) and cameras
  • Docker deployment and Frigate configuration
  • Setting up detection zones and motion masks for zero false alarms
  • Home Assistant integration for instant phone alerts
  • Troubleshooting common issues and cost breakdown

Frigate vs Alternatives: Why Go Local?

Before diving in, here's how Frigate stacks up against other NVR options:

NVRAI DetectionPrivacyCostBest For
FrigateLocal (Coral/GPU)Full localFreeHomelab, Home Assistant users
Blue IrisLocal (optional)Local~$60Windows users
ShinobiPlugin-basedVariableFreeMulti-tenant setups
ZoneMinderBasic motionLocalFreeLegacy systems

Frigate is ideal if you want privacy-first, AI-powered object detection that integrates seamlessly with Home Assistant. No cloud, no subscriptions, no vendor lock-in.


1. Hardware Requirements: The Foundation of Speed

AI object detection is computationally expensive. Running it on a standard CPU will likely result in high latency and melting hardware. To run Frigate effectively, you need a Coral TPU.

For the server itself, an Intel N100 mini PC or similar offers excellent price/performance for video encoding and can run Frigate alongside other homelab services. See our in-depth N100 mini PC power consumption and performance review for real-world measurements and hardware comparisons.

Hardware Recommendations

ComponentRecommendationWhy?
ServerMini PC (Intel NUC / HP ProDesk)Better price/performance than a Pi for video encoding.
AcceleratorGoogle Coral TPU (USB or M.2)Offloads AI detection from CPU (required for real-time).
Storage1TB+ WD Purple / Seagate SkyhawkSurveillance-rated drives handle constant writing.
CamerasAmcrest / Reolink / Dahua PoEMust support ONVIF/RTSP streams.
Google Coral accelerator for local AI object detection
Coral TPU offloads AI inference from the CPU for real-time detection

Camera Selection Comparison

FeaturePoE (Power over Ethernet)WiFi Cameras
StabilityHighModerate/Low
InstallationHarder (runs CAT6)Easier (needs power only)
BandwidthDedicatedShared with Home WiFi
Frigate SupportExcellentVariable (latency issues)

Pro Tip: If you can run a wire, always choose PoE. WiFi cameras often struggle with the constant high-bandwidth streams Frigate requires for 24/7 analysis.

What Will This Cost?

ComponentTypical Cost
Coral TPU (USB or M.2)$60–80
Mini PC (if needed)$150–250
PoE camera$40–80
Storage (1TB surveillance)~$50
Total (new build)$300–460

Cloud cameras run $10–30/month. A Frigate setup pays for itself in 12–24 months—and you own the hardware forever.


2. Docker Configuration: Deploying the Sentry

Frigate runs best as a Docker container. New to Docker? See our guide to self-hosting with Docker for the fundamentals. We’ll use Docker Compose to manage the container and its hardware dependencies.

The Docker Compose File

version: '3.9'
services:
  frigate:
    container_name: frigate
    privileged: true # needed for Coral/GPU access
    restart: unless-stopped
    image: ghcr.io/blakeblackshear/frigate:stable
    shm_size: "128mb" # critical for high-res streams
    devices:
      - /dev/bus/usb:/dev/bus/usb # for USB Coral
      # - /dev/dri/renderD128:/dev/dri/renderD128 # for Intel GPU acceleration
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./config:/config
      - /mnt/storage/frigate/recordings:/media/frigate
      - type: tmpfs # reduces SD card/SSD wear
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    ports:
      - "5000:5000"
      - "8554:8554" # RTSP feeds
      - "8555:8555" # WebRTC
    environment:
      FRIGATE_MQTT_PASSWORD: password

3. Frigate Configuration: Defining Your World

The heart of Frigate is the config.yml. This is where you define your cameras, detection zones, and what objects you want to track. Draw zones and masks directly in the Frigate UI—coordinates are auto-generated when you outline each area.

Frigate NVR AI object detection interface
Frigate dashboard with live view and object detection

Example config.yml

mqtt:
  host: 192.168.1.10
  user: mqtt_user
  password: mqtt_password

detectors:
  coral:
    type: edgetpu
    device: usb

cameras:
  garage_shop:
    ffmpeg:
      inputs:
        - path: rtsp://admin:[email protected]:554/live
          roles:
            - detect
            - record
    detect:
      enabled: True
      width: 1280
      height: 720
      fps: 5 # 5fps is plenty for AI detection
    objects:
      track:
        - person
        - car
        - motorcycle
    zones:
      tool_chest_area:
        coordinates: 320,240,640,240,640,480,320,480 # draw in Frigate UI; coordinates are auto-generated
      workbench:
        coordinates: 100,200,400,200,400,400,100,400
    record:
      enabled: True
      retain:
        days: 7
        mode: all
      events:
        retain:
          default: 30
          mode: active_objects

4. Setting Up Detection Zones and Masks

A "Zone" is a specific area you want to monitor (e.g., your tool chest). A "Mask" is an area you want Frigate to ignore (e.g., a tree that sways in the wind).

Tuning for Zero False Alarms

  1. Motion Masks: Use the Frigate UI to draw masks over anything that moves but isn't relevant (ceiling fans, leaves).
  2. Object Filters: If you have a car parked in the garage, it will always be detected as a "car." Use filters to tell Frigate to only notify you if the "car" moves or if a new car appears.

Warning: Be careful not to mask areas where a person might actually appear. Masks prevent all detection in that area.


5. Home Assistant Integration: Smart Notifications

Frigate’s real power comes when you connect it to Home Assistant. You can set up notifications that send a snapshot of the detected object directly to your phone. For even smarter automation, combine Frigate with mmWave presence sensors to know when someone is in the room versus just passing by.

The "Sentry Alert" Automation

alias: "Security: Person Detected in Garage"
trigger:
  - platform: mqtt
    topic: frigate/events
action:
  - condition: template
    value_template: "{{ wait.json['after']['label'] == 'person' }}"
  - service: notify.mobile_app_phone
    data:
      title: "Garage Alert!"
      message: "A person was detected near the workbench."
      data:
        image: "https://your-ha-url.com/api/frigate/notifications/{{ trigger.payload_json['after']['id'] }}/snapshot.jpg"
        clickAction: "/lovelace/security"

6. Fine-Tuning and Maintenance

  • Storage Management: Frigate’s record settings are powerful. You can record 24/7 at low resolution but keep high-res "events" for 30 days.
  • CPU vs. GPU: Ensure you have hardware acceleration configured for ffmpeg. This reduces CPU usage significantly by using the Intel or Nvidia GPU to decode the video streams before passing them to the Coral TPU.

7. Troubleshooting Common Issues

Coral TPU Not Detected

Run lsusb (Linux) or check Device Manager (Windows) to verify the Coral appears. If it doesn't show up:

  • Try a different USB port (USB 3.0 required)
  • Ensure the container has privileged: true and the correct devices: mapping
  • On Linux, add udev rules so the Coral is accessible: sudo usermod -aG plugdev $USER (then reboot)

High CPU Usage

Enable ffmpeg hardware acceleration. Uncomment the devices line for Intel GPU (/dev/dri/renderD128) or add the equivalent for NVIDIA/AMD. This offloads video decoding from the CPU to the GPU.

Too Many False Positives

Use motion masks to ignore areas that move but aren't relevant (trees, ceiling fans). Add object filters to ignore stationary cars or pets you don't care about. Lower fps in the detect section (5 fps is usually enough).

WebRTC or Stream Won't Load

Check that port 8555 is open and not blocked by a firewall. Ensure your cameras support RTSP—some budget cameras only offer proprietary protocols that Frigate can't use.


8. FAQ: Questions People Actually Ask

Can Frigate run without a Coral TPU?

Yes, but it will be slower and more CPU-intensive. A Coral TPU handles 100+ detections per second; on CPU alone you might get 5–10 fps with noticeable lag. For 1–2 cameras, CPU-only can work. For more, the Coral is essential.

Is Frigate free?

Yes. Frigate is open-source (MIT license) and completely free. There is an optional paid add-on called Frigate+ with models trained on real security footage—but the core software costs nothing.

How many cameras can one Coral handle?

A single USB Coral can typically handle 4–6 cameras at 5 fps each, depending on resolution. For 8+ cameras, consider a second Coral or an M.2 Coral for better throughput.

Does Frigate work with WiFi cameras?

It can, but we don't recommend it. WiFi cameras often have latency, dropouts, and bandwidth issues that frustrate 24/7 recording and real-time AI analysis. PoE is far more reliable.

Can I use Frigate without Home Assistant?

Yes. Frigate works standalone. You lose the tight integration (automations, notifications, dashboards), but MQTT and the built-in UI still give you event viewing and recordings. Many people run Frigate without HA.


9. Conclusion: Peace of Mind, Locally Hosted

You now have a professional-grade security system that rivals enterprise solutions. Your data stays on your server, your notifications are instant and accurate, and you finally know exactly what is happening in your shop—whether it’s a delivery person at the door or a curious cat investigating your project car.

Future Improvements

  • License Plate Recognition: Use the Double Take or Plate Recognizer add-on to identify specific vehicles.
  • Facial Recognition: Add the Double Take add-on for recognizing known faces versus strangers.
  • Audio Detection: Add microphones to detect the sound of breaking glass or power tools.
  • Smart Lighting: Link Frigate to your garage lights; if a person is detected after 10 PM, flood the area with light.

Stay secure, and happy hosting!


This is the third article in our "Smart Workshop" series. Read our workshop inventory management guide to track every tool and part in your shop.

Share this article
Share

Never Miss a Project

Join our community of makers. Get the latest guides on Homelab, Electronics, and Coding delivered to your inbox.