🧠 概要:
概要
この記事では、オープンソースのワークフロー自動化ツール「n8n」とBaaSプラットフォーム「Supabase」を連携させる手順が紹介されています。セルフホストでの環境構築と、データベースとしてSupabaseを使用する方法が詳しく説明されています。
要約の箇条書き
-
n8nの概要
- ワークフロー自動化ツールであり、各種Webサービスの連携が可能。
- プログラミング不要で視覚的にフローを作成できる。
- 最近、AI Agent機能が搭載され注目を集めている。
-
Supabaseの概要
- BaaSプラットフォームで、データベースと認証機能を提供。
- オープンソースでセルフホストが可能だが、今回はクラウド版を使用。
-
実行環境と事前準備
- Windows 11 + WSL2 (Ubuntu 22.04) 環境で開発。
- Dockerを使用してn8nを設置。
-
Supabaseプロジェクトのセットアップ
- Supabaseアカウントを作成し、新しいプロジェクトを作成。
- 接続情報とSSL証明書を取得。
- n8nのセットアップ
- n8n用のディレクトリを作成。
docker-compose.yml
を作成してn8nを簡単に起動する。.env
ファイルにSupabase接続情報を設定。
この記事は、初心者でも手順を追って簡単にn8nとSupabaseを連携させる方法を示しています。
n8nとSupabaseについてざっくり学んでみよう!
n8nとは?
n8n(エヌ・エイト・エヌ)は様々なWebサービスやアプリケーションを連携させて、定型業務を自動化が出来る「ワークフロー自動化ツール」です。
オープンソースなのでセルフホストも出来ますし、クラウド版もあります。
プログラミングの知識がなくても、例えば「Gmailで特定のメールを受信したら、その添付ファイルをGoogle Driveに保存し、内容を要約してSlackに通知する」といった一連の流れを、機能ごとの『ノード』と呼ばれるブロックを画面上で線で繋いでいくだけで構築できます。
最近、n8nが特に注目を集めているかというと、その理由は「AI Agent機能」が搭載されたことが大きいかなと思います。MCPももちろん使えます!
HPに掲載されている「AI Agent機能」を含んだワークフローイメージ
同じようなツールとしてDifyもあります。これは印象ですが、n8nはトリガー(Gmailの受信とかファイルの作成時とか)を受けて自動的に処理をさせるのに長けており、DifyはやはりLLMのチャットボット周りの開発のしやすさに長けてるのかなと感じています。個人的なメリットとしては、n8nは軽量なので他のアプリとか起動してても割と重くならずに動いてくれるのが嬉しいなと。
Supabaseとは?
Supabase(スーパーベース)はWebサービスやアプリ開発におけるデータベースや認証機能などの機能を提供するBaaS(Backend as a Service)プラットフォームです。
私自身、データベースがあまり得意ではなく、なるべくコスト(費用や構築・連携の手間)低くやりたかったので今回利用してみました。
Supabaseもオープンソースでセルフホストが可能ですが、今回はクラウド版を使用します。無料でも500MBのデータベースと1GBのファイルストレージが使えるので十分かなと。
なお、今回はn8nのデータベースとしてSupabaseを利用していますが、n8nだけでもローカルで動かすことは可能です。
実行環境と事前準備
今回は以下の環境で構築しました。WSL2の環境で開発と実行をしていますが、基本的にはDockerが入っていればWindowsでもMacでも問題ないと思います。
環境
-
Windows 11 + WSL2 (Ubuntu 22.04)
-
Cursor
-
Docker(Docker Deskop,Rancher Desktop、Dockerエンジン等)
事前準備(アカウント作成)
ステップ1 : Supabaseプロジェクトのセットアップ
では早速進めていきましょう!まずはSupabaseの準備からです。n8nとの連携で必要な情報もこの手順で取得します。
Supabaseアカウントの作成とプロジェクトの作成
まずはSupabaseにアクセスして、GitHubアカウントまたはメールアドレスでアカウントを作成します。
アカウントを作成したら「New Project」をクリックし、プロジェクトを作成します。
ここで設定するパスワードは後ほど使用しますのでメモしておきましょう。
日本のRegionがあるのは良いね!
接続情報の取得
プロジェクトを作成したら接続情報を取得します。
プロジェクトのページを開いたら「Connect」を選択します。
「Connect to your project」の画面が表示されたら、Transaction poolerの「Viewer parameters」 を開いて以下をメモをしてください。
Direct Connectionは使用しません
SSL証明書のダウンロードと保存
つづいてSSL証明書を取得します。Project Settings > Database > SSL Configuration > SSL Certificate の「Download certificate」からSSL証明書をダウンロードしてください。
ダウンロードしたらファイル名は supabase_ca.crt(任意のファイル名)で保存しましょう。
ファイルは外部に公開しないように気を付けましょう
ステップ2 : n8nのセットアップ
n8nのセットアップ用ディレクトリの作成
では続いてn8nの準備をしていきます。まずはディレクトリを作成します。
任意のディレクトリに移動し、cursorのターミナル上で以下のコマンドを実行してn8n用のディレクトリを作成します。
mkdir n8n-supabase-local
このディレクトリは最終的に以下のようにファイルを配置します。
Supabaseのセットアップで取得したSSL証明書もここで配置しましょう。
n8n-supabase-local/├── supabase_ca.crt ← SSL証明書├── docker-compose.yml└── .env
docker-compose.ymlの作成
n8nをDockerで簡単に起動できるようにするため、docker-compose.ymlを作成します。以下の設定内容でdocker-compose.ymlを作成してください。
services: n8n: image: n8nio/n8n:latest container_name: n8n ports: - "5678:5678" volumes: - ./data/.n8n:/home/node/.n8n - ./supabase_ca.crt:/etc/ssl/certs/supabase_ca.crt env_file: - .env restart: unless-stopped
.envの作成
続いて.envファイルを作成します。.envファイルにn8nとSupabaseを連携するパラメータを設定します。Supabaseのセットアップで取得したConnectionの情報をセットしていきます。
この記事が気に入ったらチップで応援してみませんか?
Views: 0