Zum Inhalt springen
Containly

Mit Workflows automatisieren

Workflows (Pro, Containly 2.7.0) reagieren auf unhealthy Container, offline Hosts, beendete Backups oder einen Zeitplan mit sicheren, vordefinierten Schritten. Vorlagen, Entwürfe, Auswahl, Simulieren, Jetzt ausführen, Sicherung und Verlauf erklärt.

Seit Containly 2.7.0 automatisiert die Seite Workflows wiederkehrende Reaktionen. Ein Workflow ist eine Regel: Wenn etwas passiert (der Auslöser), prüft Containly ein paar Bedingungen und führt dann vordefinierte Schritte aus, mit einem optionalen Zweig Sonst, wenn die Bedingungen nicht erfüllt sind. Es gibt keine Skripte und keine freien Befehle: Auslöser, Bedingungen und Schritte sind eine feste Liste, und jede Aktion landet im Audit-Log.

Workflows sind ein Pro-Feature. Mit Free zeigt die Seite die Vorlagen als reine Vorschau mit einem Hinweis auf Pro. Läuft eine Pro-Lizenz aus, pausieren bestehende Workflows mit dem Grund „Lizenz“ und laufen von selbst wieder, sobald Pro wieder aktiv ist. Nur Admins legen Workflows an, ändern, aktivieren oder starten sie; Viewer können sie lesen.

Was ein Workflow kann

TeilAuswahl
AuslöserContainer wird unhealthy, Container beendet sich unerwartet (auf Wunsch nur bei Speichermangel, OOM), Container startet in einer Schleife neu, Host geht offline, Host ist wieder online, CPU bleibt hoch, Arbeitsspeicher bleibt hoch, Backup beendet (fehlgeschlagen, erfolgreich oder jedes Ergebnis), Zeitplan (stündlich, an gewählten Wochentagen oder monatlich)
BedingungenCPU oder Arbeitsspeicher über oder unter einem Wert, wie lange der Zustand schon dauert, wie frisch die Daten sind, Host erreichbar, Backup-Ziel erreichbar, nicht in einem laufenden Backup oder Restore
SchritteBenachrichtigen, Container neu starten, Container starten, Container stoppen, Backup-Plan ausführen, Container aktualisieren, Warten bis gesund, Warten

Bedingungen werden mit alle oder eine verknüpft. Ein Wert, den Containly nicht kennt, gilt als „nicht erfüllt“, damit auf veralteten Daten nichts verändert wird. Containly prüft Container und Hosts einmal pro Minute und Zeitpläne alle 30 Sekunden; ein Auslöser wie „dauert mindestens 2 Minuten“ ist also auf die Minute genau.

Mit einer Vorlage starten

Öffne Workflows in der Navigation. Unter Meine Workflows findest du die Vorlagen: 20 fertige Workflows in sechs Gruppen. Jede Gruppe ist zuerst geschlossen; ein Klick auf den Gruppenkopf (oder die Tastatur) öffnet sie. Es ist immer nur eine Gruppe offen, eine andere zu öffnen schliesst die vorherige.

GruppeVorlagen
Zustand und WiederherstellungContainer unhealthy: benachrichtigen und neu starten; Container unhealthy: nur benachrichtigen; Abgestürzter Container: benachrichtigen und neu starten; Neustart-Schleife: kritische Benachrichtigung
BackupsBackup fehlgeschlagen: benachrichtigen; Backup erfolgreich: kurze Info; Nächtliches Backup, wenn Host und Ziel bereit sind; Wöchentliches Backup mit Bericht
UpdatesWöchentlich: zuerst Backup, dann Update; Wöchentliches Update nur, wenn alles bereit ist; Monatlich: Backup, Update und Healthcheck
HostsHost offline: benachrichtigen; Host wieder online: Info
CPU und ArbeitsspeicherCPU dauerhaft hoch: benachrichtigen; Arbeitsspeicher dauerhaft hoch: benachrichtigen; CPU hängt hoch: benachrichtigen und neu starten; Speicherleck: benachrichtigen und neu starten
Zeitplan und WartungWöchentlicher Neustart; Jede Nacht stoppen; Jeden Morgen starten

Öffne eine Vorlage und klicke Als Entwurf speichern, oder klicke Neuer Workflow und Als Entwurf anlegen, um leer zu beginnen. Deine eigenen Workflows stehen unter Meine Workflows mit ihrem Zustand (Entwurf, Aktiv, Pausiert).

Wählen, worauf der Workflow wirken darf

Jeder Workflow hat eine Auswahl (Gilt für): Container, Stacks, Hosts und Backup-Pläne. Vorlagen beginnen mit einer leeren Auswahl, es läuft also nichts, bis du etwas wählst.

  • Verändernde Schritte (Neustart, Start, Stopp, Update) wirken nur auf Container, die du gewählt hast, einzeln oder als Teil eines gewählten Stacks. Sie wirken nie auf einen ganzen Host.
  • Hosts reichen für Benachrichtigungen: Ein Workflow mit einem Host beobachtet alle Container darauf, benachrichtigt aber nur.
  • Backup-Pläne braucht es für den Backup-Auslöser, den Backup-Schritt und die Bedingung „Backup-Ziel erreichbar“.

Container werden pro Host über ihren Namen erkannt. Ein neu erstellter Container bleibt also in der Auswahl, ein umbenannter fällt heraus. Derselbe Containername auf einem anderen Host ist eine eigene Ressource.

Ein Workflow mit Lücken ist im Aufbau als Unvollständig markiert (zum Beispiel ein Neustart-Schritt ohne gewählten Container). Du kannst ihn als Entwurf speichern, aber erst aktivieren oder ausführen, wenn der Aufbau keine Probleme mehr zeigt.

Aktivieren, simulieren und jetzt ausführen

Neue Workflows sind Entwürfe und tun nichts. Setze den Zustand auf Aktiv, sobald der Aufbau keine Probleme zeigt; Pausiert hält ihn wieder an, ohne ihn zu löschen.

Der Reiter Simulieren ist ein Probelauf: Er prüft die Bedingungen mit dem aktuellen Zustand und zeigt, welche Schritte laufen würden. Es wird nichts verändert und keine Benachrichtigung gesendet; der Lauf erscheint im Verlauf als „Simulation“.

Jetzt ausführen startet die echten Schritte einmal, auch bei einem Entwurf, mit allen Sicherheitsprüfungen (Auswahl, Sicherung, Host erreichbar, Backup vor Update). Nur die Abklingzeit wird übersprungen. So testest du einen Workflow bewusst.

Schutz: Abklingzeit, Sicherung und Backup vor Update

  • Abklingzeit: Nach einem Lauf wartet derselbe Workflow so viele Minuten, bevor er wieder auf dieselbe Ressource wirkt. Solange ein Problem anhält, löst ein Zustands-Auslöser nach jeder Abklingzeit erneut aus; Abklingzeit 0 heisst einmal pro Vorfall.
  • Sicherung: Standardmässig höchstens drei verändernde Aktionen pro 60 Minuten und Ressource. Ist die Grenze erreicht, löst die Sicherung aus: keine weiteren Aktionen auf dieser Ressource und eine Benachrichtigung. Der Workflow zeigt dann in der Liste Sicherung ausgelöst; öffne ihn und klicke Wieder scharf schalten, nachdem du die Ursache angeschaut hast.
  • Backup vor Update: Ein Update-Schritt läuft nur nach einem Backup-Schritt weiter vorne im selben Lauf, der erfolgreich beendet wurde. Ein fehlgeschlagenes Backup oder eines mit Warnungen blockiert das Update, und der Verlauf sagt warum. Das Update holt das neuste Image für den Tag des Containers und erstellt nur diesen Container neu; Containly aktualisiert sich nie selbst über einen Workflow.
  • Immer aktiv: Gesperrte oder offline Hosts werden übersprungen, eine Ressource in einem laufenden Backup oder Restore bleibt unberührt, höchstens drei Läufe laufen gleichzeitig, und die eigenen Aktionen eines Workflows lösen keinen anderen Workflow aus.

Abklingzeiten, Sicherungen und der Verlauf liegen in der Datenbank und bleiben bei einem Neustart von Containly erhalten.

Benachrichtigungen, Verlauf und Audit-Log

Der Schritt Benachrichtigen sendet eine In-App-Benachrichtigung, eine E-Mail oder beides. Die Empfänger legst du unter Einstellungen > Benachrichtigungen > Workflow-Benachrichtigungen fest (Kategorie Automatisierung); für E-Mails muss SMTP eingerichtet sein. Seit Containly 2.7.1 kann der Schritt auch an gespeicherte Benachrichtigungskanäle senden (ntfy, Gotify oder ein Webhook), siehe Benachrichtigungskanäle. Seit Containly 2.7.2 kann er auch Discord-, Telegram-, Slack- und Pushover-Kanäle nutzen und Push an Geräte senden (Web-Push auf die Geräte der Empfänger), siehe Push-Mitteilungen und Discord, Telegram, Slack, Pushover.

Der Reiter Verlauf zeigt jeden Lauf mit Auslöser, dem Ergebnis jeder Bedingung und jedes Schritts (zum Beispiel „Backup mit Warnungen beendet. Das reicht nicht für ein Update.“). Läufe bleiben 90 Tage gespeichert. Jede Aktion eines Workflows steht ausserdem im Audit-Log, mit „Workflow: <Name>“ als Benutzer.

Weitere Anleitungen