roles/Zigbee2MQTT: Deploy using Podman
Zigbee2MQTT is very similar to ZwaveJS2Mqtt: it is a daemon process that communicates with the Zigbee radio and integrates with Home Assistant using MQTT. Naturally, I decided to deploy it in the same way as ZwaveJS2Mqtt, using a systemd unit to run it in a container with Podman.
This commit is contained in:
68
roles/zigbee2mqtt/tasks/main.yml
Normal file
68
roles/zigbee2mqtt/tasks/main.yml
Normal file
@@ -0,0 +1,68 @@
|
||||
- name: ensure podman is installed
|
||||
package:
|
||||
name: '{{ zigbee2mqtt_podman_packages }}'
|
||||
state: present
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: ensure zigbee2mqtt user exists
|
||||
user:
|
||||
name: zigbee2mqtt
|
||||
system: true
|
||||
home: /var/lib/zigbee2mqtt
|
||||
groups:
|
||||
- dialout
|
||||
createhome: false
|
||||
register: zigbee2mqtt_user
|
||||
tags:
|
||||
- user
|
||||
|
||||
- name: ensure zigbee2mqtt data directory exists
|
||||
file:
|
||||
path: /var/lib/zigbee2mqtt
|
||||
owner: zigbee2mqtt
|
||||
group: zigbee2mqtt
|
||||
mode: '0755'
|
||||
state: directory
|
||||
tags:
|
||||
- datadir
|
||||
|
||||
- name: ensure zigbee2mqtt container image is available
|
||||
podman_image:
|
||||
name: docker.io/koenkk/zigbee2mqtt
|
||||
tag: latest
|
||||
state: present
|
||||
notify:
|
||||
- restart zigbee2mqtt
|
||||
tags:
|
||||
- container-image
|
||||
- container
|
||||
|
||||
- name: ensure zigbee2mqtt systemd unit is installed
|
||||
template:
|
||||
src: zigbee2mqtt.service.j2
|
||||
dest: /etc/systemd/system/zigbee2mqtt.service
|
||||
mode: '0644'
|
||||
notify:
|
||||
- reload systemd
|
||||
- restart zigbee2mqtt
|
||||
tags:
|
||||
- service
|
||||
- systemd
|
||||
- name: ensure zigbee2mqtt starts at boot
|
||||
service:
|
||||
name: zigbee2mqtt
|
||||
enabled: true
|
||||
tags:
|
||||
- service
|
||||
|
||||
- name: ensure zigbee2mqtt is configured
|
||||
template:
|
||||
src: configuration.yaml.j2
|
||||
dest: /var/lib/zigbee2mqtt/configuration.yaml
|
||||
owner: zigbee2mqtt
|
||||
group: zigbee2mqtt
|
||||
mode: '0600'
|
||||
force: false
|
||||
notify:
|
||||
- restart zigbee2mqtt
|
||||
Reference in New Issue
Block a user