
Webhook ベースの Docker Compose コントローラー
n8n と SSH を使用した安全な HTTP POST リクエストを通じて、サーバー上の Docker Compose サービスを開始または終了します。
仕組み
「Webhook ベースの Docker Compose コントローラー」というタイトルのワークフローは、安全な HTTP POST リクエストを通じてサーバー上の Docker Compose サービスを管理するように設計されています。ワークフローは、受信 HTTP POST リクエストをリッスンする
Webhook
ノードから始まります。リクエストを受信すると、リクエスト本文で送信されたデータをキャプチャします。これには通常、特定の Docker サービスを開始するか停止するかを示すパラメータが含まれます。Webhook ノードに続いて、ワークフローは
Set
ノードを利用して受信データを構造化します。このノードは、アクション (開始または停止) やサービス名などの関連情報を Webhook リクエストから抽出します。 Set ノードの出力はFunction
ノードに渡されます。このノードには、リクエストで指定されたアクションに基づいて実行する適切なコマンドを決定するカスタム JavaScript コードが含まれています。次に、ワークフローには
SSH
ノードが含まれており、Docker Compose サービスがホストされているサーバーに接続するように構成されています。このノードは、Function ノードによって生成されたコマンドを実行します。受け取ったアクションに応じて、SSH ノードは、適切な Docker Compose コマンドを使用して、指定された Docker サービスを開始または停止します。最後に、ワークフローは
Webhook に応答
ノードで終了します。このノードは、リクエストを開始したクライアントに応答を送り返します。この応答は、要求されたアクションが正常に実行されたか、またはエラーがあったかどうかを確認します。主な機能
1. Webhook トリガー:
ワークフローは Webhook ノードから始まり、外部 HTTP POST リクエストによってトリガーできるため、さまざまなアプリケーションやサービスとの統合に適しています。
2. 動的なコマンド実行:
Function ノードを使用すると、入力パラメーターに基づいて動的なコマンドを生成でき、Docker サービスの柔軟な管理が可能になります。
3. SSH 統合:
SSH ノードはサーバー上でのコマンドの安全なリモート実行を容易にし、サーバーをインターネットに直接公開することなく Docker サービスを管理できるようにします。
4. サービス管理:
ワークフローは任意の Docker Compose サービスを開始または停止でき、Web リクエストを通じてサービス制御のためのシンプルなインターフェイスを提供します。
5. 応答処理:
ワークフローには、Webhook リクエストに応答して、実行されたコマンドの成功または失敗に関するフィードバックを提供するメカニズムが含まれています。これは、デバッグとユーザー エクスペリエンスに不可欠です。
ツールの統合
- n8n Webhook ノード:
受信した HTTP POST リクエストをキャプチャします。
- n8n Set Node:
受信リクエストからデータを構造化して抽出します。
- n8n 関数ノード:
カスタム JavaScript コードを実行して、リクエストに基づいてコマンドを決定します。
- n8n SSH ノード:
リモート サーバーに接続して Docker Compose コマンドを実行します。
- n8n Webhook ノードに応答:
要求元に応答を送り返します。
API キーが必要です
このワークフローが機能するには、API キーや認証資格情報は必要ありません。ただし、Docker Compose が実行されているサーバーへの SSH アクセスが必要です。これには、安全な接続のための SSH キーまたは資格情報のセットアップが必要になる場合があります。
