From 7f232d32ebf1fa9c9cd943b1aca9e64d4e38c4ed Mon Sep 17 00:00:00 2001 From: Kristof Provost Date: Tue, 5 Mar 2024 22:38:13 +0100 Subject: [PATCH] ansible: install & start homeassistant --- ansible/README.txt | 4 +++ ansible/playbook-push.yaml | 59 +++++++++++++++++++++++++++++++++ ansible/templates/homeassistant | 19 +++++++++++ 3 files changed, 82 insertions(+) create mode 100644 ansible/playbook-push.yaml create mode 100644 ansible/templates/homeassistant diff --git a/ansible/README.txt b/ansible/README.txt index 2f88182..80e12ec 100644 --- a/ansible/README.txt +++ b/ansible/README.txt @@ -2,3 +2,7 @@ Required packages ================= py39-ansible py39-ansible-sysrc + +Push +===== +ansible-playbook -i inventory.yaml playbook-push.yaml diff --git a/ansible/playbook-push.yaml b/ansible/playbook-push.yaml new file mode 100644 index 0000000..aa97b9e --- /dev/null +++ b/ansible/playbook-push.yaml @@ -0,0 +1,59 @@ +- name: Install packages + hosts: domoticamachines + tasks: + - name: create HA user + user: + name: "domotica" + comment: "Home Assistant" + system: yes + shell: "/sbin/nologin" + become: true + - name: create HA directory + file: + path: "/home/domotica/ha/" + state: directory + mode: 02775 + owner: "domotica" + group: "domotica" + become: true + + - name: install required python modules (pre-install) + pip: + name: "{{ item }}" + extra_args: "--upgrade" + virtualenv: "/home/domotica/ha/" + with_items: + - colorlog + become: true + - name: install defined version of Home Assistant + pip: + name: homeassistant + version: "2024.2.2" + virtualenv: "/home/domotica/ha/" + when: ha_version is defined + become: true + - name: install latest version of Home Assistant + pip: + name: homeassistant + extra_args: "--upgrade" + virtualenv: "/home/domotica/ha/" + when: ha_version is undefined + become: true + - name: install homeassistant startup script + template: + src: homeassistant + dest: "/usr/local/etc/rc.d/homeassistant" + owner: root + group: wheel + mode: 0755 + become: true + - name: start home assistant + community.general.sysrc: + name: homeassistant_enable + value: "YES" + become: true + - name: Start homeassistant + ansible.builtin.service: + name: homeassistant + state: started + become: true diff --git a/ansible/templates/homeassistant b/ansible/templates/homeassistant new file mode 100644 index 0000000..ca89697 --- /dev/null +++ b/ansible/templates/homeassistant @@ -0,0 +1,19 @@ +#!/bin/sh +# + +# PROVIDE: homeassistant +# REQUIRE: network +# BEFORE: DAEMON + +. /etc/rc.subr + +name="homeassistant" +rcvar=${name}_enable +pidfile=/var/run/${name}.pid +procname=/home/domotica/ha/bin/hass + +command=/usr/sbin/daemon +command_args=" -f -S -p ${pidfile} -u domotica ${procname} --ignore-os-check" + +load_rc_config $name +run_rc_command $1 -- 2.51.0