From 7db2e1e028667db476a2dca58d5287db4eb47c4d Mon Sep 17 00:00:00 2001 From: perco Date: Tue, 2 Jun 2026 09:40:20 +0200 Subject: [PATCH] feat: initial Frigate NVR setup Dual-stream config (sub for detect, main for live/snapshots), Intel VAAPI hardware accel, LPR local (YOLOv9 + PaddleOCR), car/person detection, snapshots 30j retention. Co-Authored-By: Claude Sonnet 4.6 --- .gitignore | 3 +++ config/config.yml | 66 ++++++++++++++++++++++++++++++++++++++++++++++ docker-compose.yml | 32 ++++++++++++++++++++++ 3 files changed, 101 insertions(+) create mode 100644 .gitignore create mode 100644 config/config.yml create mode 100644 docker-compose.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..14d7cba --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +storage/ +db/ +config/model_cache/ diff --git a/config/config.yml b/config/config.yml new file mode 100644 index 0000000..ed60fe9 --- /dev/null +++ b/config/config.yml @@ -0,0 +1,66 @@ +mqtt: + enabled: false + +database: + path: /db/frigate.db + +ffmpeg: + hwaccel_args: preset-vaapi + +detectors: + default: + type: cpu + +cameras: + entree: + ffmpeg: + inputs: + - path: rtsp://admin:Wxcvbn99--$$@192.168.1.44/h264Preview_01_sub + roles: + - detect + - path: rtsp://admin:Wxcvbn99--$$@192.168.1.44/h264Preview_01_main + roles: + - record + detect: + enabled: true + width: 640 + height: 360 + fps: 5 + objects: + track: + - car + - person + filters: + car: + min_score: 0.5 + threshold: 0.7 + person: + min_score: 0.5 + threshold: 0.7 + snapshots: + enabled: true + bounding_box: true + retain: + default: 30 + record: + enabled: false + motion: + threshold: 25 + improve_contrast: true + + zones: + dehors: + coordinates: + 0.005,0.517,0.127,0.445,0.276,0.4,0.44,0.354,0.892,0.268,0.858,0.139,0.713,0.131,0.703,0.003,0.001,0.005 + loitering_time: 0 +snapshots: + retain: + default: 30 + +lpr: + enabled: true + min_area: 1500 + +environment_vars: + LIBVA_DRIVER_NAME: i965 +version: 0.17-0 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b952124 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,32 @@ +services: + frigate: + container_name: frigate + image: ghcr.io/blakeblackshear/frigate:stable + restart: unless-stopped + shm_size: "256mb" + devices: + - /dev/dri/renderD128:/dev/dri/renderD128 + volumes: + - /etc/localtime:/etc/localtime:ro + - ./config/config.yml:/config/config.yml + - ./storage:/media/frigate + - ./db:/db + ports: + - "5000:5000" + - "8554:8554" + - "8555:8555/tcp" + - "8555:8555/udp" + environment: + FRIGATE_RTSP_PASSWORD: "" + labels: + - traefik.enable=true + - traefik.http.routers.frigate.rule=Host(`frigate.nas.percolouco.com`) + - traefik.http.routers.frigate.entrypoints=websecure + - traefik.http.routers.frigate.tls.certresolver=letsencrypt + - traefik.http.services.frigate.loadbalancer.server.port=5000 + networks: + - proxy + +networks: + proxy: + external: true