
Webhook-basierter Docker Compose Controller
Initiieren oder beenden Sie Docker Compose-Dienste auf Ihrem Server über eine sichere HTTP-POST-Anfrage mit n8n und SSH.
Wie es funktioniert
Der Workflow mit dem Titel „Webhook-basierter Docker Compose Controller“ dient zur Verwaltung von Docker Compose-Diensten auf einem Server über sichere HTTP-POST-Anfragen. Der Workflow beginnt mit einem
Webhook
-Knoten, der auf eingehende HTTP-POST-Anfragen lauscht. Wenn eine Anfrage empfangen wird, werden die im Anfragetext gesendeten Daten erfasst, die normalerweise Parameter enthalten, die angeben, ob ein bestimmter Docker-Dienst gestartet oder gestoppt werden soll.Im Anschluss an den Webhook-Knoten verwendet der Workflow einen
Set
-Knoten, um die eingehenden Daten zu strukturieren. Dieser Knoten extrahiert relevante Informationen aus der Webhook-Anfrage, beispielsweise die Aktion (Start oder Stopp) und den Dienstnamen. Die Ausgabe des Set-Knotens wird dann an einenFunction
-Knoten übergeben, der benutzerdefinierten JavaScript-Code enthält, der den entsprechenden auszuführenden Befehl basierend auf der in der Anforderung angegebenen Aktion bestimmt.Als Nächstes umfasst der Workflow einen
SSH
-Knoten, der für die Verbindung mit dem Server konfiguriert ist, auf dem die Docker Compose-Dienste gehostet werden. Dieser Knoten führt den vom Funktionsknoten generierten Befehl aus. Abhängig von der empfangenen Aktion startet oder stoppt der SSH-Knoten den angegebenen Docker-Dienst mithilfe des entsprechenden Docker Compose-Befehls.Schließlich endet der Workflow mit einem
Respond to Webhook
-Knoten, der eine Antwort an den Client zurücksendet, der die Anfrage initiiert hat. Diese Antwort bestätigt, ob die angeforderte Aktion erfolgreich ausgeführt wurde oder ob Fehler aufgetreten sind.Hauptmerkmale
1. Webhook-Trigger:
Der Workflow beginnt mit einem Webhook-Knoten, sodass er durch externe HTTP-POST-Anfragen ausgelöst werden kann, wodurch er für die Integration mit verschiedenen Anwendungen und Diensten geeignet ist.
2. Dynamische Befehlsausführung:
Die Verwendung eines Funktionsknotens ermöglicht die dynamische Befehlsgenerierung basierend auf den Eingabeparametern und ermöglicht so eine flexible Verwaltung von Docker-Diensten.
3. SSH-Integration:
Der SSH-Knoten ermöglicht die sichere Remote-Ausführung von Befehlen auf dem Server und stellt so sicher, dass Docker-Dienste verwaltet werden können, ohne dass der Server direkt dem Internet ausgesetzt ist.
4. Dienstverwaltung:
Der Workflow kann jeden Docker Compose-Dienst starten oder stoppen und bietet so eine einfache Schnittstelle für die Dienststeuerung über Webanfragen.
5. Antwortverarbeitung:
Der Workflow umfasst einen Mechanismus, um auf die Webhook-Anfrage zu reagieren und Feedback zum Erfolg oder Misserfolg des ausgeführten Befehls zu geben, was für das Debuggen und die Benutzererfahrung unerlässlich ist.
Tools-Integration
- n8n Webhook-Knoten:
Erfasst eingehende HTTP-POST-Anfragen.
- n8n Set Node:
Strukturiert und extrahiert Daten aus der eingehenden Anfrage.
- n8n-Funktionsknoten:
Führt benutzerdefinierten JavaScript-Code aus, um den Befehl basierend auf der Anfrage zu bestimmen.
- n8n SSH-Knoten:
Stellt eine Verbindung zu einem Remote-Server her, um Docker Compose-Befehle auszuführen.
- n8n Respond to Webhook Node:
Sendet eine Antwort zurück an den Anforderer.
API-Schlüssel erforderlich
Für die Funktion dieses Workflows sind keine API-Schlüssel oder Authentifizierungsdaten erforderlich. Allerdings ist ein SSH-Zugriff auf den Server erforderlich, auf dem Docker Compose ausgeführt wird, was möglicherweise die Einrichtung von SSH-Schlüsseln oder Anmeldeinformationen für eine sichere Verbindung erfordert.
