- 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