107 lines
2.2 KiB
YAML
107 lines
2.2 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: '{{ homeassistant_podman_packages }}'
|
|
state: present
|
|
tags:
|
|
- install
|
|
|
|
- name: ensure homeassistant user exists
|
|
user:
|
|
name: homeassistant
|
|
system: true
|
|
home: /var/lib/homeassistant
|
|
createhome: false
|
|
register: homeassistant_user
|
|
tags:
|
|
- user
|
|
|
|
- name: ensure homeassistant home directory exists
|
|
file:
|
|
path: /var/lib/homeassistant
|
|
owner: homeassistant
|
|
group: homeassistant
|
|
mode: '0755'
|
|
state: directory
|
|
tags:
|
|
- datadir
|
|
|
|
- name: ensure stub home assistant configuration is set
|
|
copy:
|
|
src: '{{ item }}'
|
|
dest: /var/lib/homeassistant/{{ item|basename }}
|
|
owner: homeassistant
|
|
group: homeassistant
|
|
mode: '0644'
|
|
force: false
|
|
with_fileglob:
|
|
- 'stubs/*.yaml'
|
|
tags:
|
|
- config
|
|
- name: ensure home assistant proxy settings are configured
|
|
copy:
|
|
src: http.yaml
|
|
dest: /var/lib/homeassistant/http.yaml
|
|
owner: homeassistant
|
|
group: homeassistant
|
|
mode: '0644'
|
|
notify:
|
|
- restart homeassistant
|
|
tags:
|
|
- config
|
|
|
|
- name: ensure homeassistant container image is available
|
|
podman_image:
|
|
name: ghcr.io/home-assistant/{{ homeassistant_image_name }}
|
|
tag: stable
|
|
state: present
|
|
force: '{{ homeassistant_update|d|bool }}'
|
|
notify:
|
|
- restart homeassistant
|
|
tags:
|
|
- container-image
|
|
- container
|
|
|
|
- name: ensure homeassistant systemd unit is installed
|
|
template:
|
|
src: homeassistant.service.j2
|
|
dest: /etc/systemd/system/homeassistant.service
|
|
mode: '0644'
|
|
notify:
|
|
- reload systemd
|
|
- restart homeassistant
|
|
tags:
|
|
- service
|
|
- systemd
|
|
- name: ensure homeassistant starts at boot
|
|
service:
|
|
name: homeassistant
|
|
enabled: true
|
|
tags:
|
|
- service
|
|
|
|
- name: ensure apache is configured to proxy for homeassistant
|
|
template:
|
|
src: homeassistant.httpd.conf.j2
|
|
dest: /etc/httpd/conf.d/homeassistant.conf
|
|
mode: '0644'
|
|
notify:
|
|
- reload httpd
|
|
tags:
|
|
- proxy-config
|
|
- name: ensure selinux allows apache to proxy
|
|
seboolean:
|
|
name: httpd_can_network_connect
|
|
state: true
|
|
persistent: true
|
|
tags:
|
|
- selinux
|
|
- apache
|