124 lines
2.3 KiB
YAML
124 lines
2.3 KiB
YAML
- name: load architecture-specific values
|
|
include_vars: '{{ item }}'
|
|
with_first_found:
|
|
- '{{ ansible_architecture }}.yml'
|
|
- defaults.yml
|
|
tags:
|
|
- always
|
|
|
|
- name: ensure podman is installed
|
|
package:
|
|
name: '{{ frigate_podman_packages }}'
|
|
state: present
|
|
tags:
|
|
- install
|
|
|
|
- name: ensure frigate user exists
|
|
user:
|
|
name: frigate
|
|
system: true
|
|
home: /var/lib/frigate
|
|
createhome: false
|
|
register: frigate_user
|
|
tags:
|
|
- user
|
|
|
|
- name: ensure frigate home directory exists
|
|
file:
|
|
path: /var/lib/frigate
|
|
owner: frigate
|
|
group: frigate
|
|
mode: '0755'
|
|
state: directory
|
|
tags:
|
|
- datadir
|
|
- name: ensure frigate tmp directory exists
|
|
file:
|
|
path: /var/lib/frigate/tmp
|
|
owner: frigate
|
|
group: frigate
|
|
mode: '0700'
|
|
state: directory
|
|
tags:
|
|
- datadir
|
|
|
|
- name: ensure frigate container image is available
|
|
podman_image:
|
|
name: docker.io/blakeblackshear/frigate:{{ frigate_image_tag }}
|
|
tag: stable
|
|
state: present
|
|
force: '{{ frigate_update|d|bool }}'
|
|
notify:
|
|
- restart frigate
|
|
tags:
|
|
- container-image
|
|
- container
|
|
|
|
- name: ensure frigate systemd unit is installed
|
|
template:
|
|
src: frigate.service.j2
|
|
dest: /etc/systemd/system/frigate.service
|
|
mode: '0644'
|
|
notify:
|
|
- reload systemd
|
|
- restart frigate
|
|
tags:
|
|
- systemd
|
|
- name: ensure frigate starts at boot
|
|
service:
|
|
name: frigate
|
|
enabled: true
|
|
tags:
|
|
- service
|
|
|
|
- name: ensure frigate configuration directory exists
|
|
file:
|
|
path: /etc/frigate
|
|
mode: '0750'
|
|
owner: root
|
|
group: frigate
|
|
state: directory
|
|
tags:
|
|
- config
|
|
- name: ensure frigate is configured
|
|
copy:
|
|
dest: /etc/frigate/frigate.yml
|
|
content: >-
|
|
{{ frigate_config|to_nice_yaml(indent=2) }}
|
|
mode: '0640'
|
|
owner: root
|
|
group: frigate
|
|
notify:
|
|
- restart frigate
|
|
tags:
|
|
- config
|
|
|
|
- name: ensure frigate starts at boot
|
|
service:
|
|
name: frigate
|
|
enabled: true
|
|
tags:
|
|
- service
|
|
|
|
- name: flush handlers
|
|
meta: flush_handlers
|
|
- name: ensure frigate is running
|
|
service:
|
|
name: frigate
|
|
state: started
|
|
tags:
|
|
- service
|
|
|
|
- name: ensure firewall is configured for frigate
|
|
firewalld:
|
|
port: '{{ item }}/tcp'
|
|
immediate: true
|
|
permanent: false
|
|
state: enabled
|
|
loop:
|
|
- 5000 # Frigate web UI/API
|
|
- 1935 # RTMP
|
|
notify: save firewalld configuration
|
|
tags:
|
|
- firewall
|