From 081b1683a422cb4f7875b2b63506f99db0f53d21 Mon Sep 17 00:00:00 2001 From: Annika Merris Date: Sun, 1 Feb 2026 13:20:47 +0000 Subject: [PATCH] Added Frigate Config --- .../roles/caddy/templates/Caddyfile.j2 | 8 +- .../minilab/roles/frigate/tasks/main.yaml | 16 ++-- .../frigate/templates/docker-compose.yaml.j2 | 4 +- .../frigate/templates/frigate_config.yaml.j2 | 77 +++++++++++++++++++ .../minilab/roles/frigate/vars/main.yaml | 26 +++++++ 5 files changed, 120 insertions(+), 11 deletions(-) create mode 100644 collections/ansible_collections/adhdgirl/minilab/roles/frigate/templates/frigate_config.yaml.j2 diff --git a/collections/ansible_collections/adhdgirl/minilab/roles/caddy/templates/Caddyfile.j2 b/collections/ansible_collections/adhdgirl/minilab/roles/caddy/templates/Caddyfile.j2 index f8898d5..098387a 100644 --- a/collections/ansible_collections/adhdgirl/minilab/roles/caddy/templates/Caddyfile.j2 +++ b/collections/ansible_collections/adhdgirl/minilab/roles/caddy/templates/Caddyfile.j2 @@ -63,7 +63,13 @@ truenas.local.cobb.lgbt { } } } - termix.local.cobb.lgbt { reverse_proxy 10.69.2.52:8082 } +frigate.local.cobb.lgbt { + reverse_proxy 10.69.10.13:8971 { + transport http { + tls_insecure_skip_verify + } + } +} diff --git a/collections/ansible_collections/adhdgirl/minilab/roles/frigate/tasks/main.yaml b/collections/ansible_collections/adhdgirl/minilab/roles/frigate/tasks/main.yaml index 797bc0e..9c83e18 100644 --- a/collections/ansible_collections/adhdgirl/minilab/roles/frigate/tasks/main.yaml +++ b/collections/ansible_collections/adhdgirl/minilab/roles/frigate/tasks/main.yaml @@ -26,14 +26,14 @@ owner: 1000 group: 1000 mode: "0644" - # - name: Ensure frigate config is available for container - # tags: packages,frigate - # ansible.builtin.template: - # src: frigate-config.yaml.j2 - # dest: /opt/frigate/config/server.yml - # owner: 1000 - # group: 1000 - # mode: "0644" + - name: Ensure frigate config is available for container + tags: packages,frigate + ansible.builtin.template: + src: frigate_config.yaml.j2 + dest: /opt/frigate/config/config.yaml + owner: 1000 + group: 1000 + mode: "0644" - name: Ensure docker containers are pulled and running tags: packages,docker,frigate community.docker.docker_compose_v2: diff --git a/collections/ansible_collections/adhdgirl/minilab/roles/frigate/templates/docker-compose.yaml.j2 b/collections/ansible_collections/adhdgirl/minilab/roles/frigate/templates/docker-compose.yaml.j2 index 8e783dd..d3d9f6d 100644 --- a/collections/ansible_collections/adhdgirl/minilab/roles/frigate/templates/docker-compose.yaml.j2 +++ b/collections/ansible_collections/adhdgirl/minilab/roles/frigate/templates/docker-compose.yaml.j2 @@ -2,7 +2,7 @@ services: frigate: container_name: frigate - # privileged: true # this may not be necessary for all setups + privileged: true # this may not be necessary for all setups restart: unless-stopped stop_grace_period: 30s # allow enough time to shut down the various services image: ghcr.io/blakeblackshear/frigate:{{ frigate_image_tag }} @@ -19,7 +19,7 @@ services: size: 1000000000 ports: - "8971:8971" - # - "5000:5000" # Internal unauthenticated access. Expose carefully. + - "5000:5000" # Internal unauthenticated access. Expose carefully. - "8554:8554" # RTSP feeds - "8555:8555/tcp" # WebRTC over tcp - "8555:8555/udp" # WebRTC over udp diff --git a/collections/ansible_collections/adhdgirl/minilab/roles/frigate/templates/frigate_config.yaml.j2 b/collections/ansible_collections/adhdgirl/minilab/roles/frigate/templates/frigate_config.yaml.j2 new file mode 100644 index 0000000..6864325 --- /dev/null +++ b/collections/ansible_collections/adhdgirl/minilab/roles/frigate/templates/frigate_config.yaml.j2 @@ -0,0 +1,77 @@ +--- +mqtt: + enabled: true + host: {{ frigate_mqtt_ip }} + port: 1883 + user: {{ frigate_mqtt_username }} + password: {{ frigate_mqtt_password }} + topic_prefix: frigate + +go2rtc: + streams: + doorbell: + - ffmpeg:http://{{ frigate_reolink_ip }}/flv?port=1935&app=bcs&stream=channel0_main.bcs&user={{ frigate_reolink_username }}&password={{ frigate_reolink_password_url_enc }}#video=copy#audio=copy#audio=opus + - rtsp://{{ frigate_reolink_username}}:{{ frigate_reolink_password_url_enc }}@{{ frigate_reolink_ip}}:554/ + doorbell_sub: + - ffmpeg:http://{{ frigate_reolink_ip }}/flv?port=1935&app=bcs&stream=channel0_ext.bcs&user={{ frigate_reolink_username}}&password={{ frigate_reolink_password_url_enc }}#audio=opus#audio=volume + - rtsp://{{ frigate_reolink_username}}:{{ frigate_reolink_password_url_enc }}@{{ frigate_reolink_ip}}:554/ + +detectors: + ov_0: + type: openvino + device: GPU +detect: + enabled: true + +model: + width: 300 + height: 300 + input_tensor: nhwc + input_pixel_format: bgr + path: /openvino-model/ssdlite_mobilenet_v2.xml + labelmap_path: /openvino-model/coco_91cl_bkgr.txt + +cameras: + front_doorbell: + ffmpeg: + inputs: + - path: rtsp://127.0.0.1:8555/doorbell?video=copy&audio=aac + input_args: preset-rtsp-restream + roles: + - record + - audio + - path: rtsp://127.0.0.1:8554/doorbell_sub?video=copy + input_args: preset-rtsp-restream + roles: + - detect + onvif: + host: {{ frigate_reolink_ip }} + port: 80 + user: {{ frigate_reolink_username }} + password: {{ frigate_reolink_password }} + detect: + enabled: true + width: 640 + height: 480 + fps: 7 + objects: + track: + - person + - car + - package + filters: + car: + mask: 0.864,0.465,0.768,0.468,0.784,0.648,0.97,0.661,0.98,0.455 + +record: + enabled: true + retain: + days: 7 + alerts: + retain: + days: 30 + detections: + retain: + days: 14 + +version: 0.16-0 diff --git a/collections/ansible_collections/adhdgirl/minilab/roles/frigate/vars/main.yaml b/collections/ansible_collections/adhdgirl/minilab/roles/frigate/vars/main.yaml index 49ece21..e4e4dba 100644 --- a/collections/ansible_collections/adhdgirl/minilab/roles/frigate/vars/main.yaml +++ b/collections/ansible_collections/adhdgirl/minilab/roles/frigate/vars/main.yaml @@ -7,3 +7,29 @@ frigate_rtsp_passwd: !vault | 3561646234623133330a323731336437383438633630393065343363306636343634663162656539 3162 frigate_image_tag: 0.16.4 +frigate_reolink_ip: 10.69.12.20 +frigate_reolink_username: frigate +frigate_reolink_password_url_enc: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 31633133663532656633373437663437356132326362356465356164323636323133343366373630 + 3935373839346332613063396332646662396530633062370a393335643564393132373066346662 + 62393062366539346534633537326330393064323963663439343465623433613932613564643763 + 3439313635643061610a336262636638373937356466313634363637336334333564626664386138 + 63633830396161393234343962326438393362366335336333616362616661333331343961643030 + 3433666330366433333033653265613930646535636433333939 +frigate_reolink_password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 32366339623732363766316561336262626233396161366631663238653335336433616432633265 + 6431636661316131356461313562663833643434383034380a666663383564326539353834363531 + 35376261663933626663376139373262663866633164666234646662346365373936663536316161 + 3364383165646461350a656366633363366230613430353662393934336132306464663631623865 + 33343734653131653230373330613731383363306434383865633536313564363166 +frigate_mqtt_ip: 10.69.2.13 +frigate_mqtt_username: adhdgirl +frigate_mqtt_password: !vault | + $ANSIBLE_VAULT;1.1;AES256 + 30306563313434653464633363316636313435386536343362656135343832636262633736343961 + 3863356661616263653337346563363238656363373332650a386234666430626462666463366331 + 32666132366264633830333036303766393564366635313865343635363631336164396133393139 + 3839646237353961390a386431363630653666356139663739633864613366363138653233393835 + 3634