Intégration domotique Seafile, gratuite et open source

Surveillez votre serveur Seafile : stockage, quota, bibliothèques et disponibilité.
Cette intégration relie Gladys à votre serveur Seafile (édition Community ou Professional) : l'espace utilisé par votre compte, son quota, ses bibliothèques, les statistiques du serveur entier quand le compte est administrateur système, et la disponibilité du serveur.
Elle ne fait que lire : rien n'est jamais écrit, déplacé ou supprimé sur votre serveur.
Avant de commencer
Gladys 5.3 ou plus récent est nécessaire.
Gladys doit pouvoir joindre votre serveur Seafile sur le réseau, à l'adresse où vous l'ouvrez dans
un navigateur (par exemple https://seafile.example.com ou http://192.168.1.20:8000).
L'intégration se connecte avec un compte Seafile. Un compte normal suffit ; un compte administrateur système apporte aussi les statistiques du serveur entier (utilisateurs, fichiers, stockage).
La méthode recommandée : un jeton d'API
- Ouvrez Seafile dans un navigateur et connectez-vous avec le compte que Gladys doit utiliser.
- Cliquez sur votre avatar (en haut à droite), puis Paramètres.
- Dans Web API Auth Token, cliquez sur Générer et copiez le jeton.
- Collez-le dans le champ Jeton d'API de l'intégration.
Un jeton d'API fonctionne aussi quand le compte utilise la double authentification. Pour couper l'accès de Gladys, supprimez le jeton au même endroit.
L'autre méthode : un identifiant et un mot de passe
Laissez le jeton d'API vide et renseignez Identifiant (l'e-mail ou l'identifiant de connexion du compte) et Mot de passe. L'intégration les échange contre un jeton, qui apparaît dans Seafile sous Paramètres → Appareils liés comme Gladys Assistant : supprimez-le là pour couper l'accès de Gladys. Le jeton est gardé en mémoire uniquement, et une nouvelle connexion réutilise le même appareil lié.
Cela ne fonctionne pas avec la double authentification : utilisez un jeton d'API pour un tel compte.
Configuration
| Champ | Quoi y mettre |
|---|---|
| Adresse du serveur | L'adresse à laquelle vous ouvrez Seafile. Sans http:// ni https://, https est supposé. |
| Jeton d'API | Recommandé, voir ci-dessus. Il prime sur l'identifiant et le mot de passe. |
| Identifiant / Mot de passe | Uniquement sans jeton d'API. |
| Accepter un certificat auto-signé | Uniquement si votre serveur utilise https avec un certificat qu'il a signé lui-même. |
| Intervalle de rafraîchissement (s) | Fréquence de lecture du serveur, de 60 à 3600 secondes (300 par défaut). |
| Seuil d'alerte du quota (%) | Le niveau qui déclenche le déclencheur de scène Seuil de quota dépassé (90 par défaut). |
| Bibliothèques comme appareils | Publie aussi un appareil par bibliothèque appartenant au compte. |
| Noms des bibliothèques | Seules ces bibliothèques deviennent des appareils, séparées par des virgules (sans tenir compte de la casse). Vide : toutes. |
Cliquez ensuite sur Tester la connexion : la réponse donne la version de Seafile, le compte, l'espace utilisé et le nombre de bibliothèques. Lister les bibliothèques affiche les noms à copier dans Noms des bibliothèques.
Appareils
Ouvrez Intégrations → Seafile → Appareils, puis créez les appareils que vous voulez garder.
Serveur Seafile
| Fonctionnalité | Valeur |
|---|---|
| Online | 1 quand le serveur a répondu à la dernière lecture, 0 sinon |
| Seafile version | par exemple 13.0.5 |
| Storage used | espace utilisé par le compte, en Go |
| Quota | quota du compte, en Go — seulement si le compte a un quota |
| Quota used | en %, seulement si le compte a un quota |
| Libraries | bibliothèques visibles du compte (les siennes, partagées, de ses groupes) |
| Users | administrateur système uniquement : comptes du serveur |
| Active users | administrateur système uniquement |
| Files on the server | administrateur système uniquement |
| Storage of the server | administrateur système uniquement, en Go |
| Connected clients | administrateur système uniquement : clients bureau et mobiles connectés |
Les fonctionnalités de quota et d'administration apparaissent la première fois que le serveur les donne : l'appareil est alors republié avec ces fonctionnalités, et vous pouvez le mettre à jour dans Gladys.
Bibliothèques Seafile
Avec Bibliothèques comme appareils activé, chaque bibliothèque appartenant au compte devient un appareil (pas celles partagées avec lui), ou seulement celles listées dans Noms des bibliothèques :
| Fonctionnalité | Valeur |
|---|---|
| Size | taille, en Go |
| Files | nombre de fichiers |
Renommer une bibliothèque dans Seafile garde son appareil : les appareils suivent l'identifiant de la bibliothèque, pas son nom.
Actions
- Tester la connexion — lit le serveur maintenant et dit ce qui a été trouvé.
- Lister les bibliothèques — les bibliothèques visibles du compte, les plus grosses d'abord, avec leur taille ; celles partagées sont signalées.
Scènes et tableau de bord (Gladys 5.1+)
Déclencheurs de scène
| Déclencheur | Quand | Variables |
|---|---|---|
| Le serveur Seafile est injoignable | il ne répond plus, ou refuse les identifiants — une fois par panne | nom du serveur, adresse du serveur, raison (code) |
| Le serveur Seafile est de nouveau joignable | il répond de nouveau après une panne | nom du serveur, adresse du serveur, minutes hors ligne |
| Seuil de quota dépassé | le compte dépasse le seuil d'alerte de son quota | nom du serveur, quota utilisé (%), seuil, utilisé (Go), quota (Go) |
| Une bibliothèque a changé | un fichier a été ajouté, modifié ou supprimé dans une bibliothèque visible | nom de la bibliothèque, modifiée par, taille (Go), modifiée le |
| La version de Seafile a changé | le serveur a été mis à jour (ou rétrogradé) | nom du serveur, version précédente, nouvelle version |
Chaque déclencheur peut être limité à un appareil : le serveur, ou — pour Une bibliothèque a changé — un appareil bibliothèque.
Bon à savoir :
- La première lecture après le démarrage de Gladys ou de l'intégration sert seulement de référence : elle ne déclenche rien, un redémarrage n'annonce donc jamais de nouveau un quota plein ou toutes les bibliothèques.
- Un serveur déjà en panne au démarrage de l'intégration ne déclenche pas injoignable (il n'a jamais été vu en marche).
- Une lecture ratée est retentée une fois cinq secondes plus tard avant de compter comme une panne.
- L'alerte de quota se déclenche une fois à la montée, et de nouveau seulement après que l'utilisation est repassée au moins deux points sous le seuil.
- Le code de raison de injoignable est l'un de
UNREACHABLE,TIMEOUT,TLS,AUTH,OTP_REQUIRED,PERMISSION,NOT_FOUND,HTTP,BAD_RESPONSE. - Une bibliothèque a changé est détecté entre deux lectures : avec un intervalle de 5 minutes, plusieurs changements dans les mêmes cinq minutes donnent un seul événement.
Actions de scène
- Lire le serveur Seafile maintenant — rafraîchit tous les appareils maintenant. Sorties : serveur en ligne (oui/non), version, utilisé (Go), quota utilisé (%, −1 sans quota), bibliothèques.
- Lire une bibliothèque Seafile — choisissez un appareil bibliothèque ; sorties : bibliothèque trouvée (oui/non), nom, taille (Go), fichiers, dernière modification.
Un serveur qui ne répond pas est une sortie (online = non), pas une action en échec : testez-le
dans une condition après l'action.
Le widget « Seafile »
Ajoutez le widget Seafile à un tableau de bord. Il affiche la jauge du quota (si le compte a un quota), l'espace utilisé, le nombre de bibliothèques, les utilisateurs (administrateur système), les plus grosses bibliothèques, l'état du serveur, sa version et le compte, et un bouton Lire maintenant. Son réglage Bibliothèques affichées (0 à 8, 5 par défaut) fixe la longueur de la liste.
Bon à savoir
- Les tailles sont en gigaoctets décimaux (1 Go = 1 000 000 000 octets), comme Seafile les affiche.
- Le serveur est identifié par son hôte (et son port, et son chemin) : passer de
http://àhttps://garde les appareils, un nouveau nom d'hôte en crée de nouveaux. - Rien n'est stocké sur disque : le jeton obtenu à partir d'un mot de passe vit en mémoire.
Dépannage
| Message | Que faire |
|---|---|
| Impossible de joindre … | Vérifiez l'adresse, le port, et que Gladys peut joindre le serveur (même réseau, pare-feu). |
| … n'a pas répondu à temps | Le serveur est surchargé ou arrêté ; vérifiez-le dans un navigateur. |
| Le certificat de … a été refusé | Un certificat auto-signé : activez Accepter un certificat auto-signé. |
| Le serveur a refusé les identifiants | Générez un nouveau jeton d'API, ou vérifiez l'identifiant et le mot de passe. |
| Ce compte utilise la double authentification | Utilisez un jeton d'API plutôt que le mot de passe. |
| … a répondu, mais pas comme un serveur Seafile | L'adresse pointe vers un autre site (page d'un reverse proxy, portail de connexion) : corrigez l'adresse. |
| Pas de statistiques serveur avec un compte admin | Le compte doit être administrateur système, avec le droit de voir les infos système (rôles Seafile Pro). |
Paramètres de configuration
Voici les paramètres demandés par Seafile dans son écran de configuration dans Gladys.
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| Pour commencer | section | Non | L'intégration lit votre serveur Seafile sur votre réseau : le stockage et le quota d'un compte, ses bibliothèques, et les statistiques du serveur si le compte est administrateur système. Indiquez l'adresse du serveur et un jeton d'API (Seafile : Paramètres → Web API Auth Token), ou un identifiant et un mot de passe. Rien n'est écrit sur le serveur. |
| Adresse du serveur | string | Oui | L'adresse à laquelle vous ouvrez Seafile dans un navigateur, par exemple https://seafile.example.com ou http://192.168.1.20:8000. Sans http(s)://, https est supposé. |
| Jeton d'API | secret | Non | Recommandé. Dans Seafile : votre avatar → Paramètres → Web API Auth Token → Générer. Il prime sur l'identifiant et le mot de passe, et fonctionne avec la double authentification. |
| Identifiant | string | Non | Uniquement sans jeton d'API : l'e-mail (ou l'identifiant de connexion) du compte. |
| Mot de passe | secret | Non | Uniquement sans jeton d'API. Échangé contre un jeton qui apparaît dans Seafile comme l'appareil lié « Gladys Assistant », où vous pouvez le révoquer. |
| Accepter un certificat auto-signé | boolean | Non | À activer uniquement si votre serveur utilise https avec un certificat qu'il a signé lui-même. |
| Intervalle de rafraîchissement (s) | number | Non | Fréquence de lecture du serveur, en secondes. |
| Seuil d'alerte du quota (%) | number | Non | Le déclencheur de scène « Seuil de quota dépassé » se déclenche quand le compte dépasse cette part de son quota. |
| Bibliothèques comme appareils | boolean | Non | Publie aussi un appareil par bibliothèque appartenant au compte, avec sa taille et son nombre de fichiers. |
| Noms des bibliothèques | string | Non | Seules ces bibliothèques deviennent des appareils, séparées par des virgules. Vide : toutes. « Lister les bibliothèques » affiche leurs noms. |
Comment installer Seafile dans Gladys
- Dans Gladys, ouvrez Intégrations : Seafile 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/prohand/gladys-seafile: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/prohand/gladys-seafile.
Seafile nécessite Gladys >=5.3.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
Seafile 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 prohand, 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