Zum Hauptinhalt springen

Seafile Smart-Home-Integration, kostenlos und Open Source

Seafile-Integration für Gladys Assistant

Überwache deinen Seafile-Server: Speicher, Kontingent, Bibliotheken, Erreichbarkeit.

Diese Integration verbindet Gladys mit deinem Seafile-Server (Community oder Professional Edition): wie viel Speicher dein Konto belegt, sein Kontingent, seine Bibliotheken, die Statistik des ganzen Servers, wenn das Konto Systemadministrator ist, und ob der Server überhaupt antwortet.

Sie liest nur: Auf deinem Server wird nie etwas geschrieben, verschoben oder gelöscht.

Bevor du beginnst​

Gladys 5.3 oder neuer ist erforderlich.

Gladys muss deinen Seafile-Server über das Netzwerk erreichen, unter der Adresse, unter der du ihn im Browser öffnest (zum Beispiel https://seafile.example.com oder http://192.168.1.20:8000).

Die Integration meldet sich mit einem Seafile-Konto an. Ein normales Konto genügt; ein Systemadministrator-Konto liefert zusätzlich die Statistik des ganzen Servers (Benutzer, Dateien, Speicher).

Der empfohlene Weg: ein API-Token​

  1. Öffne Seafile im Browser und melde dich mit dem Konto an, das Gladys verwenden soll.
  2. Klicke auf dein Avatar (oben rechts), dann auf Einstellungen.
  3. Klicke unter Web API Auth Token auf Generieren und kopiere das Token.
  4. Füge es in das Feld API-Token der Integration ein.

Ein API-Token funktioniert auch, wenn das Konto Zwei-Faktor-Authentifizierung nutzt. Um Gladys den Zugang zu entziehen, lösche das Token an derselben Stelle.

Der andere Weg: Benutzername und Passwort​

Lass das API-Token leer und fülle Benutzername (die E-Mail-Adresse oder Login-ID des Kontos) und Passwort aus. Die Integration tauscht sie gegen ein Token, das in Seafile unter Einstellungen → Verknüpfte Geräte als Gladys Assistant erscheint: Lösche es dort, um Gladys den Zugang zu entziehen. Das Token wird nur im Speicher gehalten, und eine neue Anmeldung verwendet dasselbe verknüpfte Gerät.

Mit Zwei-Faktor-Authentifizierung funktioniert das nicht: Verwende für ein solches Konto ein API-Token.

Konfiguration​

FeldWas hinein gehört
ServeradresseDie Adresse, unter der du Seafile öffnest. Ohne http:// oder https:// wird https angenommen.
API-TokenEmpfohlen, siehe oben. Es hat Vorrang vor Benutzername und Passwort.
Benutzername / PasswortNur ohne API-Token.
Selbstsigniertes Zertifikat akzeptierenNur wenn dein Server https mit einem selbst signierten Zertifikat nutzt.
Aktualisierungsintervall (s)Wie oft der Server gelesen wird, 60 bis 3600 Sekunden (Standard 300).
Warnschwelle Kontingent (%)Der Wert, der den Szenenauslöser Kontingentschwelle überschritten auslöst (Standard 90).
Bibliotheken als GeräteVeröffentlicht zusätzlich ein Gerät pro Bibliothek des Kontos.
Namen der BibliothekenNur diese Bibliotheken werden zu Geräten, durch Kommas getrennt (Groß-/Kleinschreibung egal). Leer: alle.

Klicke dann auf Verbindung testen: Die Antwort nennt die Seafile-Version, das Konto, den belegten Speicher und die Anzahl der Bibliotheken. Bibliotheken auflisten zeigt die Namen, die du in Namen der Bibliotheken kopieren kannst.

Geräte​

Öffne Integrationen → Seafile → Geräte und lege die Geräte an, die du behalten möchtest.

Seafile-Server​

FunktionWert
Online1, wenn der Server beim letzten Lesen geantwortet hat, sonst 0
Seafile versionz. B. 13.0.5
Storage usedvom Konto belegter Speicher, in GB
QuotaKontingent des Kontos, in GB — nur wenn das Konto eines hat
Quota usedin %, nur wenn das Konto ein Kontingent hat
LibrariesBibliotheken, die das Konto sieht (eigene, geteilte, die seiner Gruppen)
Usersnur Systemadministrator: Konten auf dem Server
Active usersnur Systemadministrator
Files on the servernur Systemadministrator
Storage of the servernur Systemadministrator, in GB
Connected clientsnur Systemadministrator: verbundene Desktop- und Mobil-Clients

Die Kontingent- und Admin-Funktionen erscheinen, sobald der Server sie zum ersten Mal liefert: Das Gerät wird dann mit den neuen Funktionen erneut veröffentlicht, und du kannst es in Gladys aktualisieren.

Seafile-Bibliotheken​

Mit eingeschaltetem Bibliotheken als Geräte wird jede Bibliothek, die dem Konto gehört, zu einem Gerät (die mit ihm geteilten nicht), oder nur die in Namen der Bibliotheken genannten:

FunktionWert
SizeGröße, in GB
FilesAnzahl der Dateien

Eine in Seafile umbenannte Bibliothek behält ihr Gerät: Die Geräte folgen der ID der Bibliothek, nicht ihrem Namen.

Aktionen​

  • Verbindung testen — liest den Server sofort und sagt, was gefunden wurde.
  • Bibliotheken auflisten — die Bibliotheken, die das Konto sieht, die größten zuerst, mit ihrer Größe; geteilte sind markiert.

Szenen und Dashboard (Gladys 5.1+)​

Szenenauslöser​

AuslöserWannVariablen
Der Seafile-Server ist nicht erreichbarer antwortet nicht mehr oder lehnt die Zugangsdaten ab — einmal pro AusfallServername, Serveradresse, Grund (Code)
Der Seafile-Server ist wieder erreichbarer antwortet nach einem Ausfall wiederServername, Serveradresse, Minuten offline
Kontingentschwelle überschrittendas Konto überschreitet die Warnschwelle seines KontingentsServername, Kontingent belegt (%), Schwelle, belegt (GB), Kontingent (GB)
Eine Bibliothek hat sich geändertin einer sichtbaren Bibliothek wurde eine Datei hinzugefügt, geändert, entferntName der Bibliothek, geändert von, Größe (GB), geändert am
Die Seafile-Version hat sich geändertder Server wurde aktualisiert (oder zurückgestuft)Servername, vorherige Version, neue Version

Jeder Auslöser lässt sich auf ein Gerät beschränken: den Server, oder — bei Eine Bibliothek hat sich geändert — ein Bibliotheksgerät.

Gut zu wissen:

  • Das erste Lesen nach dem Start von Gladys oder der Integration dient nur als Referenz: Es löst nichts aus, ein Neustart meldet also nie erneut ein volles Kontingent oder alle Bibliotheken.
  • Ein Server, der beim Start der Integration schon ausgefallen ist, löst nicht erreichbar nicht aus (er wurde nie laufend gesehen).
  • Ein fehlgeschlagenes Lesen wird fünf Sekunden später einmal wiederholt, bevor es als Ausfall zählt.
  • Die Kontingentwarnung wird einmal beim Anstieg ausgelöst, und erst wieder, nachdem die Belegung mindestens zwei Punkte unter die Schwelle gefallen ist.
  • Der Grundcode von nicht erreichbar ist einer von UNREACHABLE, TIMEOUT, TLS, AUTH, OTP_REQUIRED, PERMISSION, NOT_FOUND, HTTP, BAD_RESPONSE.
  • Eine Bibliothek hat sich geändert wird zwischen zwei Lesevorgängen erkannt: Bei einem Intervall von 5 Minuten ergeben mehrere Änderungen in denselben fünf Minuten ein einziges Ereignis.

Szenenaktionen​

  • Seafile-Server jetzt lesen — aktualisiert alle Geräte sofort. Ausgaben: Server online (ja/nein), Version, belegt (GB), Kontingent belegt (%, −1 ohne Kontingent), Bibliotheken.
  • Seafile-Bibliothek lesen — wähle ein Bibliotheksgerät; Ausgaben: Bibliothek gefunden (ja/nein), Name, Größe (GB), Dateien, letzte Änderung.

Ein Server, der nicht antwortet, ist eine Ausgabe (online = nein), keine fehlgeschlagene Aktion: Prüfe sie in einer Bedingung nach der Aktion.

Das Widget „Seafile“​

Füge das Widget Seafile einem Dashboard hinzu. Es zeigt die Kontingentanzeige (wenn das Konto ein Kontingent hat), den belegten Speicher, die Anzahl der Bibliotheken, die Benutzer (Systemadministrator), die größten Bibliotheken, den Serverstatus, seine Version und das Konto, sowie eine Schaltfläche Jetzt lesen. Seine Einstellung Angezeigte Bibliotheken (0 bis 8, Standard 5) legt die Länge der Liste fest.

Gut zu wissen​

  • Größen sind in dezimalen Gigabyte (1 GB = 1.000.000.000 Byte), wie Seafile sie anzeigt.
  • Der Server wird über seinen Host (und Port, und Pfad) erkannt: Der Wechsel von http:// zu https:// behält die Geräte, ein neuer Hostname erzeugt neue.
  • Auf der Festplatte wird nichts gespeichert: Das aus einem Passwort gewonnene Token lebt im Speicher.

Fehlerbehebung​

MeldungWas tun
… ist nicht erreichbarPrüfe Adresse, Port und ob Gladys den Server erreicht (gleiches Netzwerk, Firewall).
… hat nicht rechtzeitig geantwortetDer Server ist überlastet oder aus; prüfe ihn im Browser.
Das Zertifikat von … wurde abgelehntEin selbst signiertes Zertifikat: Schalte Selbstsigniertes Zertifikat akzeptieren ein.
Der Server hat die Zugangsdaten abgelehntErzeuge ein neues API-Token oder prüfe Benutzername und Passwort.
Dieses Konto nutzt Zwei-Faktor-AuthentifizierungVerwende ein API-Token statt des Passworts.
… hat geantwortet, aber nicht wie ein Seafile-ServerDie Adresse zeigt auf eine andere Seite (Reverse-Proxy-Seite, Login-Portal): Korrigiere die Adresse.
Keine Serverstatistik mit einem Admin-KontoDas Konto muss Systemadministrator sein, mit dem Recht, Systeminfos zu sehen (Seafile-Pro-Rollen).

Konfigurationseinstellungen​

Diese Einstellungen fragt Seafile in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Erste SchrittesectionNeinDie Integration liest deinen Seafile-Server über dein Netzwerk: Speicher und Kontingent eines Kontos, seine Bibliotheken und die Serverstatistik, wenn das Konto Systemadministrator ist. Gib die Adresse des Servers und ein API-Token an (Seafile: Einstellungen → Web API Auth Token), oder Benutzername und Passwort. Auf dem Server wird nichts geschrieben.
ServeradressestringJaDie Adresse, unter der du Seafile im Browser öffnest, z. B. https://seafile.example.com oder http://192.168.1.20:8000. Ohne http(s):// wird https angenommen.
API-TokensecretNeinEmpfohlen. In Seafile: dein Avatar → Einstellungen → Web API Auth Token → Generieren. Es hat Vorrang vor Benutzername und Passwort und funktioniert mit Zwei-Faktor-Authentifizierung.
BenutzernamestringNeinNur ohne API-Token: die E-Mail-Adresse (oder Login-ID) des Kontos.
PasswortsecretNeinNur ohne API-Token. Wird gegen ein Token getauscht, das in Seafile als verknüpftes Gerät „Gladys Assistant“ erscheint, wo du es widerrufen kannst.
Selbstsigniertes Zertifikat akzeptierenbooleanNeinNur einschalten, wenn dein Server https mit einem selbst signierten Zertifikat nutzt.
Aktualisierungsintervall (s)numberNeinWie oft der Server gelesen wird, in Sekunden.
Warnschwelle Kontingent (%)numberNeinDer Szenenauslöser „Kontingentschwelle überschritten“ wird ausgelöst, wenn das Konto diesen Anteil seines Kontingents überschreitet.
Bibliotheken als GerätebooleanNeinVeröffentlicht zusätzlich ein Gerät pro Bibliothek des Kontos, mit Größe und Anzahl der Dateien.
Namen der BibliothekenstringNeinNur diese Bibliotheken werden zu Geräten, durch Kommas getrennt. Leer: alle. „Bibliotheken auflisten“ zeigt ihre Namen.

So installierst du Seafile in Gladys​

  1. Öffne in Gladys Integrationen: Seafile erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/prohand/gladys-seafile:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/prohand/gladys-seafile.

Seafile benötigt Gladys >=5.3.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.

Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.

Über externe Integrationen​

Seafile ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von prohand veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂