From 94f09bd3cef88b7a7352c2e4aef1bff72a779be7 Mon Sep 17 00:00:00 2001 From: Tom Kendrick Date: Sun, 8 Feb 2026 12:47:17 +0000 Subject: [PATCH] feat: add frigate --- security/frigate/docker-compose.yml | 44 +++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 security/frigate/docker-compose.yml diff --git a/security/frigate/docker-compose.yml b/security/frigate/docker-compose.yml new file mode 100644 index 0000000..0b1b4c2 --- /dev/null +++ b/security/frigate/docker-compose.yml @@ -0,0 +1,44 @@ +version: "3.9" + +services: + frigate: + container_name: frigate + image: ghcr.io/blakeblackshear/frigate:stable + shm_size: "64mb" # Update based on camera resolution and count + devices: + - /dev/dri/renderD128:/dev/dri/renderD128 # For Intel hardware acceleration + # - /dev/bus/usb:/dev/bus/usb # Google Coral USB + volumes: + - /etc/localtime:/etc/localtime:ro + - ${CONFIG_ROOT}/frigate:/config + - ${CONFIG_ROOT}/frigate/storage:/media/frigate + - type: tmpfs + target: /tmp/cache + tmpfs: + size: 1000000000 + ports: + - "5000:5000" + - "8554:8554" # RTSP feeds + - "8555:8555/tcp" # WebRTC + - "8555:8555/udp" # WebRTC + restart: unless-stopped + labels: + # Traefik + traefik.enable: "true" + traefik.http.routers.frigate.rule: "Host(`frigate.${DOMAIN}`)" + traefik.http.routers.frigate.entrypoints: "https" + traefik.http.routers.frigate.service: "frigate" + traefik.http.routers.frigate.tls.certresolver: "cloudflare" + traefik.http.services.frigate.loadbalancer.server.port: "5000" + # Homepage + homepage.group: "Security" + homepage.name: "Frigate" + homepage.icon: "frigate.svg" + homepage.href: "https://frigate.${DOMAIN}" + homepage.description: "NVR with AI object detection" + networks: + - traefik_public + +networks: + traefik_public: + external: true