Intégration domotique Unraid, gratuite et open source

Serveur Unraid : matrice, parité, disques, conteneurs Docker, VM, onduleur et alertes dans Gladys.
Unraid est le système de nombreux NAS et serveurs domestiques : une matrice de disques protégée par la parité, des conteneurs Docker et des machines virtuelles. Cette intégration lit votre serveur Unraid par son API officielle et l'amène dans Gladys : le serveur lui-même, et les disques, conteneurs, VM et onduleur que vous choisissez. Les scènes peuvent réagir quand un disque tombe en erreur ou chauffe, quand un contrôle de parité se termine, quand un conteneur s'arrête ou quand Unraid publie une notification ; elles peuvent démarrer, arrêter ou redémarrer un conteneur ou une VM. Un widget résume le serveur sur le tableau de bord. Tout reste sur votre réseau local.
Testée sur un vrai serveur Unraid par l'auteur, en plus des tests automatiques contre un serveur simulé. Vos retours sont les bienvenus sur les issues.
Ce qu'il vous faut
- Gladys Assistant 5.1.0 ou plus récent.
- Unraid 7.2 ou plus récent : son API y est intégrée. Unraid 6.x n'a pas cette API et n'est pas pris en charge ; Unraid 7.0 et 7.1 peuvent fonctionner avec le plugin Unraid Connect, sans garantie (non testé).
- Le serveur Unraid joignable depuis la machine de Gladys (l'adresse de son interface web).
Lire le serveur ne réveille jamais un disque en veille : les températures viennent de ce qu'Unraid sait déjà, et un disque en veille n'en a simplement pas.
Mise en route
1. Créer une clé d'API
Dans l'interface web d'Unraid : Settings → Management Access → API Keys →
Create. Donnez-lui un nom (Gladys) et :
- le rôle Viewer, pour surveiller le serveur (lecture seule) ;
- pour démarrer, arrêter et redémarrer conteneurs et VM depuis Gladys, aussi les droits Docker et VMs avec l'action de mise à jour (update). Sans eux, Unraid refuse chaque commande et Gladys le dit.
Copiez la clé : Unraid ne l'affiche qu'une fois.
2. Configurer l'intégration
Dans Gladys, Intégrations → Unraid → Configuration :
- Adresse : l'adresse de l'interface web d'Unraid, comme dans votre
navigateur (
192.168.1.10,tower.local,https://192.168.1.10). L'intégration suit les redirections « Use SSL/TLS » d'Unraid : vers le HTTPS à la même adresse, ou vers votre adressemyunraid.net. - Clé d'API : la clé créée plus haut.
- Nom (facultatif) : le nom du serveur dans Gladys ; vide, le nom du serveur Unraid.
- Accepter les certificats auto-signés : à cocher quand « Use SSL/TLS » vaut « Yes » dans Unraid (son certificat est auto-signé).
- Intervalle de rafraîchissement : de 15 secondes à 5 minutes (1 minute par défaut).
- Langue des noms et des textes : les noms donnés aux fonctionnalités, les textes d'état et les textes des événements de scène (français par défaut).
Enregistrez, puis Tester la connexion : le serveur est lu et l'intégration indique ce qu'elle trouve (version d'Unraid, disques, conteneurs, VM, onduleur).
3. Ajouter les appareils
Ouvrez l'onglet Découverte de l'intégration : le serveur, ses disques, ses conteneurs, ses VM et son onduleur y sont listés. Ajoutez ceux que vous voulez suivre ; les autres restent hors de Gladys (les déclencheurs de scène les surveillent quand même).
Les appareils
Le serveur
| Fonctionnalité | Valeur |
|---|---|
| En ligne | 1 tant qu'Unraid répond, 0 après deux lectures en échec |
| Processeur | utilisation du processeur, % |
| Mémoire | mémoire utilisée (hors cache), % |
| Température du processeur | le processeur le plus chaud, °C |
| Durée de fonctionnement | jours depuis le dernier démarrage |
| Matrice démarrée | 1 démarrée, 0 arrêtée |
| État de la matrice | texte : « Démarrée », « Arrêtée », « Démarrée · contrôle de parité 45 % »… |
| Espace utilisé de la matrice | % |
| Espace libre de la matrice | téraoctets |
| Progression du contrôle de parité | % pendant un contrôle, une reconstruction ou un effacement, 0 sinon |
| Erreurs de parité | erreurs du contrôle en cours ou du dernier |
| Disques à surveiller | disques qui ne sont pas « normaux », ou avec des erreurs de lecture |
| Alertes non lues | notifications Unraid non lues de niveau alerte ou avertissement |
| Mises à jour de conteneurs | conteneurs dont une image plus récente existe |
| Version d'Unraid | texte |
Une fonctionnalité que le serveur ne peut pas donner (API plus ancienne, pas de sonde de processeur) n'est pas créée.
Disques
Un appareil par emplacement de la matrice : parité, disques de données, disques
des pools (cache). L'appareil suit l'emplacement (Disk 3), comme Unraid : un
disque remplacé garde son appareil et son historique.
| Fonctionnalité | Valeur |
|---|---|
| Température | °C, quand le disque tourne ; rien pendant sa veille |
| En veille | 1 en veille, 0 en rotation (disques durs seulement) |
| Espace utilisé | % (pas sur les disques de parité) |
| Espace libre | gigaoctets (pas sur les disques de parité) |
| Erreurs | erreurs de lecture comptées par Unraid depuis le dernier démarrage |
| État | texte : « Normal », « Désactivé », « Manquant », « Émulé », « Mauvais disque »… |
Conteneurs
Un appareil par conteneur Docker, au nom du conteneur (son identité : une mise à jour recrée le conteneur et garde l'appareil).
| Fonctionnalité | Valeur |
|---|---|
| En marche | interrupteur : allumé démarre le conteneur, éteint l'arrête |
| Mise à jour disponible | 1 quand une image plus récente existe (vérification d'Unraid) |
Les conteneurs de Gladys elle-même (Gladys et ses intégrations) sont en lecture seule : Gladys ne s'arrête jamais elle-même d'ici. Le processeur et la mémoire par conteneur ne sont pas donnés par l'API sans connexion permanente : non pris en charge.
Machines virtuelles
| Fonctionnalité | Valeur |
|---|---|
| En marche | interrupteur : allumé démarre la VM, éteint l'arrête proprement (bouton d'alimentation) |
| État | texte : « En marche », « Arrêtée », « En pause », « En cours d'arrêt », « Plantée »… |
Éteindre une VM demande à son système de s'arrêter, comme le bouton d'alimentation : jamais un arrêt forcé. Une VM qui l'ignore continue de tourner.
Onduleur
Quand Unraid gère un onduleur (Settings → UPS Settings) :
| Fonctionnalité | Valeur |
|---|---|
| Batterie | charge, % |
| Autonomie restante | minutes sur batterie |
| Charge | % |
| Sur batterie | 1 sur batterie, 0 sur secteur |
| Puissance | watts consommés, quand l'onduleur le donne |
| Tension d'entrée | volts |
| État | texte donné par l'onduleur (« ONLINE »…) |
Tableau de bord
Le widget Unraid montre le serveur d'un coup d'œil : processeur, mémoire et espace utilisé de la matrice, puis une liste avec d'abord ce qui demande votre attention (un disque en difficulté, un disque qu'Unraid juge plein, un disque chaud, un conteneur à démarrage automatique qui ne tourne pas, l'onduleur sur batterie, des alertes non lues), puis la matrice, le dernier contrôle de parité, les disques, les conteneurs, les VM, l'onduleur et les mises à jour de conteneurs.
Dans ses réglages, choisissez un conteneur ou une VM pour avoir ses boutons : Démarrer, Arrêter et Redémarrer (conteneurs seulement) ; Arrêter et Redémarrer demandent confirmation. Sans choix, un bouton Actualiser relit le serveur.
Scènes
Déclencheurs
- Disque Unraid en erreur : un disque de la matrice devient désactivé, manquant ou émulé, ou ses erreurs de lecture augmentent. Filtre : un disque (vide : n'importe lequel). Informations transmises : nom du serveur, nom du disque, état du disque, erreurs de lecture.
- Disque Unraid trop chaud : un disque atteint la température choisie (40 à 70 °C), sur deux lectures de suite ; annoncé de nouveau une fois redescendu 3 °C en dessous, et pas deux fois en 30 minutes. Un disque en veille n'est jamais réveillé pour la lire. Informations transmises : nom du serveur, nom du disque, température, seuil.
- Contrôle de parité Unraid terminé : un contrôle de parité, une reconstruction ou un effacement de disque est terminé. Filtre : le résultat (sans erreur, avec erreurs, arrêté avant la fin). Informations transmises : nom du serveur, résultat, erreurs trouvées, durée en minutes, opération. Un contrôle qui se termine pendant que Gladys est arrêtée est annoncé à la lecture suivante.
- Conteneur Unraid arrêté : un conteneur qui tournait s'est arrêté ou a été supprimé, sur deux lectures de suite et depuis une minute au moins (une mise à jour le recrée en quelques secondes), et pas par Gladys. Filtre : un conteneur (vide : n'importe lequel). Informations transmises : nom du serveur, nom du conteneur, état.
- Notification Unraid : Unraid a publié une nouvelle notification (avertissements SMART, températures, événements de la matrice, mises à jour, disque presque plein…). Filtre : l'importance (alerte, avertissement, information ; vide : toutes). Informations transmises : nom du serveur, importance, titre, sujet, description. Les notifications présentes au démarrage de l'intégration ne sont pas annoncées.
Les états et températures des disques sont aussi des fonctionnalités : pour un seuil à vous, utilisez une condition sur la fonctionnalité.
Actions
- Piloter un conteneur Unraid : démarre, arrête ou redémarre un conteneur. Sortie : le nom du conteneur.
- Piloter une VM Unraid : démarre une VM, ou l'éteint proprement. Sortie : le nom de la VM.
- État du serveur Unraid : lit le serveur pour les actions suivantes. Sorties : répond (oui/non), un résumé prêt à envoyer (« Matrice : Démarrée. 6 disque(s) OK. 12/14 conteneur(s) en marche. »), état de la matrice, disques à surveiller, processeur, mémoire, conteneurs en marche, alertes non lues.
Rien n'arrête la matrice ni le serveur depuis Gladys : trop risqué pour une scène ou une commande vocale. Passez par l'interface d'Unraid pour cela.
Idées de scènes
- Contrôle de parité terminé avec erreurs → envoyez-vous un message : « Contrôle de parité : {erreurs} erreurs en {durée} minutes ».
- Notification Unraid, importance alerte → une notification sur votre téléphone avec son sujet.
- Chaque nuit à 4 h → Piloter un conteneur Unraid : redémarrer le conteneur qui en a besoin (un serveur multimédia figé, un VPN).
- Disque Unraid trop chaud, 50 °C → allumer le ventilateur du placard.
- Chaque matin → État du serveur Unraid, puis envoyer son résumé.
Dépannage
- « Clé d'API refusée » : la clé a été supprimée ou mal copiée. Créez-en une nouvelle dans Settings → Management Access → API Keys.
- « Aucune API Unraid à cette adresse » : Unraid antérieur à 7.2 (sans le plugin Unraid Connect), ou l'adresse d'un autre service.
- « L'API d'Unraid ne répond pas » : l'interface web répond, pas l'API
derrière elle : Unraid démarre, ou l'API s'est arrêtée (
unraid-api restartdans un terminal). - « Certificat refusé » : « Use SSL/TLS » vaut « Yes » : cochez « Accepter les certificats auto-signés ».
- « Votre DNS bloque myunraid.net » : avec « Use SSL/TLS » sur « Strict »,
Unraid redirige vers une adresse
myunraid.netque beaucoup de box bloquent (protection contre le DNS rebinding). Saisissezhttps://et l'IP du serveur, et cochez « Accepter les certificats auto-signés » ; ou autorisezmyunraid.netdans votre box. - Une commande est refusée : donnez à la clé d'API les droits Docker et VMs.
- Pas de température pour un disque : il est en veille ; la température revient quand il tourne.
- Un appareil affiche « Mettre à jour » dans Découverte : une fonctionnalité est apparue (un premier contrôle de parité, un champ ajouté à l'API). Mettez-le à jour pour l'avoir.
Limites
- Un seul serveur Unraid par installation.
- Lecture toutes les 15 secondes à 5 minutes : un changement apparaît à la lecture suivante.
- Pas de processeur ni de mémoire par conteneur (l'API ne les donne que par une connexion permanente), pas de trafic réseau, pas de partages.
- Les mises à jour d'Unraid lui-même ne sont pas données par l'API : seules celles des conteneurs le sont.
- L'intégration ne garde dans
/dataque ce que comparent les déclencheurs de scène (états des disques, conteneurs vus en marche, opération de parité en cours, notifications déjà annoncées) et les fonctionnalités de chaque appareil ; la clé d'API reste dans la configuration de Gladys et n'est jamais écrite dans les logs. - Sans lien avec Lime Technology, Inc. Unraid est une marque de Lime Technology, Inc.
Paramètres de configuration
Voici les paramètres demandés par Unraid dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Votre serveur Unraid | section | Non | Unraid 7.2 ou plus récent (son API est intégrée). Dans Unraid, créez une clé d'API : Settings, Management Access, API Keys, rôle Viewer. Pour démarrer et arrêter conteneurs et VM depuis Gladys, donnez-lui aussi les droits Docker et VMs. |
| Adresse | string | Oui | Adresse IP ou nom du serveur Unraid, comme dans votre navigateur : avec https:// pour le HTTPS et :port s'il n'est pas standard. |
| Clé d'API | secret | Oui | Créée dans Unraid : Settings, Management Access, API Keys. |
| Nom | string | Non | Nom du serveur dans Gladys. Vide : le nom du serveur Unraid. |
| Options | section | Non | |
| Accepter les certificats auto-signés | boolean | Non | Quand « Use SSL/TLS » d'Unraid vaut « Yes » : son certificat est auto-signé. À cocher pour votre propre serveur seulement. |
| Intervalle de rafraîchissement | select | Non | Fréquence de lecture du serveur Unraid. La lecture ne réveille jamais un disque en veille. |
| Langue des noms et des textes | select | Non | Noms donnés aux fonctionnalités à l'ajout d'un appareil, textes d'état, et textes des événements de scène. |
Comment installer Unraid dans Gladys
- Dans Gladys, ouvrez Intégrations : Unraid apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
- Cliquez sur Installer. Gladys télécharge l'image Docker (
ghcr.io/guim31/gladys-unraid:1.0.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration). - Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
- Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-unraid.
Unraid nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.
Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.
À propos des intégrations externes
Unraid est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par guim31, et non par l'équipe cœur de Gladys.
- Parcourir toutes les intégrations externes
- Découvrir les intégrations natives intégrées à Gladys
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation