Externalise Facilement ta sauvegarde Home-Assistant
Cet Article a été vu ... fois
Sommaire
A l’époque déjà, externaliser la sauvegarde Home Assistant me préoccupait, Dixit mon installation à base de raspberry mise tout sur la carte SD, de ce fait en 2023 j’avais rédigé un article: comment externaliser sa sauvegarde avec syncthing, cette méthode fonctionne toujours mais syncthing est tout de même une usine à gaz.
Je m’explique Haade propose un module qui te permet de te connecter via une adresse web et ce gratuitement, je propose aussi à tout mon réseau de sauvegarder leurs dernières sauvegardes sur un serveur externe. Il me fallait installer quelque chose de plus simple.
Entre 2023 et aujourd’hui de l’eau a coulée sous les ponts et home assistant à énormément évolué. Depuis la gestion des sauvegardes est entièrement gérée par l’application. Il est possible entre autre d’ajouter un stockage réseau prise en charge protocoles smb/nfs, qui est à usage d’un réseau interne, mais avec la gestion wireguard on pourrait envisager l’export des sauvegardes sur un serveur externe.

Rsync utilitaire opensource sert à copier ou déplacer des répertoires, à l’instar de mv ou cp, mais fournit en plus des fonctionnalités complètes de synchronisation et de transfert distant (reposant sur SSH). Ainsi il peut aussi être utilisé de manière plus avancée pour maintenir un double d’un espace de stockage, pour mettre en place des systèmes rudimentaires de sauvegarde distante.
Le tout avec une simple ligne de commande le rendant simple à utiliser
Pour suivre ce tuto il faut avoir quelques bases, mais n’ayez craintes rien d’insurmontable !
Prérequis
- Home Assistant OS
- un NAS avec openmediavault de préférence
- module complémentaire File editor pour HA
- module complémentaire Rsync pour HA
- ouvrir le port 22 de sa box
- avoir une adresse ip externe fixe ( de préférence )
Installation Rsync dans HAOS
Ne perdons pas de temps et commençons par ajouter le dépôt de Poeschl au gestionnaire de module. Aller dans: Paramètres > modules complémentaires > Boutiques des modules complémentaires > Menu > dépôts

Pour ajouter les dépôts clic directement sur le lien ci-dessous ou ajoute-le manuellement.
Lien direct du répertoire: https://github.com/Poeschl-HomeAssistant-Addons/repository et clic sur Ajouter.
Actualise la page des modules complémentaires, rends toi à l’onglet Poeschl et installe Rsync.

Utilisation et paramétrage du module Rsync
Une fois Rsync installé, démarre-le sans toucher la configuration ce qui va générer dans un premier temps les clés ssh dans le dossier /ssh/rsync/id_rsa. Ce sont ces clés que nous allons récupérer afin de pouvoir se connecter à notre NAS ou serveur distant.

Voilà maintenant passons au paramétrage du module rsync.

- répertoire ou sont stockés les clés ssh
- user est le nom d’utilisateur rsync doit correspondre à l’utilisateur dans omv j’ai mis Nicotest
- paramétrage des dossiers locaux et distants + options si nécessaire
- local: ( il s’agit du dossier des sauvegardes dans HA par défaut /backup )
- remote: il s’agit du dossier distant pour moi les sauvegardes seront enregistrées dans /export/data/Backup/Nicotest
- les options complémentaires lors de transferts rsync
- la direction: pull ou push par défaut ( push = pousse des données de HA ver sources extérieurs )
- remote_host: Adresse ip/http serveur externe.
En Conclusion: côté OMV je vais créer un utilisateur Nicotest avec son répertoire personnel , donc dans rsync pour Homeassistant l’user doit être Nicotest et le répertoire distant sera au final Nicotest
Récupération de la clé SSH
Maintenant il faut récupérer la clé ssh indispensable à la connection distante des deux systèmes. Rien de bien compliqué on va pour celà utiliser le célèbre module file editor dispo par défaut dans la bas des modules complémentaires de Home Assistant.

Si tu ne l’a pas installé clic sur le lien ci-dessous
Ensuite pour avoir accès à la racine des dossiers dans le module file editor et oui par défaut tu as accès seulement au sous-dossiers /config, pour rappel nous avons vbesoin d’accéder au sous dossier /ssl/rsync/id_pub.rsa.
Donc rien de plus simple rends-toi dans la configuration du module et déselectionne Enforce Basepath. Ensuite redémarre le module.

Ouvrons maintenant l’interface file editor et navigue jusqu’au fichier il ne te restera plus qu’à faire un ctrl-c et le tour est joué 👌

Paramétrage côté NAS
Direction NAS, je pars du principe que tu maitrises ce merveilleux logiciel de gestions de contenus !. Allez go ! onglet utilisateurs > paramètres et coche la case répertoires personnels des utilisateurs ainsi l’utilisateur créé Nicotest aura un répertoire dans /export/data/Backup/Nicotest, tu n’es pas obligé de créer ces répertoires automatiquement si tu ne le souhaite pas, et tu peux le créer automatiquement, cependant n’oubli pas de donner les droits correspondants en récursifs aux sous dossiers et fichiers pour se faire suis les étapes.
ssh -p 22 xxx.xxx.xxx.xxx -l root # connection en ssh au NAS
mkdir ../../Nicotest
chown -R Nicotest:users Nicotest
Passons à l’étape de création de l’utilisateur:
- Nom: Nicotest
- Mot de passe
- Groupe: sélectionne bien _ssh
Ensuite valide et vérifie bien que ton utilisateur a bien les droits pour _ssh et users

Maintenant il faut copier la clé ssh précédemment prise dans Home assistant.
Attention
lors de la copie de la clé dans home assistant un retour à la ligne est copiée avec, il faudra supprimr ce retour à la ligne dans OMV pour que la clé soit correctement reconnue sans ça tu ne pourras l'ajouter

Maintenant tu peux enregistrer l’utilisateur.

Voilà tout ce que tu as a créer côté OMV, simple rapide et efficace, il n’est pas utilie d’installer l’extension Rsync pour OMV.
Check avant lancement
Passons en revue les étapes avant le démarrage final rsync pour Home assistant
Sauvegardes Home Assistant
Il faut bien sûr avoir des sauvegardes sur Home assistant pour vérifier le bon fonctionnement de l’ensemble, et oui nativement Home Assistant gère les sauvegardes.
Rendez-vous dans Paramètres > Systèmes > Sauvegardes, si les sauvegardes automatiques ne sont pas configurés je te conseil vivement de le faire

Tu peux voir sur ma config ci-dessus que je n’ai pas de sauvegardes automatiques de créé, normal c’est une installation test, mais j’ai tout de même deux sauvegardes de paramétrées.
Rsync dans Home Assistant
Nous sommes prêt désormais à lancer une seconde fois rsync ( comme dit plus haut une fois la tâche réalisée Rsync s’arrête il faudra créer ultérieurement une automatisation )

une fois le démarrage fait consultons les logs

Alors décorticons la ligne de commande
rsync --archive --recursive --compress --delete --prune-empty-dirs \
-e 'ssh -p 22 -i /ssl/rsync/id_rsa -oStrictHostKeyChecking=no' \
/backupCette commande :
- Synchronise /backup
- En mode sauvegarde complète (droits, dates, etc.)
- Via SSH avec clé privée
- Avec compression
- En supprimant les fichiers obsolètes côté destination
- En nettoyant les dossiers vides
- Sans interaction utilisateur (idéal pour un cron)
Complet et efficace.
En ssh je me connecte au serveur NAS et effectivement tout est enregistré dans un dossier backup/

Les fichiers sont biens copiés et vérifiés côté OMV
Création d’une automatisation Home Assistant
Maintenant nous allons créé une automatisation qui se lancera x fois par jours et démarrera le module complémentaire rsync.
Je sais c’est pas pratique mais du fait de la simplification des automatisations sur les dernières versions de Home-Assistant *j’ai tout de même décidé de réaliser un gif animé. *

Conclusion
Rsync est une façon simple d’externaliser les sauvegardes home assistant sur un NAS, bien moins lourdes que syncthing, de préférence équipé d’openmediavault. Merci Poeschl, merci OMV, la sécurité avant tout. 🫵
commentaires