From eed75d8648c783bf953c763edaea69da96cd565b Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Sun, 21 Nov 2021 21:53:35 +0000 Subject: [PATCH] Mount homeassistant data into restic for external backup --- ansible/host_vars/restic.yml | 1 + ansible/roles/restic/tasks/homeassistant.yml | 29 ++++++++++++++++++++ ansible/roles/restic/tasks/main.yml | 4 +++ ansible/roles/restic/vars/main.yml | 4 +++ 4 files changed, 38 insertions(+) create mode 100644 ansible/roles/restic/tasks/homeassistant.yml diff --git a/ansible/host_vars/restic.yml b/ansible/host_vars/restic.yml index 6c5ae4b..5f2d778 100644 --- a/ansible/host_vars/restic.yml +++ b/ansible/host_vars/restic.yml @@ -1,5 +1,6 @@ restic_backup_locations: - /mnt/tank + - /mnt/home-assistant restic_healthchecks_id: !vault | $ANSIBLE_VAULT;1.1;AES256 61343535336633643231356138356631663130313234343538366634393661666232303965643365 diff --git a/ansible/roles/restic/tasks/homeassistant.yml b/ansible/roles/restic/tasks/homeassistant.yml new file mode 100644 index 0000000..dfd2d01 --- /dev/null +++ b/ansible/roles/restic/tasks/homeassistant.yml @@ -0,0 +1,29 @@ +- name: Install CIFS utils + package: + name: cifs-utils + become: true + +- name: Create dir for CIFS mount + file: + path: /mnt/home-assistant + state: directory + mode: "0755" + become: true + +- name: Create dir for each CIFS mount + file: + path: /mnt/home-assistant/{{ item }} + state: directory + mode: "0600" + become: true + loop: "{{ restic_homeassistant_mounts }}" + +- name: Create mounts + mount: + path: /mnt/home-assistant/{{ item }} + fstype: cifs + opts: username=homeassistant,password=homeassistant + src: //{{ pve_hosts.homeassistant.ip }}/{{ item }} + state: mounted + become: true + loop: "{{ restic_homeassistant_mounts }}" diff --git a/ansible/roles/restic/tasks/main.yml b/ansible/roles/restic/tasks/main.yml index f2df011..d5bed99 100644 --- a/ansible/roles/restic/tasks/main.yml +++ b/ansible/roles/restic/tasks/main.yml @@ -90,3 +90,7 @@ mode: "0600" become: true when: ansible_os_family == 'Archlinux' + +- name: Install HomeAssistant mounts + include_tasks: homeassistant.yml + when: ansible_hostname == 'pve-restic' diff --git a/ansible/roles/restic/vars/main.yml b/ansible/roles/restic/vars/main.yml index 28cc7e0..09ca845 100644 --- a/ansible/roles/restic/vars/main.yml +++ b/ansible/roles/restic/vars/main.yml @@ -25,3 +25,7 @@ restic_key: !vault | 66643135336539333738623231346331623464636637373639666435663961383936 restic_b2_bucket: 0rng-restic healthchecks_host: https://hc-ping.com + +restic_homeassistant_mounts: + - backup + - config