Only deploy zigbee2mqtt config when it doesn't exist
This commit is contained in:
		
					parent
					
						
							
								048e189828
							
						
					
				
			
			
				commit
				
					
						9dc77ad5a5
					
				
			
		
					 3 changed files with 25 additions and 9 deletions
				
			
		|  | @ -1,9 +1,11 @@ | |||
| - name: Ensure acl is installed | ||||
|   ansible.builtin.apt: | ||||
|     name: acl | ||||
| 
 | ||||
| - name: Ensure git is installed | ||||
|   ansible.builtin.apt: | ||||
|     name: git | ||||
| 
 | ||||
| - name: Ensure zigbee2mqtt user exists | ||||
|   ansible.builtin.user: | ||||
|     name: zigbee2mqtt | ||||
|  | @ -11,13 +13,15 @@ | |||
|       - zigbee2mqtt | ||||
|       - dialout | ||||
|     group: zigbee2mqtt | ||||
| - name: Ensure installation dirrectory exists | ||||
| 
 | ||||
| - name: Ensure installation directory exists | ||||
|   ansible.builtin.file: | ||||
|     dest: /opt/zigbee2mqtt | ||||
|     state: directory | ||||
|     mode: 0755 | ||||
|     mode: "755" | ||||
|     owner: zigbee2mqtt | ||||
|     group: zigbee2mqtt | ||||
| 
 | ||||
| - name: Ensure zigbee2mqtt repository is cloned | ||||
|   become_user: zigbee2mqtt | ||||
|   ansible.builtin.git: | ||||
|  | @ -26,35 +30,46 @@ | |||
|     dest: /opt/zigbee2mqtt | ||||
|     version: "{{ zigbee2mqtt__version }}" | ||||
|   notify: Restart zigbee2mqtt | ||||
| 
 | ||||
| - name: Ensure npm dependencies are installed | ||||
|   become_user: zigbee2mqtt | ||||
|   community.general.npm: | ||||
|     path: /opt/zigbee2mqtt | ||||
|     ci: true | ||||
|   changed_when: false # installs packages according to package-lock.json, but always reports a change | ||||
| 
 | ||||
| - name: Ensure custom zigbee2mqtt data directory exists | ||||
|   ansible.builtin.file: | ||||
|     dest: /home/zigbee2mqtt/zigbee2mqtt_data | ||||
|     state: directory | ||||
|     mode: 0755 | ||||
|     mode: "755" | ||||
|     owner: zigbee2mqtt | ||||
|     group: zigbee2mqtt | ||||
| - name: Ensure configuration file is deployed | ||||
| 
 | ||||
| - name: Check configuration file status | ||||
|   ansible.builtin.stat: | ||||
|     path: /home/zigbee2mqtt/zigbee2mqtt_data/configuration.yaml | ||||
|   register: zigbee2mqtt__conf_stat | ||||
| 
 | ||||
| - name: Ensure configuration file is deployed when it doesn't exist | ||||
|   when: not zigbee2mqtt__conf_stat.stat.exists | ||||
|   ansible.builtin.copy: | ||||
|     content: "{{ zigbee2mqtt__config }}" | ||||
|     dest: /home/zigbee2mqtt/zigbee2mqtt_data/configuration.yaml | ||||
|     mode: 0640 | ||||
|     mode: "640" | ||||
|     owner: zigbee2mqtt | ||||
|     group: zigbee2mqtt | ||||
|   notify: Restart zigbee2mqtt | ||||
| 
 | ||||
| - name: Ensure zigbee2mqtt service file is deployed | ||||
|   ansible.builtin.copy: | ||||
|     src: zigbee2mqtt.service | ||||
|     dest: /etc/systemd/system/zigbee2mqtt.service | ||||
|     mode: 0644 | ||||
|     mode: "644" | ||||
|     owner: root | ||||
|     group: root | ||||
|   notify: Reload systemd-daemon and restart zigbee2mqtt | ||||
| 
 | ||||
| - name: Ensure zigbee2mqtt is enabled and started | ||||
|   ansible.builtin.systemd: | ||||
|     service: zigbee2mqtt | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue