From e1604ce1933f60daec18e284d1e8c1ce63aa3b56 Mon Sep 17 00:00:00 2001 From: Timo Makinen Date: Fri, 9 Feb 2024 12:12:01 +0000 Subject: [PATCH] frigate: Add USB Coral detector --- host_vars/frigate02.home.foo.sh.yml | 2 ++ roles/frigate/files/99-frigate.rules | 1 + roles/frigate/tasks/main.yml | 14 ++++++++++++++ .../frigate/templates/frigate-container.service.j2 | 1 + roles/frigate/templates/frigate.yml.j2 | 5 +++++ 5 files changed, 23 insertions(+) create mode 100644 roles/frigate/files/99-frigate.rules diff --git a/host_vars/frigate02.home.foo.sh.yml b/host_vars/frigate02.home.foo.sh.yml index cc597b3..0705564 100644 --- a/host_vars/frigate02.home.foo.sh.yml +++ b/host_vars/frigate02.home.foo.sh.yml @@ -11,3 +11,5 @@ network_interfaces: netmask: 255.255.255.0 proto: static nameservers: [172.20.26.1, 172.20.26.3] +virt_install_devices: + - 004.003 diff --git a/roles/frigate/files/99-frigate.rules b/roles/frigate/files/99-frigate.rules new file mode 100644 index 0000000..f22efc5 --- /dev/null +++ b/roles/frigate/files/99-frigate.rules @@ -0,0 +1 @@ +SUBSYSTEM=="tty", ATTRS{idVendor}=="1a6e", ATTRS{idProduct}=="089a", MODE="0660", GROUP="frigate" diff --git a/roles/frigate/tasks/main.yml b/roles/frigate/tasks/main.yml index 5a13994..a5a4439 100644 --- a/roles/frigate/tasks/main.yml +++ b/roles/frigate/tasks/main.yml @@ -10,6 +10,20 @@ group: frigate shell: /sbin/nologin +- name: Allow podman to use devices + ansible.posix.seboolean: + name: container_use_devices + state: true + persistent: true + +- name: Allow frigate to connect specific devices + ansible.builtin.copy: + dest: /etc/udev/rules.d/99-frigate.rules + src: 99-frigate.rules + mode: "0644" + owner: root + group: "{{ ansible_wheel }}" + - name: Create config ansible.builtin.template: dest: /etc/frigate.yml diff --git a/roles/frigate/templates/frigate-container.service.j2 b/roles/frigate/templates/frigate-container.service.j2 index 186d955..edb295e 100644 --- a/roles/frigate/templates/frigate-container.service.j2 +++ b/roles/frigate/templates/frigate-container.service.j2 @@ -11,6 +11,7 @@ ExecStart=/usr/bin/podman run \ --volume /srv/frigate/config:/config:rw \ --volume /etc/frigate.yml:/config/config.yml:ro \ --volume /srv/frigate/media:/media/frigate:rw \ + --volume /dev/bus/usb:/dev/bus/usb:rw \ ghcr.io/blakeblackshear/frigate:{{ frigate_version }} ExecStop=/usr/bin/podman stop --ignore frigate ExecStopPost=/usr/bin/podman rm -f --ignore frigate diff --git a/roles/frigate/templates/frigate.yml.j2 b/roles/frigate/templates/frigate.yml.j2 index aa283f6..d04353b 100644 --- a/roles/frigate/templates/frigate.yml.j2 +++ b/roles/frigate/templates/frigate.yml.j2 @@ -2,6 +2,11 @@ mqtt: enabled: false +detectors: + coral: + type: edgetpu + device: usb + cameras: {% for camera in cctv_cameras %} {{ camera.name }}: