---
title: frigate
description: frigate nvr
showHero: false
author: wompmacho
date: '2025-02-04'
lastmod: '2025-02-04'
tags: ['nvr', 'cctv', 'self-hosted']
---

## What is Frigate?

`Frigate` is a complete and local NVR designed for Home Assistant with AI object detection. Uses OpenCV and Tensorflow to perform realtime object detection locally for IP cameras.

```yaml
{{% include "/srv/configs/docker_compose/frigate/docker-compose.yaml" %}}
```

requires to set a `config.yml` in the `/config` volume.

## My old config

Am not currently running the optimized setup for this, but testing things out.

```yaml
mqtt:
  enabled: false
cameras:
  front:
    birdseye:
      order: 1
    ffmpeg:
      inputs:
        - path: rtsp://USERNAME:PASSWORD@IPADDR:554/path_to_stream
          roles:
            - detect
            - record
    objects:
      track:
        - person
    detect:
      width: 1920
      height: 1080

    record:
      sync_recordings: True
      enabled: True
      retain:
        days: 7
        mode: motion
      events:
        # Optional: Number of seconds before the event to include (default: shown below)
        pre_capture: 5
        # Optional: Number of seconds after the event to include (default: shown below)
        post_capture: 5

detectors:
    cpu1:
      type: cpu
      num_threads: 3

## Include all cameras by default in Birdseye view
birdseye:
  enabled: True
  mode: continuous
  width: 1280
  height: 720
  quality: 8
  inactivity_threshold: 30
```

## Proxy fixes

For nginx proxy - add this to advanced options for proxy host

```yaml
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
proxy_request_buffering off;
```
