背景:なぜ一般公開が必要なのか?
n8nは強力なオープンソースのワークフロー自動化ツールであり、ユーザーは様々なアプリケーションやサービスを接続して自動化されたプロセスを作成することができます。しかし、n8nのAppノード(特にサードパーティ・サービスの認証に関わるもの)の多くは、使用時にOAuthリダイレクトURLを設定する必要があります。
この要件は、n8nインスタンスが公共のインターネット経由でアクセスできなければならないことを意味します。さらに、GoogleのサービスやTwitter/Xプラットフォームに接続するノードなどでは、HTTPS暗号化接続だけでなく、パブリックトップレベルドメインの使用も義務付けられている場合があります。
もしn8nがパブリックHTTPSドメインアクセスに対応していないローカルネットワークにのみデプロイされている場合、外部認証やコールバックに依存するこれらのノード機能は利用できません。これは確かにn8nの可能性を完全に制限し、その機能をディスカウントします。
従来のソリューションでは通常、クラウドサーバー(VPS)のレンタル、ドメイン名の購入、DNS解決の設定、SSL証明書の申請と導入が必要でした。全プロセスに多くの手順を要するだけでなく、継続的なコストも発生します。
解決策:ハギング・フェイスとスーパーベースによる無料配備
幸いなことに、HTTPSとパブリック・ドメインをサポートするn8nクラウド・サービスのインスタンスを短時間(10分程度)でデプロイする無料の比較的迅速な方法がある。この記事では、Hugging Face SpacesとSupabaseを組み合わせてこれを実現する方法について説明する。
この組み合わせソリューションは、Hugging Face Spacesを活用して無料のコンテナホスティング環境(公開URLと自動HTTPS)を提供し、Supabaseを活用してn8nのワークフローデータを永続的に保存する無料のPostgreSQLデータベースを提供する。
注:以下の手順を実行するには、国際インターネットアクセスが必要な場合があります。
ステップ1: Supabaseデータベースの設定
SupabaseはオープンソースのFirebase代替サービスで、データベース、認証、ストレージなどのバックエンドサービスを提供する。有料プランもあるが、無料パッケージはn8nの基本的なデータストレージのニーズを満たすのに十分なリソースを提供している。
無料パッケージには、十分なデータベース容量とリソースが含まれています(下図参照)。
- Supabaseの公式ウェブサイトはこちら: https://supabase.com/
- サインイン」をクリックして登録またはログインしてください。
- 登録に成功すると、組織を作成するよう案内されます。プランは「フリー」のまま、「組織を作成」をクリックしてください。
- 次に、プロジェクトを作成します。プロジェクト名を設定し、データベース用の安全なパスワードを設定し(特殊文字による問題を避けるため、強力なパスワードを推奨)、地域を選択する(例:US West)。Create new project "をクリックします。
- プロジェクトが作成されたら、プロジェクト・ダッシュボードに移動します。上部にある "Connect "ボタンをクリックするか、左のナビゲーションバーにある "Project Settings" -> "Database "を見つけてください。
- データベース接続情報ページで、接続文字列セクションを見つけます。タイプを選択する場所があれば、"SQLAlchemy" を選択してください(ただし、実際には以下の接続パラメータが必要です)。
- ページを下にスクロールすると、データベースの詳細な接続パラメータ(ホスト、データベース名、ポート、ユーザー名、パスワードなど)が表示されます。この情報は後ほどHugging Faceで使用します。特にパスワードは大切に保管してください。
ステップ2:ハギング・フェイス・スペースにn8nを配置する
Hugging Face(しばしば "ハギング・フェイス "と呼ばれる)は有名なAIと機械学習のコミュニティ・プラットフォームで、そのSpaces機能によってユーザーはウェブ・アプリケーションとDockerコンテナをホストすることができる。
- 設定済みのn8n Hugging Face Spaceテンプレートにアクセス: https://huggingface.co/spaces/fuliai/ain8n
- ページ右上の3つの点をクリックし、「このスペースを複製」を選択します。
- レプリカスペースの設定ページに移動します。ここで、Supabaseから取得したデータベース接続情報を、対応する環境変数に入力する必要があります:
DB_TYPE
に設定する。postgresdb
DB_POSTGRESDB_HOST
Supabase が提供する Host に記入してください。DB_POSTGRESDB_PORT
Supabase が提供するポート (通常は 5432) を入力します。DB_POSTGRESDB_DATABASE
Supabase が提供するデータベース名(通常postgres
).DB_POSTGRESDB_USER
Supabase が提供するユーザーを記入する。postgres
).DB_POSTGRESDB_PASSWORD
先ほど設定したSupabaseデータベースのパスワードを入力してください。DB_POSTGRESDB_SCHEMA
デフォルトのpublic
.N8N_HOST
通常は次のような形式で自動生成される。你的用户名-你的空间名.hf.space
.このドメイン名が以下のものと同じであることを確認してください。WEBHOOK_URL
接頭辞は一貫している。WEBHOOK_URL
その値がhttps://
その上N8N_HOST
値https://yourname-ain8n.hf.space/
).GENERIC_TIMEZONE
タイムゾーンは必要に応じて設定してください。Asia/Shanghai
.EXECUTIONS_DATA_PRUNE
に設定する。true
実行ログはデータベースの容量を節約するために自動的にクリーンアップすることができます。EXECUTIONS_DATA_MAX_AGE
クリーンアップがオンの場合、ログを保持する日数を設定します。14
.
スペースの可視性を選択
Public
(パブリックアクセス)。その後、n8nインスタンス自身が管理者パスワードを設定するので、不正アクセスの心配はありません。重要:よくご確認ください
N8N_HOST
歌で応えるWEBHOOK_URL
ハグハグのドメイン名部分は、ハグハグがあなたに割り当てたスペースURLと一致していなければなりません。 - 設定が完了したら、左下にある "Duplicate space "ボタンをクリックします。
- Hugging Face Spacesは、バックグラウンドで自動的にDockerコンテナのビルドとデプロイを開始する。
- 配置が完了するまで待ちます。デプロイは
Logs
タブで展開ログを表示します。下の赤枠のようなログメッセージ、特にn8nが正常に起動したというメッセージが表示されたら、デプロイが成功したことを意味します(通常は5分以内に完了します)。ログには通常、n8nのバージョン番号が表示されます。 - ログに記載されているn8nのアクセスアドレス(通常は
https://yourname-ain8n.hf.space/
)をブラウザで開いてください。
ステップ3:n8nの設定を初期化する
- 配備されたn8nアドレスに初めてアクセスする際、システムは管理者アカウントを設定するよう求めます。安全なユーザー名とパスワードを作成してください。
- ガイドに従ってセットアップを完了します。無料のライセンスキーを取得するかどうかを尋ねるステップがあるかもしれませんので、"Send me a free license key "などをクリックしてください。これは通常、アップデートの通知を受け取ったり、Community Editionの機能を有効にするためです。
- すべての設定が完了したら、n8nのメインインターフェイスに移動し、ワークフローの作成と管理を開始することができます。
このn8nインスタンスは、Hugging Faceページの右上にあるユーザーアバターをクリックし、ユーザー名の下にあるSpacesを選択することで見つけ、管理することができます。
なぜハギング・フェイス+スーパーベースなのか?
このオプションを選んだ主な理由は、両プラットフォームで利用できる無料のリソースを活用するためだった:
- ハギング・フェイス・スペース無料のコンテナ実行環境と、自動的に割り当てられるパブリック HTTPS ドメイン名を提供し、パブリック・ネットワーク・アクセスとセキュアな接続の問題を解決する。ただし、無料サービスの制限として、Spaceが長期間アクティブでない場合、システムによってハイバネーションされる可能性がある。ハイバネーションまたは再起動時に、コンテナ内のローカルデータは失われる(Dockerコンテナは本質的にステートレスであるため)。
- スーパーベース無償の PostgreSQL データベースが提供されます。外部のSupabaseデータベースを使用するようにn8nを設定することで、全てのワークフロー、認証情報、実行データはコンテナではなくデータベースに保存されます。こうすることで、Hugging Face Spaceがハイバネーションや再起動しても、n8nは起動時にSupabaseデータベースに再接続し、すべてのデータを復元し、データ永続性の問題を解決します。
それでも、予期せぬ事態に備えて、重要なワークフローはJSONファイルとしてエクスポートし、定期的にローカルにバックアップしておくことをお勧めする。
n8nはそれ自体がパワフルで、使いこなすには時間がかかるかもしれないが、一度使いこなせば複雑で便利な自動化プロセスを構築することができる。また、WordやExcelなどの一般的なフォーマットへの結果のエクスポートもサポートしており、非常に便利だ。