Intégration domotique Nextcloud, gratuite et open source

Surveillez votre Nextcloud : mises à jour, utilisateurs actifs, espace libre, fichiers, charge.
Nextcloud est le cloud auto-hébergé de nombreux
foyers : fichiers, photos, agendas et contacts sur votre propre serveur. Cette
intégration surveille votre Nextcloud depuis Gladys, en lecture seule, par
son API de supervision (l'application « Monitoring », serverinfo, livrée et
activée avec Nextcloud) : est-il en ligne, une mise à jour attend-elle, combien
d'espace reste-t-il, qui l'utilise. Les scènes peuvent réagir à la sortie d'une
nouvelle version de Nextcloud ou de ses applications. Un widget du tableau de
bord résume le tout. Tout reste sur votre réseau local.
Testée contre un vrai Nextcloud 32 (32.0.9, SQLite) par les tests automatiques et pendant le développement ; pas encore sur une vraie installation de Gladys. Vos retours sont les bienvenus dans les issues.
Ce qu'il vous faut
- Gladys Assistant 5.1.0 ou plus récent.
- Nextcloud avec l'application Monitoring (
serverinfo) activée : elle l'est par défaut. Toute version encore maintenue convient ; la charge du système demande Nextcloud 28 ou plus récent. - Nextcloud joignable depuis la machine de Gladys (l'adresse que vous tapez dans votre navigateur à la maison).
- L'un des deux accès ci-dessous. Jamais votre mot de passe principal.
Mise en route
1. Donner accès à Gladys
Choisissez l'un des deux :
-
Un jeton serverinfo (recommandé) : un secret de votre choix qui n'ouvre que l'API de supervision, et aucun compte. Générez un long texte aléatoire (un gestionnaire de mots de passe le fait), puis posez-le sur le serveur avec
occ, la ligne de commande de Nextcloud (la commande est aussi rappelée en bas de Paramètres d'administration → Système) :occ config:app:set serverinfo token --value <votre-jeton>Avec Docker :
docker exec -u www-data <conteneur> php occ config:app:set serverinfo token --value <votre-jeton>. Sur Nextcloud AIO :docker exec --user www-data -it nextcloud-aio-nextcloud php occ config:app:set serverinfo token --value <votre-jeton>. -
Un compte administrateur et un mot de passe d'application : l'API de supervision est réservée aux membres du groupe
admin. Connectez-vous en administrateur, ouvrez Paramètres personnels → Sécurité → Appareils et sessions, tapezGladyscomme nom d'application et cliquez sur Créer un nouveau mot de passe d'application. Copiez-le : Nextcloud ne l'affiche qu'une fois. Il se révoque au même endroit à tout moment, sans toucher à votre mot de passe.
2. Configurer l'intégration
Dans Gladys, Intégrations → Nextcloud → Configuration :
- Adresse : l'adresse de votre Nextcloud, comme dans votre navigateur,
avec son chemin s'il en a un :
https://cloud.example.com,http://192.168.1.20:8080,https://example.org/nextcloud. Un lien copié commehttps://cloud.example.com/index.php/apps/files/est compris aussi. Une redirection de HTTP vers HTTPS sur la même adresse est suivie ; une redirection vers une autre adresse ne l'est jamais (vos identifiants y partiraient). - Jeton serverinfo : le jeton posé plus haut, ou bien :
- Compte administrateur et Mot de passe d'application : l'identifiant d'un administrateur et le mot de passe d'application créé plus haut. Si le jeton et le compte sont remplis tous les deux, c'est le jeton qui sert.
- Nom (facultatif) : le nom de l'appareil dans Gladys ; vide,
Nextcloud. - Accepter les certificats auto-signés : à cocher pour une adresse HTTPS dont le certificat n'est pas signé par une autorité (un NAS, un nom local). Pour votre propre serveur seulement.
- Intervalle de rafraîchissement : de 1 minute (par défaut) à 15 minutes.
- Langue des noms et des textes : les noms donnés aux fonctionnalités à l'ajout de l'appareil, et les textes de l'appareil (français par défaut).
Enregistrez, puis Tester la connexion : Nextcloud est lu et le résultat s'affiche (version, mise à jour, utilisateurs, fichiers, espace libre, et la façon dont il a été lu).
3. Ajouter l'appareil
Ouvrez l'onglet Découverte de l'intégration et cliquez sur Ajouter à Gladys sur l'appareil Nextcloud.
L'appareil
Un appareil par Nextcloud, toutes ses fonctionnalités en lecture seule :
- En ligne : Nextcloud répond (0 après deux lectures ratées de suite, ou en mode maintenance).
- Version de Nextcloud : la version installée (
32.0.9). - Mise à jour de Nextcloud disponible : 1 quand Nextcloud a trouvé une nouvelle version de lui-même (sa propre vérification quotidienne, celle des pages d'administration).
- Mises à jour d'applications : le nombre d'applications installées qui ont une mise à jour dans le magasin d'applications.
- Utilisateurs actifs (5 min), Utilisateurs actifs (1 heure), Utilisateurs actifs (24 heures) : les utilisateurs qui se sont connectés ou ont utilisé Nextcloud dans ce laps de temps.
- Utilisateurs : les comptes qui se sont connectés au moins une fois.
- Fichiers : le nombre de fichiers (un compte que Nextcloud rafraîchit toutes les 3 heures).
- Partages : le nombre de partages (liens publics, utilisateurs, groupes, e-mail…).
- Espace libre : l'espace libre du dossier de données, en Go.
- Taille de la base de données : en Mo.
- Charge du système : la charge moyenne de la dernière minute, par fil d'exécution du processeur : 100 % quand tous les fils sont occupés (affiché 100 % au-delà).
- Mémoire utilisée : la mémoire du serveur en usage, en %.
- Version de PHP : la version de PHP qui fait tourner Nextcloud.
- Cache mémoire : les caches mémoire que Nextcloud utilise (
APCu,Redis…), ouAucun: les vérifications de Nextcloud en recommandent un.
Une fonctionnalité apparaît dès que Nextcloud lui a donné une valeur : sur un système qui ne la donne pas (pas de nombre de fils, espace libre inconnu), elle est simplement absente.
Tableau de bord
Le widget Nextcloud montre d'un coup d'œil : l'espace libre, les utilisateurs actifs des 5 dernières minutes, le nombre de mises à jour en attente (Nextcloud et ses applications, en orange s'il y en a). Puis une liste, ce qui demande votre attention en premier : la nouvelle version de Nextcloud, les applications à mettre à jour, une charge du système ou une mémoire au-delà de 80 %, un cache mémoire absent ; puis les utilisateurs actifs sur 1 heure et 24 heures, les utilisateurs, fichiers, partages, la base de données, la version de PHP.
Boutons : Actualiser relit Nextcloud ; Ouvrir Nextcloud ouvre sa vue d'ensemble d'administration, quand l'adresse est en HTTPS (le tableau de bord n'ouvre que des liens sécurisés).
Scènes
Déclencheurs
- Mise à jour de Nextcloud disponible : Nextcloud a trouvé une nouvelle
version de lui-même. Une fois par version : une vérification qui hésite ou un
redémarrage ne l'annoncent pas à nouveau. Informations transmises :
server_name(le nom de l'appareil),installed_version,new_version. - Mises à jour d'applications Nextcloud disponibles : de nouvelles mises à
jour sont apparues pour des applications installées, un événement pour toutes
celles trouvées à la même lecture, une fois par version d'application.
Informations transmises :
server_name,apps(les nouvelles avec leur version :calendar 5.5.4, deck 1.15.0),count(combien de nouvelles),total(applications en attente de mise à jour).
Ce qui attend déjà quand l'intégration démarre pour la première fois est enregistré, pas annoncé : les fonctionnalités et le widget le montrent.
Pour l'espace libre, les utilisateurs ou la charge, pas besoin de déclencheur : utilisez les fonctionnalités dans une condition de scène (« Espace libre sous 20 Go », « En ligne passe à 0 »).
Idées de scènes
- Mise à jour de Nextcloud disponible → envoyez-vous un message avec les
variables
new_versionetinstalled_version: « Nextcloud 32.0.10 est disponible (installé : 32.0.9) ». - Mises à jour d'applications Nextcloud disponibles → une notification
avec
appssur votre téléphone, au plus une fois par semaine avec une condition sur l'heure. - Espace libre sous 20 Go → un message, avant que les sauvegardes de photos des téléphones n'échouent.
- En ligne passe à 0 la nuit → rallumez la prise connectée du NAS, ou envoyez un message.
Dépannage
- « Jeton, identifiant ou mot de passe d'application refusé » : le jeton
n'est pas celui posé avec
occ, ou le mot de passe d'application a été révoqué ou mal recopié. La protection contre la force brute de Nextcloud ralentit les requêtes d'une adresse qui échoue : après un refus, Gladys réessaie au bout de 30 minutes seulement, ou tout de suite quand vous enregistrez la configuration ou cliquez sur Tester la connexion. - « Ce compte n'est pas administrateur » : le compte est valide mais pas
dans le groupe
admin. Utilisez un administrateur, ou le jeton serverinfo. - « Trop de tentatives échouées » : la protection contre la force brute
bloque l'adresse de Gladys. Corrigez les identifiants, patientez, ou
réinitialisez-la sur le serveur :
occ security:bruteforce:reset <adresse de Gladys>. Si Gladys passe par un proxy inverse pour joindre Nextcloud, régleztrusted_proxiesdans Nextcloud, sinon toute la maison partage une même adresse bloquée. - « L'application Monitoring (serverinfo) est désactivée » : activez-la
dans Applications → Applications désactivées, ou
occ app:enable serverinfo. - « En mode maintenance » : une mise à jour ou
occ maintenance:mode --onest en cours. En ligne vaut 0 jusqu'à la fin. - « Pas de Nextcloud à cette adresse » : l'adresse ou son chemin est faux
(un Nextcloud servi sous
/nextclouddoit l'avoir dans l'adresse). - « Redirige vers une autre adresse » : saisissez l'adresse finale affichée par votre navigateur.
- « Certificat refusé » : cochez Accepter les certificats auto-signés.
- L'appareil affiche « Mettre à jour » dans Découverte : une fonctionnalité est apparue (la première mise à jour d'application, l'espace libre désormais connu). Mettez-le à jour pour l'obtenir.
- Plus de détails dans les journaux de l'intégration, avec
LOG_LEVEL=debug.
Limites
- Un seul Nextcloud par installation.
- Lecture seule : ni mode maintenance, ni mise à jour, ni opération sur les fichiers depuis Gladys.
- Lu toutes les 1 à 15 minutes : un changement apparaît à la lecture suivante. Chaque lecture est une requête légère ; il n'y a pas de quota. Les mises à jour d'applications viennent de la liste du magasin que Nextcloud garde une heure : elles n'ajoutent pas de requête au magasin à chaque lecture.
- Le nombre de fichiers est rafraîchi par Nextcloud toutes les 3 heures.
- Ni températures des disques, ni trafic réseau, ni quotas par utilisateur : l'API de supervision ne les donne pas.
- L'intégration ne garde dans
/dataque l'adresse, les fonctionnalités vues et les versions déjà annoncées ; le jeton et le mot de passe d'application restent dans la configuration de Gladys et n'apparaissent jamais dans les journaux.
Nextcloud est une marque de Nextcloud GmbH. Cette intégration n'est ni affiliée à Nextcloud GmbH, ni approuvée ou soutenue par elle.
Paramètres de configuration
Voici les paramètres demandés par Nextcloud dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Votre Nextcloud | section | Non | Gladys lit l'API de supervision de Nextcloud (l'application « Monitoring », serverinfo, activée par défaut), en lecture seule. Il lui faut le jeton serverinfo, ou un compte administrateur avec un mot de passe d'application : jamais votre mot de passe principal. |
| Adresse | string | Oui | Adresse de votre Nextcloud, comme dans votre navigateur, avec son chemin s'il en a un (https://example.org/nextcloud). |
| Accès | section | Non | Soit un jeton serverinfo de votre choix, posé avec occ (commande en bas de Paramètres d'administration, Système), soit un compte administrateur et un mot de passe d'application (Paramètres personnels, Sécurité). Le jeton l'emporte si les deux sont remplis. |
| Jeton serverinfo | secret | Non | Recommandé : il n'ouvre que l'API de supervision, et aucun compte. |
| Compte administrateur | string | Non | Identifiant d'un compte du groupe admin, à défaut de jeton. |
| Mot de passe d'application | secret | Non | Créé pour Gladys dans Paramètres personnels, Sécurité. Jamais votre mot de passe principal. |
| Nom | string | Non | Nom de l'appareil dans Gladys. Vide : Nextcloud. |
| Options | section | Non | |
| Accepter les certificats auto-signés | boolean | Non | Pour une adresse HTTPS dont le certificat n'est pas signé par une autorité (un NAS, un nom local). À cocher pour votre propre serveur seulement. |
| Intervalle de rafraîchissement | select | Non | Fréquence de lecture de Nextcloud : une requête légère à chaque fois. |
| Langue des noms et des textes | select | Non | Noms donnés aux fonctionnalités à l'ajout de l'appareil, et textes de l'appareil. |
Comment installer Nextcloud dans Gladys
- Dans Gladys, ouvrez Intégrations : Nextcloud 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-nextcloud: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-nextcloud.
Nextcloud 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
Nextcloud 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, natives et communautaires
- Créer et publier votre propre intégration externe
- Code source sur GitHub — source de cette documentation