カテゴリー: n8n

  • n8n料金プラン完全ガイド|Cloud版・セルフホスト版の費用比較【2025年最新】

    n8n料金プラン完全ガイド|Cloud版・セルフホスト版の費用比較【2025年最新】

    n8nの料金体系を検討している方向けに、Cloud版の各プランとセルフホスト版の費用を詳しく解説します。Zapier・Makeとの料金比較や、あなたに最適なプランの選び方まで、導入前に知っておきたい情報をまとめました。

    n8n料金の全体像

    まず、n8nの料金体系の全体像を把握しましょう。

    3つの利用方法と費用

    n8nには3つの利用方法があり、それぞれ費用が異なります。

    利用方法 月額費用 特徴
    Cloud版(公式マネージドサービス) €20〜(約3,300円〜) すぐに使える、運用不要
    セルフホスト版(VPS) サーバー代のみ(500〜2,000円程度) 実行数無制限、自由度高
    デスクトップ版 無料 学習用、PCが必要

    n8n独自の課金単位「実行(Execution)」とは

    n8nの料金を理解する上で最も重要なのが「実行(Execution)」という課金単位です。

    1回の実行 = ワークフロー全体が1回動くこと

    ワークフロー内にいくつのノード(処理ステップ)があっても、処理するデータ量がどれだけ多くても、1回の実行は1回としてカウントされます。

    これは他のツール(ZapierやMake)との大きな違いです。ZapierやMakeでは各ステップごとに課金されるため、複雑なワークフローほどコストが増えます。n8nは複雑な処理でも実行回数で課金されるため、コストを予測しやすいのが特徴です。

    n8n Cloud版の料金プラン

    Cloud版は、n8n公式が提供するマネージドサービスです。サーバー管理が不要で、すぐに使い始められます。

    2025年最新料金プラン

    2025年8月の価格改定により、すべてのプランでワークフロー数・ユーザー数・ステップ数が無制限になりました。

    項目 Starter Pro Enterprise
    月額(年払い) €20(約3,300円) €50(約8,200円) 要問合せ
    月額(月払い) €24(約3,960円) €60(約9,900円) 要問合せ
    実行数/月 2,500回 10,000回 カスタム
    ワークフロー数 無制限 無制限 無制限
    ユーザー数 無制限 無制限 無制限
    共有プロジェクト 1 5 無制限
    並列実行 5 10 カスタム
    サポート コミュニティ 優先サポート 専任サポート

    ※為替レートにより日本円換算は変動します

    各プランの選び方

    Starterプラン(€20/月)

    個人や小規模チーム向けのエントリープランです。月2,500回の実行で、日常的な業務自動化には十分な容量です。

    こんな使い方なら月2,500回に収まります:

    • 1時間に1回実行するワークフロー × 6個 → 月約4,320回(ギリギリ超過)
    • 1日に10回実行するワークフロー × 5個 → 月約1,500回(余裕あり)
    • 毎日1回のバッチ処理 × 10個 → 月約300回(大幅に余裕)

    Proプラン(€50/月)

    チームでの利用や、より多くの自動化を行いたい場合に最適です。月10,000回の実行と、5つの共有プロジェクトで、複数人での運用もスムーズです。優先サポートが受けられるのも大きなメリットです。

    Enterpriseプラン

    大企業向けのカスタムプランです。SLA(サービス品質保証)、SSO(シングルサインオン)、専任サポートなど、企業のセキュリティ・コンプライアンス要件に対応します。

    14日間の無料トライアル

    Cloud版には14日間の無料トライアルがあります。クレジットカード登録なしで試せるので、まずは実際に触ってみることをおすすめします。

    トライアル終了後は自動で有料プランに移行しません。支払い手続きを行った場合のみ有料プランが開始されるので、安心して試せます。

    セルフホスト版の費用

    セルフホスト版(Community Edition)は、自分のサーバーにn8nをインストールして使う方法です。n8n自体は完全無料で、必要なのはサーバー代のみです。

    セルフホストにかかる費用

    サーバー/VPS 月額費用 特徴
    Hostinger 約780〜1,200円 n8nテンプレート対応、日本語サポート
    XServer VPS 約830〜1,150円 国内サーバー、高い安定性
    シンVPS 約620〜900円 最安クラス、n8nに適したプランあり
    Railway 従量課金($5〜) 海外サービス、簡単セットアップ

    長期契約(12ヶ月・24ヶ月)を選ぶと、月額費用はさらに安くなります。

    セルフホスト版のメリット

    • 実行回数が無制限:どれだけワークフローを動かしてもサーバー代のみ
    • ワークフロー数も無制限:好きなだけ自動化を構築できる
    • データを自社管理:機密データを外部に出さずに済む
    • カスタマイズ自由:コミュニティノードの追加など拡張性が高い

    セルフホスト版のデメリット

    • 初期設定が必要:Docker等でのインストール作業がある
    • 運用は自己責任:アップデートやトラブル対応を自分で行う
    • 公式サポートなし:コミュニティやドキュメントで解決する必要がある

    セルフホストに向いている人

    • 月のワークフロー実行が2,500回を超える
    • コストを最小限に抑えたい
    • データを外部に出したくない
    • サーバー管理の基本的な知識がある(またはこれから学びたい)

    デスクトップ版について

    デスクトップ版は、PCにn8nをインストールして使う無料の方法です。

    特徴

    • 完全無料
    • PCが起動している間だけ動作
    • 学習用途に最適
    • データがローカルに保存される

    注意点

    • PCの電源を切るとワークフローが止まる
    • 定時実行には向かない(PCを24時間稼働させる必要がある)
    • 本番運用には不向き

    まずはn8nを試してみたい、学習したいという場合に最適です。本格的な業務自動化にはCloud版かセルフホスト版をおすすめします。

    Zapier・Makeとの料金比較

    n8nの料金がお得かどうか、競合ツールと比較してみましょう。

    月額料金の比較

    ツール 無料プラン 有料プラン最安 課金単位
    n8n Cloud なし(14日トライアル) €20(約3,300円) 実行回数
    n8n セルフホスト 実質無料 サーバー代のみ なし(無制限)
    Zapier 100タスク/月 $29.99(約4,600円) タスク数
    Make 1,000オペレーション/月 $10.59(約1,600円) オペレーション数

    コスト計算の具体例

    シナリオ:100件のデータを5ステップで処理 × 月100回実行

    • n8n:100実行 → Starterプラン(€20)で余裕
    • Zapier:50,000タスク(100件×5ステップ×100回)→ Teamプラン以上が必要($250+)
    • Make:50,000オペレーション → Proプラン以上が必要($16+追加課金)

    複雑なワークフローを多く動かす場合、n8nは圧倒的にコスト効率が良くなります。

    シナリオ:シンプルな2ステップ処理 × 月500回実行

    • n8n:500実行 → Starterプラン(€20)
    • Make:1,000オペレーション → 無料プラン内

    シンプルな処理が中心ならMakeの無料プランも選択肢になりますが、処理が複雑になるとn8nの方が有利です。

    料金プランの選び方フローチャート

    あなたに最適なn8n料金プランを選ぶためのフローチャートです。

    Q1. サーバー管理の知識はありますか?(または学ぶ意欲がある)

    YES → Q2へ
    NO → Cloud版がおすすめ → Q4へ

    Q2. 月の実行回数は2,500回を超えそうですか?

    YES → セルフホスト版がおすすめ
    NO → Q3へ

    Q3. コストを最優先しますか?

    YES → セルフホスト版がおすすめ
    NO → Cloud版でも良い → Q4へ

    Q4. チームで使いますか?複数プロジェクトを管理しますか?

    YES → Proプラン(€50/月)
    NO → Starterプラン(€20/月)

    費用を抑えてn8nを始めるおすすめの流れ

    n8nを費用を抑えながら段階的に始める方法を紹介します。

    ステップ1:Cloud版の無料トライアルで試す(14日間)

    まずはCloud版の14日間無料トライアルで、n8nの基本操作を体験しましょう。サーバー設定などの手間なく、すぐに自動化を試せます。

    ステップ2:デスクトップ版で学習を深める(無料)

    トライアル終了後、さらに学習を続けたい場合はデスクトップ版をインストール。PCが起動している間は無料で使えるので、ワークフローの作り方をじっくり学べます。

    ステップ3:本番運用に移行

    学習が進んで本番運用に移りたくなったら、以下の選択肢から選びます。

    • 手軽さ重視:Cloud版Starterプラン(€20/月)
    • コスト重視:セルフホスト版(サーバー代のみ、月700〜1,500円程度)

    よくある質問

    Q. n8nに無料プランはありますか?

    A. Cloud版には無料プランはありませんが、14日間の無料トライアルがあります。セルフホスト版(Community Edition)は完全無料で、サーバー代のみで利用できます。

    Q. 実行回数が上限を超えるとどうなりますか?

    A. Cloud版で実行回数の上限に達すると、その月はワークフローが実行されなくなります。上位プランへのアップグレードか、翌月まで待つ必要があります。

    Q. 年払いと月払いの違いは?

    A. 年払いを選ぶと約17〜20%の割引が適用されます。長期利用が確定しているなら年払いがお得です。

    Q. セルフホスト版でも商用利用できますか?

    A. 自社の業務自動化目的での利用は問題ありません。ただし、n8nを他社に有料提供(ホワイトラベル化、ホスティングサービスとして販売など)する場合は、ビジネスプラン(€667/月)の契約が必要です。

    Q. Zapierから乗り換えると安くなりますか?

    A. 多くの場合、大幅にコスト削減できます。特に複雑なワークフローを多用している場合、Zapierでは月額$100〜$500かかる処理がn8nなら€20で済むケースも珍しくありません。

    Q. おすすめのセルフホスト用サーバーは?

    A. 日本国内ならXServer VPSやシンVPS、海外サービスならHostingerが人気です。月額700〜1,200円程度で安定した運用が可能です。

    まとめ:n8n料金プランの選び方

    n8nの料金体系をまとめると、以下のようになります。

    Cloud版(€20〜/月)を選ぶべき人

    • サーバー管理の知識がない・手間をかけたくない
    • すぐに使い始めたい
    • 公式サポートを受けたい
    • 月2,500〜10,000回の実行で十分

    セルフホスト版(サーバー代のみ)を選ぶべき人

    • コストを最小限に抑えたい
    • 実行回数を無制限にしたい
    • データを自社管理したい
    • サーバー運用に抵抗がない

    まずは14日間の無料トライアルで試してみて、n8nが自分の業務に合うかどうかを確認することをおすすめします。

    n8nの基本的な使い方については、他ツールとの比較はも参考にしてください。

  • n8n × OpenAI API連携ガイド|APIキー取得からチャットボット作成まで

    n8n × OpenAI API連携ガイド|APIキー取得からチャットボット作成まで

    n8nとOpenAI APIを連携させると、ChatGPTの力を活用したワークフロー自動化が可能になります。この記事では、APIキーの取得からn8nでの設定、実践的なワークフロー作成まで、初心者でもわかるようにステップバイステップで解説します。

    この記事でできるようになること

    この記事を読み終えると、以下のことができるようになります。

    • OpenAIのAPIキーを取得する
    • n8nにOpenAI APIを連携設定する
    • GPT-4oなどのモデルを使ったワークフローを作成する
    • メール要約、文章生成、チャットボットなどの実践的な自動化を構築する

    所要時間は、APIキー取得から最初のワークフロー完成まで約15〜20分です。

    事前準備

    n8nとOpenAI APIを連携するには、以下の準備が必要です。

    必要なもの

    • n8nアカウント(Cloud版またはセルフホスト環境)
    • OpenAIアカウント
    • クレジットカード(OpenAI APIの利用料支払い用)

    n8nのアカウント作成がまだの方は、を参考にしてください。

    n8n Cloud版の無料クレジットについて

    n8n Cloud版では、一部のOpenAIモデル(gpt-4o-mini、text-embedding-3-smallなど)を無料で試せるクレジットが提供される場合があります。ただし、利用できるモデルや回数に制限があるため、本格的な運用にはOpenAI APIキーの取得をおすすめします。

    ステップ1:OpenAI APIキーを取得する

    まずはOpenAIのAPIキーを取得します。

    1-1. OpenAI APIプラットフォームにアクセス

    以下のURLにアクセスしてください。

    https://platform.openai.com/

    ChatGPTと同じアカウントでログインできます。アカウントをお持ちでない場合は、「Sign up」から新規作成してください。

    1-2. APIキーを作成

    ログイン後、以下の手順でAPIキーを作成します。

    1. 左メニューから「API keys」をクリック
    2. 「Create new secret key」ボタンをクリック
    3. 名前を入力(例:「n8n」など、用途がわかる名前)
    4. Permissionsは特に変更不要(デフォルトのままでOK)
    5. 「Create secret key」をクリック

    1-3. APIキーをコピーして保存

    作成されたAPIキーが表示されます。このキーはこの画面でしか確認できません。必ずコピーして、安全な場所に保存してください。

    画面を閉じてしまうとAPIキーは二度と表示されません。紛失した場合は、新しいキーを作成する必要があります。

    1-4. 支払い方法を設定(初回のみ)

    OpenAI APIの利用には料金が発生します。初回は最低$5のクレジット購入が必要です。

    1. 左メニューから「Settings」→「Billing」を選択
    2. 「Add payment method」をクリック
    3. クレジットカード情報を入力
    4. 「Add credit」でクレジットを追加

    料金は使った分だけ課金される従量制です。GPT-4o-miniなら100万トークンあたり約$0.15と非常に安価なので、テスト用途であれば$5で十分です。

    ステップ2:n8nにOpenAI APIを連携設定する

    取得したAPIキーをn8nに登録します。

    2-1. 新しいワークフローを作成

    n8nにログインし、新しいワークフローを作成します。

    1. 左上の「+」ボタンをクリック
    2. 新しいワークフローが開きます

    2-2. OpenAIノードを追加

    1. キャンバス上の「+」をクリック
    2. 検索ボックスに「OpenAI」と入力
    3. 「OpenAI」ノードを選択

    2-3. 認証情報(Credential)を設定

    OpenAIノードを追加すると、設定パネルが開きます。

    1. 「Credential to connect with」のドロップダウンをクリック
    2. 「Create new credential」を選択
    3. 「API Key」欄に、先ほどコピーしたOpenAIのAPIキーを貼り付け
    4. 「Save」をクリック

    「Connection tested successfully」と表示されれば、連携完了です。

    この認証情報は一度設定すれば、同じn8nアカウント内の他のワークフローでも使い回せます。

    ステップ3:最初のワークフローを作成する

    連携が完了したら、実際にOpenAI APIを使ったワークフローを作成してみましょう。

    ワークフロー例1:手動実行でテキストを要約する

    最もシンプルな例として、入力したテキストをChatGPTに要約させるワークフローを作ります。

    構成

    1. Manual Trigger(手動実行)
    2. OpenAI(テキスト処理)

    手順

    1. 「Manual Trigger」ノードを追加(ワークフローの開始点)
    2. 「OpenAI」ノードを追加し、Manual Triggerと接続
    3. OpenAIノードの設定で以下を入力:

    OpenAIノードの設定

    • Resource:Message a Model
    • Model:gpt-4o-mini(コスト重視)またはgpt-4o(品質重視)
    • Messages:以下のように設定
    
    Role: User
    Content: 以下のテキストを3行で要約してください。
    
    (要約したいテキストをここに入力)
    
    1. 「Test step」をクリックして実行
    2. Output欄にChatGPTからの回答が表示されます

    ワークフロー例2:Gmailの新着メールを自動要約

    実用的な例として、Gmailで新着メールを受信したら自動で要約し、Slackに通知するワークフローを作ります。

    構成

    1. Gmail Trigger(新着メール受信)
    2. OpenAI(メール内容を要約)
    3. Slack(要約をチャンネルに投稿)

    Gmail Triggerの設定

    1. 「Gmail Trigger」ノードを追加
    2. Gmailアカウントと連携(初回のみ認証が必要)
    3. Trigger On:「New Email」を選択
    4. 必要に応じてLabel IDでフィルタリング

    OpenAIノードの設定

    • Resource:Message a Model
    • Model:gpt-4o-mini
    • Messages:
    
    Role: System
    Content: あなたはメールの内容を簡潔に要約するアシスタントです。
    
    Role: User
    Content: 以下のメールを3行で要約し、必要なアクションがあれば提案してください。
    
    件名:{{ $json.subject }}
    本文:{{ $json.text }}
    

    {{ $json.subject }}{{ $json.text }}は、前のノード(Gmail Trigger)から渡されるデータを参照する式です。これにより、受信したメールの件名や本文が自動的に挿入されます。

    Slackノードの設定

    1. 「Slack」ノードを追加し、OpenAIノードと接続
    2. Slackワークスペースと連携
    3. 投稿先チャンネルを選択
    4. メッセージ内容に{{ $json.content }}(OpenAIの回答)を設定

    ワークフローを有効化

    1. 右上の「Save」でワークフローを保存
    2. 「Active」スイッチをONにして有効化

    これで、新着メールを受信するたびに自動で要約がSlackに投稿されます。

    ステップ4:チャットボットを作成する

    n8nではAI Agentノードを使って、会話の文脈を保持するチャットボットも作成できます。

    構成

    1. Chat Trigger(チャット入力を受け付け)
    2. AI Agent(OpenAI Chat Modelを利用)
    3. Window Buffer Memory(会話履歴を保持)

    手順

    1. 新しいワークフローを作成
    2. 「When chat message received」(Chat Trigger)を追加
    3. 「AI Agent」ノードを追加し、Chat Triggerと接続
    4. AI Agentの「Model」に「OpenAI Chat Model」を追加
    5. OpenAI Chat Modelで認証情報を設定し、モデル(gpt-4o-miniなど)を選択
    6. AI Agentの「Memory」に「Window Buffer Memory」を追加(会話を記憶させる場合)

    AIエージェントのカスタマイズ

    AI Agentノードの「System Message」で、ボットの人格や動作を設定できます。

    
    あなたは親切なカスタマーサポートアシスタントです。
    以下のルールに従って回答してください:
    
    <ul>
    <li>回答は簡潔に、3文以内で</li>
    <li>不明な点は正直に「わかりません」と答える</li>
    <li>必要に応じて関連情報を提案する</li>
    </ul>

    テストと公開

    1. キャンバス下部のチャット入力欄からテスト
    2. 動作確認後、Chat Triggerの設定から「Publicly Available」をONにすると、URLを共有してWebから利用可能に

    公開する場合はAPI利用料が発生するため、使用していない時は必ずワークフローを「Inactive」にしてください。

    使用できるOpenAIモデルと料金目安

    n8nから利用できる主なOpenAIモデルと、2025年時点の料金目安です。

    モデル 特徴 入力料金(100万トークン) 出力料金(100万トークン)
    gpt-4o 最新・高性能 $2.50 $10.00
    gpt-4o-mini 高速・低コスト $0.15 $0.60
    gpt-4-turbo 長文対応 $10.00 $30.00
    gpt-3.5-turbo 旧世代・最安 $0.50 $1.50

    モデル選びの目安

    • コスト重視:gpt-4o-mini(ほとんどの用途で十分な品質)
    • 品質重視:gpt-4o(複雑な分析や創造的な文章生成)
    • 長文処理:gpt-4-turbo(大量のテキストを一度に処理)

    初めての場合はgpt-4o-miniで試してみて、品質が足りなければgpt-4oに切り替えるのがおすすめです。

    実践的なワークフローアイデア

    n8n × OpenAI APIで作れる実践的なワークフローをいくつか紹介します。

    顧客問い合わせの自動分類

    • トリガー:メール受信 or フォーム送信
    • 処理:OpenAIで問い合わせ内容を分類(技術サポート/請求関連/一般など)
    • 出力:分類結果に応じて適切な担当者にSlack通知

    日報の自動生成

    • トリガー:毎日定時(Schedule Trigger)
    • 処理:Slackの当日の投稿を取得 → OpenAIで要約 → 日報形式に整形
    • 出力:メールで送信 or Notionに保存

    RSS記事の要約・翻訳

    • トリガー:RSS Feed Trigger
    • 処理:新着記事をOpenAIで要約・日本語翻訳
    • 出力:Slackチャンネルに投稿

    議事録の自動作成

    • トリガー:Google Drive(音声ファイルのアップロード)
    • 処理:Whisper APIで文字起こし → GPTで議事録形式に整形
    • 出力:Google Docsに保存

    トラブルシューティング

    よくある問題と解決方法をまとめます。

    「Invalid API Key」エラー

    • APIキーが正しくコピーされているか確認
    • APIキーの先頭・末尾に余分なスペースがないか確認
    • OpenAIダッシュボードでAPIキーが有効か確認

    「Rate limit exceeded」エラー

    OpenAI APIのレート制限に達しています。

    • 短時間に大量のリクエストを送らないよう調整
    • Wait/Delayノードを追加してリクエスト間隔を空ける
    • OpenAIの使用量ダッシュボードで制限を確認

    「Insufficient quota」エラー

    クレジット残高が不足しています。

    • OpenAIダッシュボードの「Billing」でクレジットを追加
    • Auto-rechargeを設定しておくと便利

    出力が空になる・期待と異なる

    • プロンプトが曖昧でないか確認
    • 入力データが正しく渡されているか「Test step」で確認
    • モデルを変更してみる(gpt-4o-mini → gpt-4o)

    よくある質問

    Q. OpenAI API利用料はどのくらいかかりますか?

    A. gpt-4o-miniを使った場合、一般的な業務利用(1日100件程度の処理)で月額数百円〜数千円程度です。OpenAIダッシュボードで使用量をリアルタイムに確認できるので、定期的にチェックすることをおすすめします。

    Q. n8n Cloud版の無料クレジットだけで運用できますか?

    A. テストや学習目的であれば可能ですが、利用できるモデルや回数に制限があります。本番運用には自分のOpenAI APIキーを使うのが確実です。

    Q. Claude(Anthropic)やGemini(Google)も使えますか?

    A. はい、n8nはOpenAI以外にもAnthropic(Claude)、Google(Gemini)、Ollama(ローカルLLM)など複数のAIモデルに対応しています。設定方法は基本的に同じで、各サービスのAPIキーを取得してn8nに登録します。

    Q. セルフホスト版でもOpenAI APIは使えますか?

    A. はい、同じ手順で使えます。APIキーはOpenAI側で管理されるため、n8nがCloud版でもセルフホスト版でも問題ありません。

    Q. APIキーの管理で気をつけることは?

    A. APIキーは他人に共有しないでください。万が一漏洩した場合は、OpenAIダッシュボードから即座に無効化し、新しいキーを発行してください。また、使用量の上限設定(Usage limits)を設定しておくと、意図しない高額請求を防げます。

    まとめ

    n8nとOpenAI APIを連携させると、AIの力を活用した業務自動化が手軽に実現できます。

    この記事で学んだこと

    • OpenAI APIキーの取得方法
    • n8nへの連携設定
    • テキスト要約、メール処理、チャットボットなどの実践例
    • モデル選びと料金の目安
    • トラブルシューティング

    まずはgpt-4o-miniを使った簡単なワークフローから始めて、徐々に複雑な自動化に挑戦してみてください。

    n8nの基本的な使い方については、活用事例についてはも参考にしてください。

  • n8n vs Make 徹底比較|料金・機能・使いやすさの違いを解説【2025年版】

    n8n vs Make 徹底比較|料金・機能・使いやすさの違いを解説【2025年版】

    n8nとMake(旧Integromat)は、どちらも人気のワークフロー自動化ツールです。「Zapierは高いからn8nかMakeを検討している」という方も多いでしょう。この記事では、n8nとMakeの違いを料金・機能・使いやすさの観点から徹底比較し、あなたに合ったツール選びをサポートします。

    結論:n8nとMakeの選び方

    最初に結論をお伝えします。

    こんな方には おすすめ
    コストを最優先したい n8n(セルフホスト)
    セキュリティ要件が厳しい n8n(セルフホスト)
    複雑な処理・大量データを扱う n8n
    手軽に始めたい・設定が苦手 Make
    非エンジニアがメインで使う Make
    エラー処理を細かく設定したい Make

    両ツールとも優秀ですが、「誰が」「何を」「どのくらいの規模で」自動化するかによって最適解が変わります。以下で詳しく解説します。

    n8nとMakeの基本情報

    まず、両ツールの概要を確認しましょう。

    n8nとは

    n8n(エヌエイトエヌ)は、2019年にドイツで開発されたオープンソースのワークフロー自動化ツールです。「nodemation」の略で、ノード(node)と自動化(automation)を組み合わせた造語です。

    最大の特徴は「フェアコード」ライセンスを採用しており、セルフホスト(自分のサーバーで運用)すれば無料で使える点です。クラウド版も提供されています。

    Makeとは

    Make(メイク)は、旧Integromatとして知られるチェコ発のワークフロー自動化ツールです。2022年にMakeにリブランディングされました。

    クラウドベースのSaaSとして提供され、視覚的に分かりやすいUIと充実したエラーハンドリング機能が特徴です。セルフホストには対応していません。

    料金比較:課金モデルの違いに注目

    n8nとMakeでは、料金の考え方が根本的に異なります。この違いを理解することが、コスト試算の鍵になります。

    課金単位の違い

    ツール 課金単位 考え方
    n8n 実行(Execution) ワークフロー全体で1回
    Make オペレーション 各モジュール(ステップ)ごとに1回

    この違いは、複雑なワークフローほど大きな差を生みます。

    具体例:100件のデータを5ステップで処理する場合

    • n8n:1実行(ステップ数・データ量は関係なし)
    • Make:500オペレーション(100件×5ステップ)

    つまり、n8nは「ワークフローを何回動かしたか」で課金され、Makeは「処理を何回行ったか」で課金されます。複雑な処理や大量データを扱う場合、n8nの方がコスト効率が良くなります。

    料金プラン比較(2025年時点)

    n8n Cloud

    プラン 月額(年払い) 実行数/月
    Starter €20(約3,300円) 2,500回
    Pro €50(約8,200円) 10,000回
    Enterprise 要問合せ カスタム

    ※すべてのプランでワークフロー数・ユーザー数・ステップ数が無制限

    Make

    プラン 月額(年払い) オペレーション/月
    Free 無料 1,000回
    Core $9(約1,400円) 10,000回
    Pro $16(約2,500円) 10,000回〜
    Teams $29(約4,500円) 10,000回〜

    コスト試算の具体例

    シナリオ:毎日100件のデータを5ステップで処理(月3,000回実行)

    • n8n Cloud Starter:月3,000実行 → €20で対応可能
    • Make:月15万オペレーション(3,000回×5ステップ×10件平均)→ Proプラン以上が必要

    シナリオ:シンプルな2ステップ処理を月500回実行

    • n8n Cloud Starter:月500実行 → €20
    • Make Free:月1,000オペレーション(500回×2ステップ)→ 無料で対応可能

    シンプルな処理が中心ならMakeの無料プランで十分な場合もあります。複雑な処理が多いならn8nが有利です。

    セルフホストという選択肢

    n8nにはセルフホスト版(Community Edition)があり、これを使えばn8n自体は完全無料です。必要なのはサーバー代のみで、月500〜2,000円程度から運用できます。

    Makeにはセルフホスト版がないため、この選択肢はn8n独自の強みです。

    機能比較

    次に、機能面の違いを見ていきましょう。

    対応サービス数

    項目 n8n Make
    対応サービス数 1,100以上 1,800以上
    カスタム連携 HTTP Request / カスタムノード作成 HTTP / カスタムアプリ作成

    対応サービス数はMakeの方が多いですが、両ツールともHTTP Requestを使えばAPIがある任意のサービスと連携できます。主要なサービス(Google、Slack、Microsoft、Notion、Airtableなど)は両方で対応しています。

    エラーハンドリング

    エラー処理の機能はMakeが充実しています。

    Make

    • Ignore:エラーを無視して続行
    • Resume:代替値を使って続行
    • Commit:エラー前までの処理を確定
    • Rollback:処理を巻き戻し
    • Break:エラーを保存して後で再実行

    n8n

    • Error Triggerノードでエラー時の処理を定義
    • カスタムエラー処理をJavaScriptで記述可能
    • リトライ設定

    Makeは視覚的にエラー処理を設定でき、非エンジニアでも扱いやすい設計です。n8nはより自由度が高いですが、設定には技術的な理解が必要です。

    AI連携

    両ツールともChatGPT、Claude、Geminiなどの生成AIとの連携に対応しています。

    n8nは2025年に「AIエージェント」機能を強化しており、複数のAIモデルを組み合わせた高度なワークフローを構築できます。Makeも各種AI APIとの連携が可能ですが、n8nの方がAI関連の機能開発に力を入れている印象です。

    データ処理能力

    項目 n8n Make
    JSONデータの加工 ◎(JavaScript使用可)
    条件分岐 ◎(Router機能)
    ループ処理 ◎(Iterator/Aggregator)
    カスタムコード ◎(JavaScript/Python) ○(一部対応)

    n8nはFunctionノードでJavaScriptを自由に書けるため、複雑なデータ変換も柔軟に対応できます。Makeも十分な機能を持っていますが、カスタムコードの自由度ではn8nが上回ります。

    使いやすさ比較

    実際の操作感も重要なポイントです。

    UI・操作性

    n8n

    • フローチャート形式でノードをつなげる
    • JSONデータの流れを意識した設計
    • 開発者寄り(ローコード寄り)のUI
    • 各ノードの出力を詳細に確認できる

    Make

    • 円形のモジュールを線でつなぐビジュアルUI
    • カラフルで直感的なデザイン
    • 非エンジニアでも使いやすい設計
    • データマッピングが分かりやすい

    MakeはUIの分かりやすさに定評があり、初心者や非エンジニアが使いやすい設計です。n8nは機能的ですが、データ構造(JSON)の理解があると使いこなしやすくなります。

    学習コスト

    項目 n8n Make
    初心者の習得 やや難しい 比較的簡単
    日本語ドキュメント 少ない 少ない
    テンプレート 1,700以上 1,000以上
    コミュニティ 活発(英語中心) 活発(英語中心)

    どちらも日本語情報は限られていますが、両ツールとも公式テンプレートが充実しているため、それをベースにカスタマイズする形で学習を進められます。

    導入の手軽さ

    Make:アカウント登録だけですぐに使い始められます。インフラ管理は不要です。

    n8n Cloud:Makeと同様、アカウント登録だけで利用開始できます。

    n8n セルフホスト:サーバーの用意、Docker等でのインストール、設定が必要です。技術的な知識がある程度求められます。

    セキュリティ・データ管理

    機密性の高いデータを扱う場合、セキュリティは重要な検討事項です。

    データの保管場所

    ツール データ保管
    n8n セルフホスト 自社サーバー内(完全コントロール可能)
    n8n Cloud n8n社のクラウド
    Make Make社のクラウド(AWS)

    社内ポリシーで「データを外部クラウドに出せない」という要件がある場合、n8nのセルフホスト版が唯一の選択肢になります。

    セキュリティ認証

    • n8n:SOC 2準拠(Cloud版)
    • Make:SOC 2 Type II、GDPR準拠、ISO 27001準拠

    Makeはセキュリティ認証の取得実績が豊富です。n8n Cloudもエンタープライズ向けにセキュリティ機能を強化しています。

    ユースケース別おすすめ

    具体的なユースケースごとに、どちらが向いているかを整理します。

    n8nがおすすめのケース

    1. 大量データの定期処理
    毎日数百〜数千件のデータを処理する場合、n8nの「実行単位」課金が有利です。ステップ数やデータ量に関係なく1実行でカウントされるため、コストを予測しやすくなります。

    2. 複雑なデータ加工が必要
    JavaScriptで自由にデータを加工したい場合、n8nのFunctionノードが強力です。正規表現での文字列処理、複雑な条件分岐、外部ライブラリの利用なども可能です。

    3. セキュリティ要件が厳しい
    「データを社外に出せない」という要件がある場合、セルフホスト版のn8nが唯一の選択肢です。自社サーバー内で完結するため、データの流出リスクを最小化できます。

    4. 長期的なコスト削減を重視
    セルフホスト版を使えば、n8n自体は無料です。サーバー代(月500〜2,000円程度)のみで運用でき、実行数も無制限です。

    Makeがおすすめのケース

    1. すぐに始めたい・インフラ管理したくない
    アカウント登録だけで即日利用開始できます。サーバー管理やアップデート対応などの手間がかかりません。

    2. 非エンジニアが中心に使う
    直感的なUIとビジュアルなエラーハンドリング機能により、技術的なバックグラウンドがなくても使いこなしやすい設計です。

    3. シンプルな自動化が中心
    「フォーム送信→Slack通知」「メール受信→スプレッドシート記録」といったシンプルな連携であれば、Makeの無料プラン(月1,000オペレーション)で十分対応できます。

    4. 堅牢なエラー処理が必要
    Makeのエラーハンドリング機能(Resume、Rollback、Breakなど)は視覚的に設定でき、本番運用での安定性を確保しやすい設計です。

    両ツールの併用という選択肢

    n8nとMakeは、併用することも可能です。Webhookを使えば、両ツール間でデータを受け渡せます。

    例えば、以下のような使い分けが考えられます。

    • シンプルな通知系はMakeで処理(UIが使いやすい)
    • 複雑なデータ処理はn8nで処理(コスト効率が良い)
    • 既存のMakeシナリオはそのまま、新規の高度な処理はn8nで構築

    既にどちらかを使っている場合でも、すべてを移行する必要はありません。用途に応じて使い分けることで、それぞれの強みを活かせます。

    よくある質問

    Q. Zapierと比べてどうですか?

    A. Zapierは最も使いやすいですが、料金が高めです。n8nとMakeはどちらもZapierより低コストで、より複雑な処理に対応できます。詳しくはをご覧ください。

    Q. 日本語対応していますか?

    A. 両ツールともUIの日本語化は部分的です。公式ドキュメントやコミュニティは英語中心ですが、ブラウザの翻訳機能で問題なく利用できます。

    Q. どちらを先に試すべきですか?

    A. 技術的なバックグラウンドがある方はn8n、そうでない方はMakeから試すのがおすすめです。両方とも無料で試せるので、実際に触って比較してみてください。

    Q. 既存のZapierから移行できますか?

    A. 直接のインポート機能はありませんが、同等のワークフローを再構築することは可能です。テンプレートを活用すれば、ゼロから作るより効率的に移行できます。

    Q. AIとの連携はどちらが優れていますか?

    A. 2025年時点では、n8nがAIエージェント機能の開発に力を入れており、複雑なAI連携ではn8nが有利です。シンプルなAI連携であれば両ツールとも問題なく対応できます。

    まとめ

    n8nとMakeは、それぞれ異なる強みを持つワークフロー自動化ツールです。

    n8nを選ぶべき人

    • コストを最優先したい(セルフホストで無料運用可能)
    • 複雑な処理・大量データを扱う
    • セキュリティ要件が厳しい
    • 技術的なカスタマイズをしたい

    Makeを選ぶべき人

    • 手軽に始めたい・インフラ管理したくない
    • 非エンジニアがメインで使う
    • シンプルな自動化が中心
    • 堅牢なエラー処理を視覚的に設定したい

    どちらも無料で試せるので、まずは実際に触ってみることをおすすめします。

    n8nの始め方については、で詳しく解説しています。

  • n8nは無料で使える?3つの方法とコスト比較【2025年最新】

    n8nは無料で使える?3つの方法とコスト比較【2025年最新】

    n8nは無料で使える業務自動化ツールです。クラウド版の14日間無料トライアル、デスクトップ版での完全無料利用、セルフホストによる月額0円運用など、複数の無料で使う方法があります。この記事では、予算を抑えてn8nを活用したい方向けに、各方法のメリット・デメリットと具体的な始め方を解説します。

    n8nは無料で使えるのか?結論

    結論から言うと、n8nは無料で使えます。ただし、利用方法によって条件が異なります。

    利用方法 料金 条件・制限
    クラウド版(トライアル) 14日間無料 期間限定。終了後は有料プラン(月額約3,300円〜)への移行が必要
    デスクトップ版 完全無料 PCが起動している間のみ動作
    セルフホスト版 n8n自体は無料 サーバー代が別途必要(月額500〜2,000円程度)

    コストを抑えたい方には、デスクトップ版かセルフホスト版がおすすめです。本格的に業務で使いたい場合は、セルフホスト版が最もコストパフォーマンスに優れています。

    無料で使う方法①:クラウド版の14日間無料トライアル

    最も手軽にn8nを試せるのが、クラウド版の無料トライアルです。

    クラウド版トライアルのメリット

    • アカウント登録だけですぐに使い始められる
    • サーバー設定などの技術的な作業が不要
    • すべての機能を14日間フルで試せる
    • 24時間365日安定して動作する

    クラウド版トライアルのデメリット

    • 14日間の期限がある
    • トライアル終了後は月額約3,300円(Starterプラン)が必要
    • 無料期間中にクレジットカード登録が必要な場合がある

    クラウド版トライアルの始め方

    n8n公式サイト(https://n8n.io)にアクセスし、「Get Started」をクリックします。メールアドレスとパスワードを登録すれば、すぐにn8nを使い始められます。

    クラウド版は「n8nがどんなツールか試してみたい」という方に最適です。ただし、14日間は意外と短いので、事前に自動化したい業務を整理しておくことをおすすめします。

    無料で使う方法②:デスクトップ版

    n8nにはPCにインストールして使うデスクトップ版があります。これは完全無料で、期限もありません。

    デスクトップ版のメリット

    • 完全無料で期限なし
    • インストールするだけで使える
    • データが自分のPC内で完結するのでセキュリティ面で安心
    • オフラインでも動作する

    デスクトップ版のデメリット

    • PCの電源を切るとワークフローが止まる
    • 外部からのWebhook受信が難しい
    • 24時間稼働させるにはPCを常時起動しておく必要がある

    デスクトップ版のインストール手順

    n8n公式サイトのダウンロードページから、お使いのOS(Windows/Mac/Linux)に対応したインストーラーをダウンロードします。インストーラーを実行すれば、数分でn8nが使えるようになります。

    デスクトップ版は「とりあえずn8nを学習したい」「手動で実行するワークフローを作りたい」という方に向いています。定期実行やWebhookトリガーが必要な本格的な業務自動化には、次に紹介するセルフホスト版がおすすめです。

    無料で使う方法③:セルフホスト版

    n8nを最もお得に使う方法が、セルフホスト版です。n8n自体の利用料は無料で、サーバー代のみで運用できます。

    セルフホスト版のメリット

    • n8n自体は完全無料
    • 実行回数、ワークフロー数、ユーザー数がすべて無制限
    • 24時間365日自動で動作する
    • データを自社管理できる
    • クラウド版と同等の機能が使える

    セルフホスト版のデメリット

    • サーバーの設定にある程度の技術知識が必要
    • サーバー代が別途必要(月額500〜2,000円程度)
    • セキュリティやアップデートは自己管理
    • 公式サポートが受けられない

    セルフホストの方法は2つ

    セルフホストには「ローカルPC」と「VPS(レンタルサーバー)」の2つの方法があります。

    ローカルPC(完全無料)
    自分のPCにDockerでn8nをインストールする方法です。サーバー代がかからないため完全無料ですが、PCを常時起動しておく必要があります。学習目的や個人利用には十分です。

    VPS(月額500〜2,000円)
    レンタルサーバー(VPS)にn8nをインストールする方法です。サーバー代は月額500〜2,000円程度かかりますが、24時間安定稼働が可能です。本格的な業務利用にはこちらがおすすめです。

    セルフホスト版の詳しい導入手順は、で解説しています。

    料金比較:クラウド版 vs セルフホスト版

    クラウド版とセルフホスト版のコストを比較してみましょう。

    項目 クラウド版(Starter) セルフホスト版(VPS)
    月額料金 約3,300円〜 約500〜2,000円
    年間コスト 約40,000円 約6,000〜24,000円
    実行回数制限 月2,500回 無制限
    ワークフロー数 無制限 無制限
    技術知識 不要 Dockerの基礎知識が必要
    サポート 公式サポートあり コミュニティのみ

    年間で比較すると、セルフホスト版は16,000〜34,000円程度のコスト削減になります。さらに実行回数が無制限なので、大量のワークフローを実行する場合は差がさらに広がります。

    無料で使うならどの方法がおすすめ?

    目的や状況によって、おすすめの方法が異なります。

    「まずはn8nを試してみたい」場合

    クラウド版の14日間無料トライアルがおすすめ

    すぐに使い始められるので、n8nがどんなツールか体験するのに最適です。14日間でn8nの基本操作を学び、自分に合うかどうか判断しましょう。

    「無料で学習・実験したい」場合

    デスクトップ版がおすすめ

    期限なく完全無料で使えるので、じっくり学習したい方に向いています。PCが起動している間だけ動作する点は注意が必要ですが、手動実行のワークフローなら問題ありません。

    「コストを抑えて本格運用したい」場合

    セルフホスト版(VPS)がおすすめ

    月額500〜2,000円で、クラウド版と同等の機能が無制限で使えます。Dockerの基礎知識が必要ですが、一度設定すれば24時間自動で動作します。

    「技術的なことは苦手だが業務で使いたい」場合

    クラウド版の有料プランを検討

    月額約3,300円で、サーバー管理不要・公式サポート付きで使えます。技術的なトラブル対応に時間を取られたくない場合は、コストをかけてもクラウド版を選ぶ価値があります。

    n8nの料金プラン一覧(2025年最新)

    参考として、n8nクラウド版の料金プランを紹介します。

    プラン 月額(年払い) 月額(月払い) 実行回数 特徴
    Starter €20(約3,300円) €24(約4,000円) 2,500回/月 個人・小規模チーム向け
    Pro €50(約8,300円) €60(約10,000円) 10,000回/月 チーム利用向け、管理機能充実
    Enterprise 要問合せ 要問合せ カスタム 大企業向け、専任サポート

    2025年8月の価格改定により、すべてのプランでワークフロー数・ユーザー数・ステップ数が無制限になりました。料金は実行回数ベースで計算されます。

    n8n無料利用の注意点

    無料でn8nを使う際に知っておくべき注意点をまとめます。

    商用利用のルール

    n8nは「フェアコードライセンス」に基づいて提供されています。以下の利用は無料で許可されています。

    • 自社の社内業務目的での利用・改変・運用
    • n8n関連の有償コンサルティング・構築・保守
    • 自社環境へのセットアップ代行

    一方、以下の利用は許可されていません。

    • n8nをホスティングして第三者に課金する
    • n8nをホワイトラベル化して再販する

    自社の業務自動化目的であれば、基本的に無料で商用利用できます。

    セルフホスト版のセキュリティ

    セルフホスト版を使う場合、セキュリティ管理は自己責任になります。以下の対策を行いましょう。

    • サーバーへのアクセス制限を設定する
    • n8nのログインにパスワード認証を設定する
    • 定期的にn8nとサーバーをアップデートする
    • 重要なワークフローはバックアップを取る

    無料トライアル終了後の注意

    クラウド版の14日間無料トライアルは、終了後に自動で有料プランに移行する場合があります。継続利用しない場合は、トライアル期間中にアカウントを解約するか、支払い情報を削除しておきましょう。

    ZapierやMakeとの料金比較

    n8nと競合する自動化ツールとの料金を比較します。

    ツール 無料プラン 有料プラン(月額) セルフホスト
    n8n 14日間トライアル 約3,300円〜 可能(無料)
    Zapier 月100タスク 約3,000円〜 不可
    Make 月1,000オペレーション 約1,500円〜 不可

    一見するとMakeが安く見えますが、複雑なワークフローでは差が縮まります。n8nは「1回のワークフロー実行=1カウント」ですが、Makeは「1つの処理=1オペレーション」なので、10ステップのワークフローを100回実行すると、n8nは100回、Makeは1,000オペレーションとカウントされます。

    また、n8nはセルフホストで完全無料運用が可能な唯一のツールです。長期的に見ると、n8nが最もコストパフォーマンスに優れています。

    よくある質問

    Q. n8nは完全無料で使えますか?

    A. デスクトップ版とセルフホスト版(ローカルPC)は完全無料で使えます。セルフホスト版(VPS)はサーバー代(月額500〜2,000円程度)が必要です。クラウド版は14日間の無料トライアル後、有料プラン(月額約3,300円〜)への移行が必要です。

    Q. 無料トライアル中にクレジットカードは必要ですか?

    A. 登録時に求められる場合がありますが、トライアル期間中は課金されません。継続しない場合は、期間終了前に解約またはカード情報を削除してください。

    Q. セルフホスト版に技術知識は必要ですか?

    A. Dockerの基本的な操作が必要です。コマンドラインに慣れていない方には難しく感じるかもしれませんが、手順通りに進めれば初心者でも構築可能です。YouTubeなどに日本語チュートリアルもあります。

    Q. 無料で使っても商用利用できますか?

    A. はい、自社の業務自動化目的であれば商用利用可能です。ただし、n8nをホスティングして第三者に課金するような利用は許可されていません。

    Q. クラウド版とセルフホスト版、どちらがおすすめですか?

    A. 技術的な設定に抵抗がなく、コストを抑えたいならセルフホスト版がおすすめです。サーバー管理が面倒、すぐに使いたい場合はクラウド版を選びましょう。

    まとめ

    n8nは無料で使える業務自動化ツールです。利用方法によって条件は異なりますが、コストを抑えて使いたい方にも複数の選択肢があります。

    • まず試したい → クラウド版の14日間無料トライアル
    • 無料で学習したい → デスクトップ版(完全無料)
    • コストを抑えて本格運用したい → セルフホスト版(VPS:月額500〜2,000円)
    • 技術的なことは苦手 → クラウド版有料プラン(月額約3,300円〜)

    セルフホスト版なら、年間で16,000〜34,000円のコスト削減が可能です。技術的なハードルはありますが、一度設定してしまえば、クラウド版と同等の機能を低コストで使い続けられます。

    まずはクラウド版のトライアルでn8nを体験し、気に入ったらセルフホスト版への移行を検討するのがおすすめの流れです。

  • 【2025年版】n8n初心者の始め方|登録から最初のワークフロー作成まで

    【2025年版】n8n初心者の始め方|登録から最初のワークフロー作成まで

    n8n(エヌエイトエヌ)は無料で始められる業務自動化ツールです。この記事では、プログラミング未経験の初心者でも迷わずn8nを始められるよう、アカウント登録から最初のワークフロー作成までをステップバイステップで解説します。

    n8nとは?5分でわかる基礎知識

    n8nは、異なるアプリやサービスを連携させて業務を自動化できるツールです。「ノード」と呼ばれる部品をつなげることで、コードを書かずに自動化の仕組みを作れます。

    たとえば「Gmailに新着メールが届いたら、内容をスプレッドシートに記録してSlackに通知する」といった作業を、一度設定するだけで自動的に実行してくれます。

    n8nの読み方と名前の由来

    n8nは「エヌエイトエヌ」と読みます。「nodemation(ノードメーション)」の略で、「node(ノード)」と「automation(オートメーション=自動化)」を組み合わせた造語です。

    その名の通り、ノードをつなげて自動化を実現するツールです。

    n8nでできることの具体例

    n8nを使うと、以下のような作業を自動化できます。

    • フォームの回答をスプレッドシートに自動記録
    • 特定のメールが届いたらSlackに通知
    • 毎日決まった時刻にデータを集計してレポート送信
    • SNSへの定期投稿
    • ChatGPTと連携した自動返信

    1,100以上のアプリ・サービスと連携できるため、普段使っているツールの多くをn8nでつなげられます。

    n8nを始める3つの方法

    n8nには3つの利用方法があります。それぞれの特徴を理解して、自分に合った方法を選びましょう。

    方法 特徴 おすすめの人
    クラウド版 登録するだけですぐ使える。14日間無料 初心者、すぐに試したい人
    デスクトップ版 PCにインストール。完全無料 ローカルで試したい人
    セルフホスト版 自分のサーバーで運用。無料だが技術知識が必要 コストを抑えたい人、データを自社管理したい人

    初心者には「クラウド版」がおすすめです。サーバーの準備や設定が不要で、アカウントを作成するだけですぐに使い始められます。

    【クラウド版】n8nのアカウント登録手順

    クラウド版でn8nを始める手順を解説します。5分程度で完了します。

    ステップ1:公式サイトにアクセス

    n8n公式サイト(https://n8n.io)にアクセスし、画面右上の「Get Started」ボタンをクリックします。

    ステップ2:アカウント情報を入力

    次の画面で以下の情報を入力します。

    • メールアドレス
    • パスワード
    • 名前(任意)

    入力後、「Start free 14-day trial」をクリックします。14日間は無料ですべての機能を試せます。

    ステップ3:アンケートに回答

    登録後、n8nの利用目的などを尋ねるアンケートが表示されます。質問数は多めですが、機能には影響しないので気楽に回答してください。

    ステップ4:メール認証

    登録したメールアドレスに認証メールが届きます。メール内のリンクをクリックして認証を完了させてください。

    ステップ5:n8nエディタを開く

    認証が完了したら、ダッシュボード画面で「Open instance」をクリックします。これでn8nのワークフローエディタが開き、自動化を始める準備が整いました。

    n8nの画面構成と基本用語

    初めてn8nを開くと、見慣れない画面に戸惑うかもしれません。まずは基本的な用語と画面構成を理解しましょう。

    覚えておきたい3つの用語

    用語 意味
    ワークフロー 自動化の仕組み全体 「メール受信→スプレッドシート記録→Slack通知」という一連の流れ
    ノード ワークフローを構成する部品 Gmailノード、スプレッドシートノード、Slackノード
    トリガー ワークフローを開始するきっかけ メール受信、特定の時刻、フォーム送信

    エディタ画面の見方

    n8nのエディタ画面は、主に以下の要素で構成されています。

    キャンバス(中央)
    ノードを配置してワークフローを組み立てる作業スペースです。

    ノードパネル(右側)
    使用できるノードの一覧が表示されます。検索ボックスでノードを探すこともできます。

    上部メニュー
    ワークフローの保存、実行、設定などを行うボタンが並んでいます。

    最初のワークフローを作ってみよう

    基本を理解したら、実際にワークフローを作成してみましょう。最初は「手動でボタンを押すとSlackにメッセージを送る」というシンプルなワークフローを作ります。

    ステップ1:新規ワークフローを作成

    ダッシュボードで「Create Workflow」をクリックします。白紙のキャンバスが表示されます。

    ステップ2:トリガーノードを追加

    まず、ワークフローを開始するきっかけとなる「トリガーノード」を追加します。

    キャンバス上の「+」ボタンをクリックし、検索ボックスに「Manual」と入力します。「Manual Trigger」を選択してください。

    これは「手動でボタンを押したときに実行」というトリガーです。テストや学習に便利なので、最初はこれを使います。

    ステップ3:Slackノードを追加

    次に、Slackにメッセージを送るノードを追加します。

    Manual Triggerノードの右側にある「+」をクリックし、「Slack」を検索して選択します。

    ステップ4:Slackの認証設定

    Slackノードを選択すると、右側に設定パネルが表示されます。n8nとSlackを連携するには認証が必要です。

    「Credential to connect with」の欄で「Create new credential」を選択し、画面の指示に従ってSlackアカウントと連携します。

    ステップ5:送信内容を設定

    認証が完了したら、以下の設定を行います。

    • Resource:Message
    • Operation:Send
    • Channel:メッセージを送りたいチャンネルを選択
    • Text:送信するメッセージを入力(例:「n8nからのテストメッセージです!」)

    ステップ6:テスト実行

    設定が完了したら、画面上部の「Test workflow」ボタンをクリックします。

    正常に動作すれば、指定したSlackチャンネルにメッセージが届きます。おめでとうございます!最初のワークフローが完成しました。

    ステップ7:ワークフローを保存

    テストが成功したら、画面上部の「Save」ボタンでワークフローを保存します。名前をつけて整理しておくと、後で見つけやすくなります。

    初心者におすすめの練習ワークフロー3選

    最初のワークフローが作れたら、少しずつ複雑なものに挑戦してみましょう。初心者でも作りやすい練習用ワークフローを紹介します。

    1. スケジュール実行でSlack通知

    「毎朝9時にSlackにメッセージを送る」というワークフローです。

    Manual TriggerをSchedule Trigger(スケジュールトリガー)に置き換えるだけで作れます。定時のリマインダーや日報の催促などに活用できます。

    2. Googleフォームの回答をスプレッドシートに記録

    Googleフォームに回答があると、自動でスプレッドシートに記録するワークフローです。

    使用するノードは「Google Forms Trigger」と「Google Sheets」の2つ。フォームの回答管理やアンケート集計に便利です。

    3. RSSフィードの更新をSlackに通知

    特定のブログやニュースサイトが更新されたら、Slackに通知するワークフローです。

    「RSS Feed Read」ノードでRSSを取得し、Slackノードで通知を送ります。情報収集の自動化に役立ちます。

    n8nでつまずきやすいポイントと解決法

    初心者がn8nを使い始めるときによく遭遇する問題と、その解決法を紹介します。

    認証エラーが出る

    外部サービス(Gmail、Slack、Googleスプレッドシートなど)と連携する際、認証エラーが発生することがあります。

    解決法

    • 認証情報を再度作成し直す
    • 連携先サービスでn8nへのアクセス許可を確認する
    • ブラウザのCookieやキャッシュをクリアして再試行

    ノードが見つからない

    使いたいサービスのノードが見つからない場合があります。

    解決法

    • 検索ワードを変えて探す(例:「Google Drive」ではなく「Drive」)
    • HTTP Requestノードを使ってAPIを直接呼び出す
    • n8n公式サイトで対応ノード一覧を確認する

    ワークフローが動かない

    テスト実行してもワークフローが期待通りに動かないことがあります。

    解決法

    • 各ノードを1つずつ実行して、どこで問題が起きているか特定する
    • ノードの出力データを確認し、次のノードに正しくデータが渡っているか確認する
    • エラーメッセージを読んで原因を把握する

    n8nを効率的に学ぶ方法

    n8nをより深く学ぶためのリソースを紹介します。

    公式テンプレートを活用する

    n8nには1,700以上のワークフローテンプレートが用意されています。エディタ内の「Templates」からアクセスでき、気になるテンプレートをコピーして自分のワークフローとして使えます。

    テンプレートを参考にすることで、ノードの使い方や設定方法を効率的に学べます。

    YouTube動画で学ぶ

    視覚的に操作を確認したい場合は、YouTubeがおすすめです。「n8n tutorial」で検索すると、多くのチュートリアル動画が見つかります。

    日本語で学びたい場合は「n8n 使い方」「n8n チュートリアル」で検索してみてください。

    公式ドキュメントを参照する

    困ったときは公式ドキュメント(https://docs.n8n.io)が頼りになります。英語ですが、各ノードの詳細な使い方や設定例が記載されています。ブラウザの翻訳機能を使えば、日本語で読むことも可能です。

    コミュニティに参加する

    n8nには活発なコミュニティがあります。公式フォーラム(https://community.n8n.io)では、世界中のユーザーと情報交換したり、疑問点を質問したりできます。

    次のステップ:本格的な業務自動化へ

    基本操作に慣れてきたら、実際の業務で使えるワークフローに挑戦しましょう。

    自動化のアイデアを見つけるコツ

    自動化できる業務を見つけるには、日々の作業を「トリガー」と「アクション」に分解して考えます。

    考え方の例

    • 「〇〇したら」(トリガー)→「△△する」(アクション)
    • 「メールが届いたら」→「スプレッドシートに記録する」
    • 「毎週月曜9時になったら」→「レポートをSlackに送信する」
    • 「フォームが送信されたら」→「担当者にメールで通知する」

    普段の業務で「毎回同じことをしている」「手作業で時間がかかる」と感じる作業があれば、それが自動化のチャンスです。

    AI連携で自動化を進化させる

    n8nはChatGPT(OpenAI)との連携も可能です。AIを組み込むことで、以下のような高度な自動化も実現できます。

    • 問い合わせメールの内容を要約して担当者に通知
    • 顧客の声を自動で分類・分析
    • AIが返信文のドラフトを自動生成

    まずは基本のワークフローをマスターしてから、AI連携に挑戦してみてください。

    よくある質問

    Q. プログラミング経験がなくても使えますか?

    A. はい、使えます。n8nはドラッグ&ドロップの操作が基本なので、プログラミング未経験でも問題ありません。まずはシンプルなワークフローから始めて、徐々に慣れていくのがおすすめです。

    Q. 無料でどこまで使えますか?

    A. クラウド版は14日間の無料トライアルがあります。その後は月額約2,000円から利用できます。完全無料で使い続けたい場合は、Dockerを使ったセルフホスト版()がおすすめです。

    Q. 英語が苦手でも大丈夫ですか?

    A. n8nの画面は英語ですが、操作自体は直感的なので英語力はそれほど必要ありません。ノード名やボタンは単純な英単語が多く、ブラウザの翻訳機能も活用できます。

    Q. スマホからも使えますか?

    A. n8nはブラウザベースのツールなので、スマホからもアクセス可能です。ただし、ワークフローの作成・編集はPC画面での操作が推奨されます。

    Q. 他の自動化ツール(Zapier、Make)との違いは?

    A. n8nの最大の特徴は「セルフホストで無料利用できる」点です。また、カスタマイズ性が高く、複雑な処理にも対応できます。一方、ZapierやMakeは設定がシンプルで初心者に優しい反面、料金が高めです。

    まとめ

    n8nは無料で始められる強力な業務自動化ツールです。この記事で紹介した手順に従えば、プログラミング未経験の方でもn8nを使い始められます。

    • 初心者はクラウド版から始めるのがおすすめ
    • 基本用語は「ワークフロー」「ノード」「トリガー」の3つ
    • まずはシンプルなワークフローで操作に慣れる
    • テンプレートやYouTubeを活用して効率的に学ぶ

    最初は簡単なワークフローから始めて、少しずつ自動化の範囲を広げていきましょう。日々の繰り返し作業から解放され、本来やるべき仕事に集中できる環境が手に入ります。

  • 【非エンジニア向け】n8nで業務自動化|ノーコードで始める働き方改革

    【非エンジニア向け】n8nで業務自動化|ノーコードで始める働き方改革

    n8n(エヌエイトエヌ)を使えば、プログラミング知識ゼロでも業務の自動化が可能です。毎日のルーティン作業から解放され、本来やるべき仕事に集中できる環境を手に入れましょう。

    この記事では、非エンジニアの方でもすぐに理解できるよう、n8nの基本から具体的な活用シーンまでわかりやすく解説します。

    n8nとは?非エンジニアでも使えるノーコード自動化ツール

    n8nは「ノード・トゥ・ノード(node to node)」の略で、異なるアプリやサービスを「ノード」という部品でつなげて業務を自動化できるツールです。

    たとえば「Gmailに新着メールが届いたら、内容をGoogleスプレッドシートに記録して、Slackで通知する」といった一連の作業を、一度設定するだけで自動的に実行してくれます。

    ノーコードツールだから直感的に操作できる

    n8nの最大の特徴は、ドラッグ&ドロップで操作できるビジュアルエディタです。プログラミングコードを書く必要はなく、フローチャートを描く感覚でワークフローを作成できます。

    各ノード(処理の部品)をキャンバス上に配置し、矢印でつなげていくだけ。作業の流れが目に見える形で表示されるため、「今どこで何が起きているか」が一目でわかります。

    n8nの3つの強み

    n8nが他のツールと比べて優れている点を整理しました。

    強み 内容
    コスト面 セルフホスト版なら無料で無制限に使用可能。クラウド版も月額約2,000円から
    連携サービス数 1,100以上のアプリ・サービスと接続可能(2025年時点)
    柔軟性 ノーコードで簡単に使え、必要に応じてJavaScriptでカスタマイズも可能

    n8nで自動化できる業務の具体例

    「自動化」と言われても、具体的に何ができるのかイメージしにくいかもしれません。ここでは部門別に活用例を紹介します。

    営業・マーケティング部門

    営業やマーケティングでは、リード(見込み客)の管理や顧客とのコミュニケーションに多くの時間を取られがちです。n8nを使えば以下のような作業を自動化できます。

    リード情報の自動登録
    Googleフォームやお問い合わせフォームから送信された情報を、自動でCRM(顧客管理システム)やスプレッドシートに登録。同時にSlackやメールで担当者に通知を送ることも可能です。

    SNS投稿の自動化
    スプレッドシートに投稿内容と日時を入力しておけば、指定時刻に自動でTwitterやLinkedInに投稿。AIと連携して投稿文を最適化することもできます。

    フォローアップメールの自動送信
    資料請求があった翌日に自動でお礼メールを送信。さらにChatGPTと連携すれば、顧客ごとにパーソナライズされた文面を自動生成することも可能です。

    経理・管理部門

    経理や管理部門では、データの転記や集計といった定型作業が多く発生します。

    請求書の自動処理
    メールに添付された請求書PDFを自動でGoogleドライブに保存し、内容をスプレッドシートに記録。支払い期限が近づいたら担当者に通知を送るフローも構築できます。

    日報・週報の自動作成
    Googleカレンダーの予定やタスク管理ツールの完了タスクを自動で集計し、日報のドラフトを作成。毎日決まった時刻にSlackやメールで共有できます。

    経費精算の効率化
    経費精算フォームの入力内容を自動で会計ソフトに転記。領収書の画像をAI(OCR)で読み取り、金額や日付を自動入力することも可能です。

    人事・総務部門

    人事・総務部門では、社員情報の管理や各種手続きの効率化にn8nが活躍します。

    新入社員のオンボーディング自動化
    入社情報がフォームに入力されたら、自動でNotionにタスクリストを作成し、Slackで関係者に通知。必要なアカウントの作成依頼メールを自動送信することもできます。

    勤怠データの自動集計
    勤怠管理システムのデータを毎日自動で取得し、スプレッドシートに集計。残業時間が一定を超えた社員がいれば、アラートを送信するフローも構築できます。

    社内アンケートの自動分析
    Googleフォームで集めた回答をChatGPTで自動分析し、要約レポートをNotionやスプレッドシートに出力。傾向や課題を素早く把握できます。

    n8nの始め方:3つの利用方法

    n8nには3つの利用方法があり、目的やスキルレベルに応じて選べます。

    利用方法 特徴 こんな人におすすめ
    クラウド版(n8n.cloud) 登録するだけですぐ使える。月額約2,000円から 手軽に始めたい人、サーバー管理が苦手な人
    デスクトップ版 PCにインストールして使用。無料 まず試してみたい人、ローカルで作業したい人
    セルフホスト版 自分のサーバーで運用。無料だが技術知識が必要 コストを抑えたい人、データを自社管理したい人

    非エンジニアの方がまず試すなら、クラウド版がおすすめです。14日間の無料トライアルがあり、登録後すぐにワークフロー作成を始められます。

    では、Dockerを使った導入方法を詳しく解説しています。

    n8nとZapier・Makeの違い

    業務自動化ツールとしては、Zapier(ザピアー)やMake(メイク、旧Integromat)も有名です。それぞれの違いを比較しました。

    項目 n8n Zapier Make
    料金 セルフホストなら無料 月額約3,000円〜 月額約1,500円〜
    操作性 中程度(慣れが必要) 簡単 やや複雑
    カスタマイズ性 非常に高い 低い 高い
    セルフホスト 可能 不可 不可
    AI連携 柔軟に対応 対応 対応

    Zapierは最も使いやすく、「とにかく簡単に始めたい」という人に向いています。一方、n8nは初期の学習コストはかかりますが、コストを抑えながら高度な自動化を実現したい場合に最適です。

    非エンジニアがn8nを学ぶときのポイント

    n8nはノーコードツールですが、最初は戸惑う場面もあるかもしれません。スムーズに学習を進めるためのポイントを紹介します。

    まずは簡単なワークフローから始める

    いきなり複雑な自動化を目指すのではなく、シンプルなフローから始めましょう。おすすめの最初の一歩は以下のようなワークフローです。

    • Googleフォームの回答をスプレッドシートに自動転記
    • 特定のキーワードを含むメールをSlackに通知
    • 毎朝決まった時刻にスプレッドシートの内容をメール送信

    n8nには公式テンプレートが豊富に用意されているので、それをコピーして少しずつカスタマイズしていく方法もおすすめです。

    「トリガー」と「アクション」を理解する

    n8nのワークフローは「トリガー(きっかけ)」と「アクション(実行する処理)」で構成されています。

    トリガーの例
    新しいメールが届いた、フォームが送信された、特定の時刻になった、ファイルがアップロードされた

    アクションの例
    データをスプレッドシートに記録する、Slackにメッセージを送る、メールを送信する、AIに文章を生成させる

    この2つの概念を理解すれば、「〇〇したら△△する」という形で自動化のアイデアが浮かびやすくなります。

    エラーが出ても焦らない

    ワークフローを作成していると、エラーが発生することがあります。n8nでは各ノードの実行結果が表示されるため、どこで問題が起きたかを特定しやすい設計になっています。

    よくあるエラーの原因は以下のとおりです。

    • 認証情報(APIキーやログイン情報)が正しく設定されていない
    • データの形式が合っていない(文字列と数値の違いなど)
    • 参照しているフィールド名が間違っている

    エラーメッセージを読み、一つずつ原因を潰していけば、必ず解決できます。

    n8n × AI連携で広がる可能性

    n8nの真価を発揮するのが、ChatGPTなどのAIとの連携です。従来は人間にしかできなかった「判断」や「文章作成」をAIに任せることで、自動化の幅が大きく広がります。

    AIでできること

    文章の自動生成・要約
    長文のメールや議事録を要約したり、問い合わせに対する返信文を自動生成したりできます。

    データの分類・判定
    顧客からのメールを「技術サポート」「請求関連」「一般問い合わせ」などに自動分類し、適切な担当者に振り分けることが可能です。

    多言語翻訳
    海外からの問い合わせを自動翻訳して担当者に通知。返信文も翻訳して送信するフローを構築できます。

    AI連携の具体例

    以下のようなワークフローがn8nとAIの組み合わせで実現できます。

    1. 問い合わせフォームから内容を受け取る
    2. ChatGPTで問い合わせ内容を分析・分類
    3. 分類結果に応じて担当部署のSlackチャンネルに通知
    4. ChatGPTで返信のドラフトを自動生成
    5. 担当者が確認・修正して送信

    このフローなら、問い合わせ対応の初動を大幅にスピードアップできます。

    n8nを使った自動化の成功事例

    実際にn8nを導入して成果を上げている事例を紹介します。

    事例1:SNS運用の効率化(マーケティング担当)

    あるマーケティング担当者は、SNS投稿の準備に毎日1時間以上かけていました。n8nを導入後、以下のフローを構築。

    • RSSフィードから最新ニュースを自動収集
    • AIで投稿文を自動生成
    • 指定時刻に自動投稿

    結果、作業時間は10分程度に短縮。空いた時間を戦略立案に充てられるようになりました。

    事例2:顧客対応の自動化(カスタマーサポート)

    顧客からのメールをAIで分類し、よくある質問には自動返信、複雑な問い合わせは担当者に振り分けるフローを構築。対応スピードが向上し、顧客満足度が改善しました。

    事例3:月200時間の工数削減(IT運用)

    新入社員のアカウント作成を自動化。人事システムと連携して各種SaaSのアカウントを自動生成・設定するワークフローを構築し、月200時間の工数削減を実現した事例も報告されています。

    よくある質問

    Q. プログラミング経験がなくても本当に使えますか?

    A. はい、使えます。n8nはドラッグ&ドロップの操作が基本なので、プログラミング未経験でも問題ありません。ただし、最初は操作に慣れるまで少し時間がかかるかもしれません。公式テンプレートを活用しながら、簡単なワークフローから始めることをおすすめします。

    Q. 無料で使えますか?

    A. はい、セルフホスト版(自分のサーバーで運用)は無料で使えます。ただしサーバーの準備や管理が必要です。クラウド版は有料ですが、14日間の無料トライアルがあります。

    Q. セキュリティは大丈夫ですか?

    A. n8nはセルフホストが可能なため、データを自社サーバー内で完結させることができます。機密性の高い情報を扱う企業でも安心して導入できる点が強みです。クラウド版もSOC2認証を取得するなど、セキュリティ対策が施されています。

    Q. 日本語の情報はありますか?

    A. n8nの公式ドキュメントは英語ですが、日本でも利用者が増えており、日本語での情報共有が活発になっています。Qiitaやnoteなどで日本語の解説記事やチュートリアルを見つけることができます。

    Q. どんなアプリと連携できますか?

    A. Gmail、Googleスプレッドシート、Slack、Notion、ChatGPT、LINE、Salesforce、HubSpotなど、1,100以上のサービスと連携可能です。連携したいサービスがあるかどうかはn8n公式サイトで検索できます。

    まとめ

    n8nは、プログラミング知識がなくても業務自動化を実現できる強力なツールです。

    • ノーコードで直感的に操作できる
    • 1,100以上のアプリ・サービスと連携可能
    • セルフホストなら無料で無制限に使用
    • AI連携で「判断」や「文章作成」も自動化

    まずは簡単なワークフローから始めて、少しずつ自動化の範囲を広げていくのがおすすめです。毎日の繰り返し作業から解放され、本来の業務に集中できる環境を手に入れましょう。

    クラウド版の無料トライアルから気軽に始められるので、ぜひ一度試してみてください。

  • 【初心者向け】n8nローカルインストール完全ガイド|Dockerで5分で始める方法

    【初心者向け】n8nローカルインストール完全ガイド|Dockerで5分で始める方法

    n8nをローカルPCにインストールすれば、無料でワークフロー自動化を試せます。クラウド版の月額費用を気にせず、じっくり学習したい方に最適です。

    この記事では、Docker Desktopを使った最も簡単なインストール方法を解説します。コマンド操作が苦手な方でも、画面の指示に従って進めるだけで、5分程度でn8nを起動できます。

    n8nローカル版とは?クラウド版との違い

    n8nには「クラウド版」「セルフホスト版(VPS)」「ローカル版」の3つの導入方法があります。それぞれの特徴を確認しましょう。

    項目 クラウド版 セルフホスト版(VPS) ローカル版
    月額費用 €20〜(約3,000円〜) VPS代(500〜1,500円) 無料
    常時稼働 ×(PC起動中のみ)
    Webhook受信 △(ngrok等が必要)
    セットアップ難易度 簡単 やや難しい 簡単
    推奨用途 本番運用 本番運用 学習・テスト

    ローカル版の最大のメリットは費用が0円であることです。ワークフロー数や実行回数の制限もないため、n8nの機能を存分に試せます。

    ただし、PCをシャットダウンするとn8nも停止するため、常時稼働が必要な本番運用には向きません。まずはローカル版で基本を学び、本格運用時にVPSやクラウド版へ移行するのが一般的な流れです。

    インストールに必要な環境

    n8nをDockerでローカル実行するには、以下の環境が必要です。

    対応OS

    • Windows 10 Pro/Enterprise(ビルド19041以上)またはWindows 11
    • macOS 10.15 Catalina以降
    • Linux(Ubuntu 20.04以降推奨)

    Windows 10 Homeでも、WSL2(Windows Subsystem for Linux 2)を有効化すれば利用できます。

    推奨スペック

    項目 最低要件 推奨スペック
    メモリ 4GB 8GB以上
    ストレージ 10GB以上の空き 20GB以上
    CPU デュアルコア 4コア以上

    一般的なビジネス用PCであれば問題なく動作します。

    Step 1:Docker Desktopのインストール

    まず、Dockerをインストールします。Dockerは「仮想的なアプリ環境を作るツール」です。n8nを直接PCにインストールせず、安全に動作させることができます。

    Dockerのダウンロード

    Docker公式サイト(https://www.docker.com/products/docker-desktop/)にアクセスし、お使いのOSに合ったDocker Desktopをダウンロードします。

    Windowsの場合は、AMDまたはARM64のどちらかを選択します。一般的なPCはAMD64(x64)を選んでください。ARM64は一部のSurface ProやARM搭載ノートPC向けです。

    インストール手順

    ダウンロードしたインストーラーを実行し、画面の指示に従って進めます。

    Windowsの場合、インストール中に「Use WSL 2 instead of Hyper-V」というオプションが表示されたら、チェックを入れたままにしてください。Windows 10 Homeユーザーは、この設定が必須です。

    インストールが完了したら、PCを再起動します。再起動後、Docker Desktopが自動的に起動します。

    Docker Desktopの起動確認

    Docker Desktopを起動すると、タスクバー(Windowsの場合)またはメニューバー(macOSの場合)にクジラのアイコンが表示されます。

    初回起動時にサービス規約への同意を求められる場合があります。内容を確認して同意してください。

    Windowsユーザーで「WSL 2 installation is incomplete」というエラーが表示された場合は、表示される指示に従ってWSL2をアップデートしてください。

    Step 2:n8nのインストール(Docker Desktop GUI版)

    Docker Desktopを使った最も簡単なインストール方法を紹介します。コマンドを入力する必要はありません。

    Volumeの作成(データ永続化)

    最初に、ワークフローやデータを保存するための場所(Volume)を作成します。この設定をしないと、n8nを再起動したときにデータが消えてしまいます。

    Docker Desktopを開き、左側のメニューから「Volumes」を選択します。右上の「Create」ボタンをクリックし、Volume名に「n8n_data」と入力して作成します。

    n8nイメージのダウンロード

    左側のメニューから「Images」を選択します。上部の検索バーに「n8n」と入力し、表示される「n8nio/n8n」の右側にある「Pull」ボタンをクリックします。

    ダウンロードには数分かかる場合があります。完了すると、Imagesの一覧に「n8nio/n8n」が表示されます。

    コンテナの起動

    ダウンロードしたイメージの右側にある「Run」ボタン(再生アイコン)をクリックします。設定画面が表示されるので、「Optional settings」を展開して以下の項目を入力します。

    項目 設定値
    Container name n8n
    Host port 5678
    Volume (Host path) n8n_data
    Volume (Container path) /home/node/.n8n

    環境変数(Environment variables)として、以下を追加するとタイムゾーンが日本時間になります。

    Variable Value
    GENERIC_TIMEZONE Asia/Tokyo
    TZ Asia/Tokyo

    設定が完了したら「Run」ボタンをクリックします。

    Step 3:n8nにアクセス

    コンテナが起動したら、ブラウザを開いて以下のURLにアクセスします。

    
    <a href="http://localhost:5678" target="_blank" rel="noopener">http://localhost:5678</a>
    

    n8nのセットアップ画面が表示されます。

    アカウントの作成

    初回アクセス時に、オーナーアカウントの作成を求められます。以下の情報を入力してください。

    • 名前
    • メールアドレス
    • パスワード

    このアカウント情報はローカルに保存されるため、外部に送信されることはありません。ただし、パスワードは忘れないように控えておいてください。

    「Next」をクリックして進むと、n8nのダッシュボードが表示されます。これでインストールは完了です。

    Step 4(任意):コマンドラインでのインストール

    より細かい設定をしたい方や、GUI操作が苦手な方向けに、コマンドラインでのインストール方法も紹介します。

    Volumeの作成

    ターミナル(Windows: PowerShell、mac: ターミナル)を開き、以下のコマンドを実行します。

    
    docker volume create n8n_data
    

    n8nの起動

    以下のコマンドでn8nを起動します。

    
    docker run -d 
      –name n8n 
      -p 5678:5678 
      -e GENERIC_TIMEZONE=”Asia/Tokyo” 
      -e TZ=”Asia/Tokyo” 
      -v n8n_data:/home/node/.n8n 
      –restart unless-stopped 
      n8nio/n8n
    

    Windowsの場合は、バックスラッシュ()を使わず1行で入力するか、PowerShellでバッククォート(`)に置き換えてください。

    
    docker run -d –name n8n -p 5678:5678 -e GENERIC_TIMEZONE=”Asia/Tokyo” -e TZ=”Asia/Tokyo” -v n8n_data:/home/node/.n8n –restart unless-stopped n8nio/n8n
    

    各オプションの説明

    オプション 説明
    -d バックグラウンドで実行
    –name n8n コンテナの名前を設定
    -p 5678:5678 ポート5678でアクセス可能にする
    -e 環境変数の設定
    -v データの永続化(ボリュームマウント)
    –restart unless-stopped PC再起動時に自動で起動

    n8nの基本操作

    インストールが完了したら、簡単なワークフローを作成してみましょう。

    最初のワークフロー作成

    ダッシュボードの「Create a new workflow」または「+」ボタンをクリックして、新しいワークフローを作成します。

    ワークフロー編集画面が開いたら、「+」ボタンをクリックしてノードを追加できます。検索ボックスに「Manual Trigger」と入力し、選択してください。

    Manual Triggerは手動でワークフローを実行するためのトリガーです。「Execute Workflow」ボタンをクリックすると、ワークフローが実行されます。

    AIエージェントのテスト

    n8nはAI機能も搭載しています。ホームページから「Test a simple AI Agent example」を選択すると、AIエージェントのデモワークフローを試せます。

    OpenAI APIキーがない場合は、Google Geminiに置き換えることも可能です。Geminiは無料でAPIキーを取得できるため、初心者にもおすすめです。

    n8nの停止・起動・アップデート

    日常的な操作方法を解説します。

    停止方法

    Docker Desktopの「Containers」タブから、n8nコンテナの右側にある停止ボタン(■)をクリックします。

    コマンドラインの場合は以下を実行します。

    
    docker stop n8n
    

    起動方法

    Docker Desktopで停止中のコンテナの右側にある再生ボタン(▶)をクリックします。

    コマンドラインの場合は以下を実行します。

    
    docker start n8n
    

    アップデート方法

    n8nは頻繁にアップデートされるため、定期的に最新版に更新することをおすすめします。

    Docker Desktopの場合は、「Images」タブで「n8nio/n8n」を右クリックし、「Pull」を選択して最新イメージをダウンロードします。その後、既存のコンテナを削除して、新しいコンテナを作成します。

    コマンドラインの場合は以下の手順で実行します。

    
    # 最新イメージをダウンロード
    docker pull n8nio/n8n
    
    # 既存コンテナを停止・削除
    docker stop n8n
    docker rm n8n
    
    # 新しいコンテナを起動(Step 4の起動コマンドを再実行)
    docker run -d –name n8n -p 5678:5678 -e GENERIC_TIMEZONE=”Asia/Tokyo” -e TZ=”Asia/Tokyo” -v n8n_data:/home/node/.n8n –restart unless-stopped n8nio/n8n
    

    Volumeにデータが保存されているため、コンテナを削除してもワークフローや設定は消えません。

    トラブルシューティング

    インストール時によくある問題と解決方法をまとめました。

    ポート5678が使用中のエラー

    「port is already in use」というエラーが表示された場合、すでに5678番ポートを使用しているアプリケーションがあります。

    別のポート番号(例:5679)を使用するか、該当のアプリケーションを停止してください。ポートを変更する場合は、起動時に「-p 5679:5678」と指定します。

    WSL 2のエラー(Windows)

    「WSL 2 installation is incomplete」や「WSL update is required」というエラーが表示された場合、PowerShellを管理者権限で開き、以下のコマンドを実行してください。

    
    wsl –update
    

    その後、PCを再起動してDocker Desktopを起動します。

    コンテナが起動しない

    Docker Desktopの「Containers」タブでn8nコンテナのログを確認します。コンテナ名をクリックすると、ログが表示されます。

    よくある原因として、メモリ不足があります。Docker Desktopの設定(歯車アイコン)から「Resources」を開き、割り当てメモリを増やしてください(4GB以上を推奨)。

    データが消えた

    Volumeを設定せずにコンテナを削除すると、データが失われます。必ずVolumeを作成し、「-v n8n_data:/home/node/.n8n」オプションを指定してください。

    ローカル版の制限事項と対処法

    ローカル版には本番運用と比較していくつかの制限があります。

    Webhookの制限

    ローカル環境では、外部サービスからのWebhookを受け取れません。「localhost」はインターネットからアクセスできないためです。

    この制限を回避するには、ngrokやCloudflare Tunnelなどのトンネリングサービスを使用します。これらのサービスは、一時的な公開URLを発行し、外部からのアクセスをローカル環境に転送します。

    常時稼働の制限

    PCをシャットダウンまたはスリープすると、n8nも停止します。定期実行のワークフローは、PCが起動中でないと動作しません。

    常時稼働が必要な場合は、VPSへのセルフホストまたはn8n Cloudの利用を検討してください。

    次のステップ

    ローカル版でn8nの基本を学んだら、以下のステップに進んでみてください。

    • n8nの公式テンプレートを試す:700以上のテンプレートからワークフローをインポートできます
    • 外部サービスと連携する:Gmail、Slack、Google Sheetsなど400以上のサービスと接続できます
    • AI機能を活用する:ChatGPT、Claude、Geminiなどと連携したワークフローを構築できます
    • 本番運用を検討する:VPSへのセルフホストやn8n Cloudへの移行を検討します

    よくある質問(FAQ)

    Q. ローカル版は完全に無料ですか?

    A. はい、ローカル版(Community版)は完全無料です。ワークフロー数や実行回数の制限もありません。ただし、商用サービスとして第三者に提供する場合は、ライセンスの確認が必要です。

    Q. Docker以外の方法でインストールできますか?

    A. はい、Node.jsとnpmを使ってインストールすることも可能です。ただし、n8nはNode.js v20.19〜v24.xを要求するため、バージョン管理が必要です。Dockerを使う方法が最も簡単で、公式でも推奨されています。

    Q. PCのスペックが低くても動きますか?

    A. メモリ4GB、デュアルコアCPUがあれば基本的なワークフローは動作します。ただし、複雑なワークフローや大量のデータ処理を行う場合は、より高いスペックが必要です。

    Q. ローカル版からVPSやクラウドに移行できますか?

    A. はい、ワークフローをエクスポートして、別の環境にインポートできます。ただし、認証情報(Credentials)は暗号化されているため、移行先で再設定が必要な場合があります。

    Q. セキュリティは大丈夫ですか?

    A. ローカル版はPCの中だけで動作するため、外部からのアクセスはありません。データはすべてPC内に保存されるため、プライバシーの観点では安全です。ただし、ngrokなどで公開する場合は、認証設定などのセキュリティ対策が必要です。

    まとめ

    この記事では、Docker Desktopを使ったn8nのローカルインストール方法を解説しました。

    インストールの流れは以下の通りです。

    1. Docker Desktopをインストール
    2. Volumeを作成(データ永続化)
    3. n8nイメージをPull
    4. コンテナを起動
    5. http://localhost:5678 にアクセス

    ローカル版は無料でn8nの全機能を試せるため、学習やテストに最適です。まずはシンプルなワークフローから始めて、徐々に複雑な自動化に挑戦してみてください。本格的な運用が必要になったら、VPSへのセルフホストやn8n Cloudへの移行を検討しましょう。

  • 【エンジニア向け】n8n Docker Compose設定完全ガイド|環境変数・PostgreSQL・Queue Mode・Traefik連携

    【エンジニア向け】n8n Docker Compose設定完全ガイド|環境変数・PostgreSQL・Queue Mode・Traefik連携

    n8nをDockerで運用するエンジニアにとって、Docker Composeの設定は最も重要な基盤です。

    環境変数の設定ミス、ボリュームの永続化忘れ、ネットワーク設定の誤りなど、多くのトラブルはdocker-compose.ymlの設定に起因します。

    この記事では、n8nのDocker Compose設定について、環境変数の完全リファレンス、本番向け構成パターン、Queue Mode設定、Traefik連携まで、エンジニアが知っておくべき技術を網羅的に解説します。

    基本構成:最小限のdocker-compose.yml

    まず、ローカル開発用の最小構成を確認します。

    最小構成(SQLite + HTTP)


    version: "3.8"

    services:
    n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
    - "5678:5678"
    environment:
    - GENERIC_TIMEZONE=Asia/Tokyo
    - TZ=Asia/Tokyo
    volumes:
    - n8n_data:/home/node/.n8n

    volumes:
    n8n_data:

    この構成の特徴:

    • データベース:SQLite(デフォルト)
    • プロトコル:HTTP(ローカル開発向け)
    • ボリューム:Docker Named Volume

    起動コマンド


    # 起動
    docker compose up -d

    # ログ確認
    docker compose logs -f n8n

    # 停止
    docker compose down

    # ボリューム含めて削除
    docker compose down -v

    環境変数リファレンス

    n8nの挙動は環境変数で制御します。カテゴリ別に主要な環境変数を解説します。

    基本設定

    環境変数説明デフォルト
    N8N_HOSTn8nのホスト名localhostn8n.example.com
    N8N_PORTリッスンポート56785678
    N8N_PROTOCOLプロトコルhttphttps
    WEBHOOK_URLWebhook用外部URLhttps://n8n.example.com/
    N8N_EDITOR_BASE_URLエディタのベースURLhttps://n8n.example.com/
    GENERIC_TIMEZONEタイムゾーンAmerica/New_YorkAsia/Tokyo
    TZシステムタイムゾーンUTCAsia/Tokyo

    認証・セキュリティ

    環境変数説明デフォルト
    N8N_BASIC_AUTH_ACTIVEBasic認証の有効化false
    N8N_BASIC_AUTH_USERBasic認証ユーザー名
    N8N_BASIC_AUTH_PASSWORDBasic認証パスワード
    N8N_ENCRYPTION_KEY認証情報暗号化キー自動生成
    N8N_SECURE_COOKIESecure Cookieの有効化true
    N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS設定ファイル権限チェックfalse

    N8N_ENCRYPTION_KEYの重要性


    # 32バイト(64文字の16進数)を生成
    openssl rand -hex 32

    このキーは認証情報(Credentials)の暗号化に使用されます。設定しないと起動時に自動生成されますが、コンテナを再作成すると既存の認証情報が復号できなくなります。必ず明示的に設定し、安全にバックアップしてください。

    データベース設定

    環境変数説明デフォルト
    DB_TYPEデータベースタイプsqlite
    DB_POSTGRESDB_HOSTPostgreSQLホストlocalhost
    DB_POSTGRESDB_PORTPostgreSQLポート5432
    DB_POSTGRESDB_DATABASEデータベース名n8n
    DB_POSTGRESDB_USERユーザー名postgres
    DB_POSTGRESDB_PASSWORDパスワード
    DB_POSTGRESDB_SCHEMAスキーマ名public

    実行履歴(Executions)

    環境変数説明デフォルト
    EXECUTIONS_DATA_PRUNE実行履歴の自動削除true
    EXECUTIONS_DATA_MAX_AGE保持期間(時間)336(14日)
    EXECUTIONS_DATA_PRUNE_MAX_COUNT最大保持件数10000
    EXECUTIONS_DATA_SAVE_ON_ERRORエラー時の保存all
    EXECUTIONS_DATA_SAVE_ON_SUCCESS成功時の保存all
    EXECUTIONS_DATA_SAVE_ON_PROGRESS進行中の保存false
    EXECUTIONS_DATA_SAVE_MANUAL_EXECUTIONS手動実行の保存true

    Queue Mode(Redis)

    環境変数説明デフォルト
    EXECUTIONS_MODE実行モードregular
    QUEUE_BULL_REDIS_HOSTRedisホストlocalhost
    QUEUE_BULL_REDIS_PORTRedisポート6379
    QUEUE_BULL_REDIS_PASSWORDRedisパスワード
    QUEUE_BULL_REDIS_DBRedisDB番号0
    QUEUE_HEALTH_CHECK_ACTIVEヘルスチェックfalse

    本番向け構成:PostgreSQL + HTTPS

    本番環境向けの推奨構成です。

    .envファイル


    # ドメイン設定
    DOMAIN_NAME=example.com
    SUBDOMAIN=n8n
    SSL_EMAIL=admin@example.com

    # PostgreSQL
    POSTGRES_USER=n8n
    POSTGRES_PASSWORD=your_strong_db_password
    POSTGRES_DB=n8n

    # n8n
    N8N_ENCRYPTION_KEY=your_64_char_hex_key_here
    N8N_BASIC_AUTH_USER=admin
    N8N_BASIC_AUTH_PASSWORD=your_admin_password

    # タイムゾーン
    GENERIC_TIMEZONE=Asia/Tokyo

    docker-compose.yml(PostgreSQL + Nginx)


    version: "3.8"

    services:
    postgres:
    image: postgres:15-alpine
    container_name: n8n-postgres
    restart: always
    environment:
    - POSTGRES_USER=${POSTGRES_USER}
    - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    - POSTGRES_DB=${POSTGRES_DB}
    volumes:
    - postgres_data:/var/lib/postgresql/data
    networks:
    - n8n-network
    healthcheck:
    test: ['CMD-SHELL', 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
    interval: 10s
    timeout: 5s
    retries: 5

    n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: always
    ports:
    - "5678:5678"
    environment:
    # データベース
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=postgres
    - DB_POSTGRESDB_PORT=5432
    - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
    - DB_POSTGRESDB_USER=${POSTGRES_USER}
    - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
    # 認証
    - N8N_BASIC_AUTH_ACTIVE=true
    - N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
    - N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
    - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
    # ホスト設定
    - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
    - N8N_PORT=5678
    - N8N_PROTOCOL=https
    - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
    - N8N_SECURE_COOKIE=true
    # タイムゾーン
    - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    - TZ=${GENERIC_TIMEZONE}
    # 実行履歴
    - EXECUTIONS_DATA_PRUNE=true
    - EXECUTIONS_DATA_MAX_AGE=168
    - EXECUTIONS_DATA_PRUNE_MAX_COUNT=10000
    # その他
    - NODE_ENV=production
    - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
    volumes:
    - n8n_data:/home/node/.n8n
    - ./local-files:/files
    networks:
    - n8n-network
    depends_on:
    postgres:
    condition: service_healthy

    volumes:
    postgres_data:
    n8n_data:

    networks:
    n8n-network:
    driver: bridge

    Traefik連携:自動SSL証明書

    Traefikを使用すると、Let’s EncryptのSSL証明書を自動取得・更新できます。

    docker-compose.yml(Traefik版)


    version: "3.8"

    services:
    traefik:
    image: traefik:v2.10
    container_name: traefik
    restart: always
    command:
    - "--api.dashboard=true"
    - "--providers.docker=true"
    - "--providers.docker.exposedbydefault=false"
    - "--entrypoints.web.address=:80"
    - "--entrypoints.web.http.redirections.entrypoint.to=websecure"
    - "--entrypoints.web.http.redirections.entrypoint.scheme=https"
    - "--entrypoints.websecure.address=:443"
    - "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
    - "--certificatesresolvers.letsencrypt.acme.email=${SSL_EMAIL}"
    - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
    ports:
    - "80:80"
    - "443:443"
    volumes:
    - ./traefik_data:/letsencrypt
    - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
    - n8n-network

    postgres:
    image: postgres:15-alpine
    container_name: n8n-postgres
    restart: always
    environment:
    - POSTGRES_USER=${POSTGRES_USER}
    - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    - POSTGRES_DB=${POSTGRES_DB}
    volumes:
    - postgres_data:/var/lib/postgresql/data
    networks:
    - n8n-network
    healthcheck:
    test: ['CMD-SHELL', 'pg_isready -U ${POSTGRES_USER}']
    interval: 10s
    timeout: 5s
    retries: 5

    n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: always
    environment:
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=postgres
    - DB_POSTGRESDB_PORT=5432
    - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
    - DB_POSTGRESDB_USER=${POSTGRES_USER}
    - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
    - N8N_BASIC_AUTH_ACTIVE=true
    - N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
    - N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
    - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
    - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
    - N8N_PROTOCOL=https
    - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
    - N8N_SECURE_COOKIE=true
    - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    - TZ=${GENERIC_TIMEZONE}
    - NODE_ENV=production
    volumes:
    - n8n_data:/home/node/.n8n
    - ./local-files:/files
    networks:
    - n8n-network
    labels:
    - "traefik.enable=true"
    - "traefik.http.routers.n8n.rule=Host(${SUBDOMAIN}.${DOMAIN_NAME})"
    - "traefik.http.routers.n8n.entrypoints=websecure"
    - "traefik.http.routers.n8n.tls.certresolver=letsencrypt"
    - "traefik.http.services.n8n.loadbalancer.server.port=5678"
    depends_on:
    postgres:
    condition: service_healthy

    volumes:
    postgres_data:
    n8n_data:

    networks:
    n8n-network:
    driver: bridge

    Traefik用ディレクトリ準備


    mkdir -p traefik_data local-files
    touch traefik_data/acme.json
    chmod 600 traefik_data/acme.json

    Queue Mode構成:Redis + Worker

    大規模なワークフロー処理には、Queue Modeを使用してワーカーを分離します。

    Queue Modeのアーキテクチャ

    • Main(n8n):UI、API、Webhookを処理し、ジョブをRedisに投入
    • Redis:ジョブキューとして機能
    • Worker:Redisからジョブを取得して実行
    • PostgreSQL:ワークフロー定義、認証情報、実行結果を保存

    docker-compose.yml(Queue Mode)


    version: "3.8"

    services:
    postgres:
    image: postgres:15-alpine
    container_name: n8n-postgres
    restart: always
    environment:
    - POSTGRES_USER=${POSTGRES_USER}
    - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    - POSTGRES_DB=${POSTGRES_DB}
    volumes:
    - postgres_data:/var/lib/postgresql/data
    networks:
    - n8n-network
    healthcheck:
    test: ['CMD-SHELL', 'pg_isready -U ${POSTGRES_USER}']
    interval: 10s
    timeout: 5s
    retries: 5

    redis:
    image: redis:7-alpine
    container_name: n8n-redis
    restart: always
    volumes:
    - redis_data:/data
    networks:
    - n8n-network
    healthcheck:
    test: ['CMD', 'redis-cli', 'ping']
    interval: 10s
    timeout: 5s
    retries: 5

    n8n:
    image: n8nio/n8n:latest
    container_name: n8n-main
    restart: always
    ports:
    - "5678:5678"
    environment:
    # データベース
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=postgres
    - DB_POSTGRESDB_PORT=5432
    - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
    - DB_POSTGRESDB_USER=${POSTGRES_USER}
    - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
    # Queue Mode
    - EXECUTIONS_MODE=queue
    - QUEUE_BULL_REDIS_HOST=redis
    - QUEUE_BULL_REDIS_PORT=6379
    - QUEUE_HEALTH_CHECK_ACTIVE=true
    # 認証・セキュリティ
    - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
    - N8N_BASIC_AUTH_ACTIVE=true
    - N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
    - N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
    # ホスト設定
    - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
    - N8N_PROTOCOL=https
    - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
    - N8N_SECURE_COOKIE=true
    # タイムゾーン
    - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    - TZ=${GENERIC_TIMEZONE}
    - NODE_ENV=production
    volumes:
    - n8n_data:/home/node/.n8n
    networks:
    - n8n-network
    depends_on:
    postgres:
    condition: service_healthy
    redis:
    condition: service_healthy

    n8n-worker:
    image: n8nio/n8n:latest
    container_name: n8n-worker
    restart: always
    command: worker
    environment:
    # データベース(Mainと同じ設定)
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=postgres
    - DB_POSTGRESDB_PORT=5432
    - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
    - DB_POSTGRESDB_USER=${POSTGRES_USER}
    - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
    # Queue Mode
    - EXECUTIONS_MODE=queue
    - QUEUE_BULL_REDIS_HOST=redis
    - QUEUE_BULL_REDIS_PORT=6379
    # 暗号化キー(Mainと同じ)
    - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
    # タイムゾーン
    - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    - TZ=${GENERIC_TIMEZONE}
    - NODE_ENV=production
    volumes:
    - n8n_data:/home/node/.n8n
    networks:
    - n8n-network
    depends_on:
    - n8n
    - redis

    volumes:
    postgres_data:
    redis_data:
    n8n_data:

    networks:
    n8n-network:
    driver: bridge

    Workerのスケーリング


    # Worker数を増やす
    docker compose up -d --scale n8n-worker=3

    ボリュームとパーミッション

    Named Volume vs Bind Mount

    方式メリットデメリット
    Named VolumeDockerが管理、移植性が高い直接アクセスしにくい
    Bind Mount直接アクセス可能、バックアップ容易パーミッション管理が必要

    Bind Mountを使用する場合


    volumes:
    - ./n8n_data:/home/node/.n8n
    - ./postgres_data:/var/lib/postgresql/data

    パーミッション設定


    # n8nデータ(コンテナ内はnode:node = 1000:1000)
    sudo mkdir -p n8n_data
    sudo chown -R 1000:1000 n8n_data

    # PostgreSQLデータ(コンテナ内はpostgres = 999:999)
    sudo mkdir -p postgres_data
    sudo chown -R 999:999 postgres_data

    機密情報の管理(_FILE接尾辞)

    環境変数に直接パスワードを記載する代わりに、ファイルから読み込むことができます。

    Docker Secretsの使用


    # シークレットファイルを作成
    echo "your_db_password" > ./secrets/db_password.txt
    echo "your_encryption_key" > ./secrets/encryption_key.txt
    chmod 600 ./secrets/*


    services:
    n8n:
    environment:
    - DB_POSTGRESDB_PASSWORD_FILE=/run/secrets/db_password
    - N8N_ENCRYPTION_KEY_FILE=/run/secrets/encryption_key
    secrets:
    - db_password
    - encryption_key

    secrets:
    db_password:
    file: ./secrets/db_password.txt
    encryption_key:
    file: ./secrets/encryption_key.txt

    ヘルスチェックとリソース制限

    ヘルスチェック設定


    services:
    n8n:
    healthcheck:
    test: ['CMD-SHELL', 'wget -q --spider http://localhost:5678/healthz || exit 1']
    interval: 30s
    timeout: 10s
    retries: 3
    start_period: 30s

    リソース制限


    services:
    n8n:
    deploy:
    resources:
    limits:
    cpus: '2'
    memory: 2G
    reservations:
    cpus: '0.5'
    memory: 512M

    アップデート手順

    イメージの更新

    # 最新イメージをプル docker compose pull # コンテナを再作成 docker compose up -d

    # 古いイメージを削除
    docker image prune -f

    バージョン固定(推奨)

    本番環境では、latestではなくバージョンを固定することを推奨します。


    services:
    n8n:
    image: n8nio/n8n:1.70.0

    トラブルシューティング

    よくある問題と解決方法

    問題原因解決方法
    認証情報が読めないN8N_ENCRYPTION_KEYの変更元のキーを復元
    PostgreSQLに接続できない起動順序の問題depends_on + healthcheckを設定
    SQLiteにフォールバックDB_TYPE未設定DB_TYPE=postgresdbを確認
    Webhookが動作しないWEBHOOK_URL未設定外部アクセス可能なURLを設定
    SSL証明書エラーDNS未反映Aレコードの設定を確認
    Permission deniedボリュームの権限UID/GIDを確認してchown

    ログ確認コマンド


    # 全サービスのログ
    docker compose logs -f

    # 特定サービスのログ
    docker compose logs -f n8n

    # 最新100行のみ
    docker compose logs --tail 100 n8n

    # タイムスタンプ付き
    docker compose logs -t n8n

    コンテナ内でのデバッグ


    # n8nコンテナに入る
    docker exec -it n8n /bin/sh

    # PostgreSQLに接続
    docker exec -it n8n-postgres psql -U n8n -d n8n

    # Redisに接続
    docker exec -it n8n-redis redis-cli

    よくある質問(FAQ)

    Q. latestタグを使っても大丈夫ですか?

    A. 開発環境では問題ありませんが、本番環境ではバージョンを固定することを強く推奨します。n8nは週次でリリースがあり、破壊的変更が含まれる可能性があります。

    Q. Named VolumeとBind Mountはどちらが良いですか?

    A. 一般的にはNamed Volumeが推奨されます。ただし、バックアップを容易にしたい場合やファイルに直接アクセスしたい場合はBind Mountが便利です。

    Q. Queue ModeではRedisは必須ですか?

    A. はい、Queue ModeではRedisが必須です。Redisがジョブキューとして機能し、MainプロセスとWorkerプロセス間の通信を仲介します。

    Q. Workerは何台必要ですか?

    A. ワークフローの実行頻度と複雑さによります。小〜中規模であれば1〜2台、大規模であれば3台以上を検討してください。CPUコア数に応じてスケールするのが目安です。

    Q. docker compose v1とv2の違いは?

    A. v2は「docker compose」(ハイフンなし)で実行し、v1は「docker-compose」(ハイフンあり)です。現在はv2が推奨されており、v1は非推奨です。

    まとめ

    この記事では、n8nのDocker Compose設定について詳しく解説しました。

    構成パターン

    • 最小構成:SQLite + HTTP(ローカル開発向け)
    • 本番構成:PostgreSQL + HTTPS(Nginx or Traefik)
    • スケール構成:Queue Mode + Redis + Worker

    重要な環境変数

    • N8N_ENCRYPTION_KEY:認証情報の暗号化(必ず固定・バックアップ)
    • DB_TYPE:データベースタイプ(本番はpostgresdb)
    • WEBHOOK_URL:Webhook用外部URL(HTTPS推奨)
    • EXECUTIONS_MODE:実行モード(スケール時はqueue)

    本番運用のポイント

    • バージョンを固定(latestは避ける)
    • healthcheckでサービス依存関係を管理
    • リソース制限でメモリ枯渇を防止
    • 機密情報は_FILE接尾辞でファイルから読み込み

    Docker Composeの設定を正しく理解することで、n8nの安定運用が実現できます。

  • 【完全版】n8n VPS構築ガイド|Ubuntu・Docker・SSL設定からセルフホスト本番運用まで

    【完全版】n8n VPS構築ガイド|Ubuntu・Docker・SSL設定からセルフホスト本番運用まで

    n8nをVPSにセルフホストすることで、月額3,000円以上のクラウド版と同等の機能を、月額500〜1,500円程度のコストで運用できます。

    ワークフロー数や実行回数の制限がなく、データを自社管理下に置けるため、セキュリティ面でも優れています。

    この記事では、VPSの選定からUbuntu環境の構築、Docker設定、SSL証明書の取得、独自ドメインでの公開まで、n8nセルフホストの全工程を詳しく解説します。

    セルフホストのメリットとクラウド版との比較

    n8n Cloudとセルフホストの比較

    項目 n8n Cloud セルフホスト(VPS)
    月額費用 €20〜(約3,000〜4,500円) VPS代のみ(500〜1,500円)
    ワークフロー数 プランにより制限あり 無制限
    実行回数 プランにより制限あり 無制限
    データ管理 Anthropic社サーバー 自社管理
    カスタマイズ 制限あり 完全に自由
    運用負担 なし 自己責任
    サポート 公式サポートあり コミュニティのみ

    セルフホストが向いているケース

    • 月額コストを抑えたい
    • 大量のワークフローを実行する
    • 機密データを外部に置きたくない
    • カスタムノードを使用したい
    • サーバー管理の基礎知識がある

    VPSの選定とスペック要件

    n8nの最低システム要件

    項目 最低要件 推奨スペック
    CPU 1 vCPU 2 vCPU以上
    メモリ 2GB RAM 4GB以上
    ストレージ 10GB SSD 20GB以上(NVMe推奨)
    OS Ubuntu 20.04+ Ubuntu 22.04 / 24.04

    おすすめVPSプロバイダー

    国内サービス

    サービス 最小プラン 月額料金 特徴
    XServer VPS 2GB 830円〜 国内最安クラス、無料枠あり
    ConoHa VPS 1GB 682円〜 時間課金対応、管理画面が使いやすい
    さくらのVPS 1GB 880円〜 安定性、サポート充実

    海外サービス

    サービス 最小プラン 月額料金 特徴
    DigitalOcean 1GB $6〜 n8nテンプレートあり
    Vultr 1GB $5〜 東京リージョンあり
    Hetzner 2GB €4〜 コスパ最強

    Ubuntu環境の初期セットアップ

    VPSを契約したら、まずUbuntu環境の初期設定を行います。

    Step 1:SSHでサーバーに接続


    ssh root@your_server_ip

    Step 2:システムの更新


    # パッケージリストの更新
    sudo apt update

    # インストール済みパッケージの更新
    sudo apt upgrade -y

    Step 3:新規ユーザーの作成(推奨)

    rootでの運用は避け、一般ユーザーを作成します。


    # 新規ユーザー作成
    adduser n8nadmin

    # sudo権限を付与
    usermod -aG sudo n8nadmin

    # 新ユーザーでログイン確認
    su – n8nadmin

    Step 4:ファイアウォールの設定


    # UFWの有効化
    sudo ufw allow OpenSSH
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw allow 5678/tcp
    sudo ufw enable

    # 設定確認
    sudo ufw status

    Step 5:タイムゾーンの設定


    sudo timedatectl set-timezone Asia/Tokyo

    Dockerのインストール

    n8nの運用にはDockerを使用することを強く推奨します。

    Docker Engineのインストール


    # 公式スクリプトでインストール
    curl -fsSL https://get.docker.com | bash

    # 一般ユーザーでDockerを実行できるようにする
    sudo usermod -aG docker $USER

    # 設定を反映(再ログインが必要)
    newgrp docker

    # 動作確認
    docker –version

    Docker Composeのインストール


    # Docker Compose v2(プラグイン版)
    sudo apt install docker-compose-plugin -y

    # 動作確認
    docker compose version

    n8nのインストールと起動

    Step 1:作業ディレクトリの作成


    mkdir -p ~/n8n-docker
    cd ~/n8n-docker

    Step 2:環境変数ファイルの作成


    nano .env

    以下の内容を入力:


    # n8n設定
    N8N_BASIC_AUTH_ACTIVE=true
    N8N_BASIC_AUTH_USER=admin
    N8N_BASIC_AUTH_PASSWORD=your_secure_password

    # サーバー設定
    N8N_HOST=your_server_ip
    N8N_PORT=5678
    N8N_PROTOCOL=http
    WEBHOOK_URL=http://your_server_ip:5678/

    # タイムゾーン
    TZ=Asia/Tokyo

    # 暗号化キー(32文字以上のランダム文字列)
    N8N_ENCRYPTION_KEY=your_32_char_encryption_key_here

    Step 3:docker-compose.ymlの作成


    nano docker-compose.yml

    以下の内容を入力:


    version: "3.8"

    services:
    n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: always
    ports:
    – “5678:5678”
    environment:
    – N8N_BASIC_AUTH_ACTIVE=${N8N_BASIC_AUTH_ACTIVE}
    – N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
    – N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
    – N8N_HOST=${N8N_HOST}
    – N8N_PORT=${N8N_PORT}
    – N8N_PROTOCOL=${N8N_PROTOCOL}
    – WEBHOOK_URL=${WEBHOOK_URL}
    – GENERIC_TIMEZONE=${TZ}
    – TZ=${TZ}
    – N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
    – N8N_SECURE_COOKIE=false
    volumes:
    – n8n_data:/home/node/.n8n

    volumes:
    n8n_data:

    Step 4:n8nの起動


    # コンテナを起動
    docker compose up -d

    # ログ確認
    docker compose logs -f n8n

    Step 5:動作確認

    ブラウザで以下にアクセス:


    http://your_server_ip:5678

    .envで設定したユーザー名とパスワードでログインします。

    独自ドメインとSSL証明書の設定

    本番運用では、独自ドメインとHTTPS接続が必須です。

    Step 1:ドメインのDNS設定

    ドメインのDNS管理画面で、Aレコードを追加します。


    Type: A
    Name: n8n(またはサブドメイン)
    Value: your_server_ip
    TTL: 3600

    Step 2:Nginxのインストール


    sudo apt install nginx -y
    sudo systemctl enable nginx
    sudo systemctl start nginx

    Step 3:Nginx設定ファイルの作成


    sudo nano /etc/nginx/sites-available/n8n

    以下の内容を入力(n8n.yourdomain.comを自分のドメインに置換):


    server {
    listen 80;
    server_name n8n.yourdomain.com;

    location / {
    proxy_pass http://localhost:5678;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection “upgrade”;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    chunked_transfer_encoding off;
    proxy_buffering off;
    proxy_cache off;
    }
    }

    Step 4:設定の有効化


    # シンボリックリンクの作成
    sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/

    # 設定テスト
    sudo nginx -t

    # Nginx再起動
    sudo systemctl reload nginx

    Step 5:SSL証明書の取得(Let’s Encrypt)


    # Certbotのインストール
    sudo apt install certbot python3-certbot-nginx -y

    # SSL証明書の取得と設定
    sudo certbot –nginx -d n8n.yourdomain.com

    メールアドレスの入力と利用規約への同意が求められます。

    Step 6:環境変数の更新

    SSL設定後、.envファイルを更新します。


    N8N_HOST=n8n.yourdomain.com
    N8N_PROTOCOL=https
    WEBHOOK_URL=https://n8n.yourdomain.com/

    docker-compose.ymlも更新:


    environment:
    # ...他の設定
    - N8N_SECURE_COOKIE=true

    Step 7:n8nの再起動


    docker compose down
    docker compose up -d

    これで https://n8n.yourdomain.com でアクセスできます。

    PostgreSQLの追加(本番向け)

    本番運用では、SQLiteではなくPostgreSQLを使用します。

    docker-compose.yml(PostgreSQL版)


    version: "3.8"

    services:
    postgres:
    image: postgres:15-alpine
    container_name: n8n-postgres
    restart: always
    environment:
    – POSTGRES_USER=n8n
    – POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    – POSTGRES_DB=n8n
    volumes:
    – postgres_data:/var/lib/postgresql/data
    healthcheck:
    test: [‘CMD-SHELL’, ‘pg_isready -U n8n’]
    interval: 10s
    timeout: 5s
    retries: 5

    n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: always
    ports:
    – “5678:5678”
    environment:
    – DB_TYPE=postgresdb
    – DB_POSTGRESDB_HOST=postgres
    – DB_POSTGRESDB_PORT=5432
    – DB_POSTGRESDB_DATABASE=n8n
    – DB_POSTGRESDB_USER=n8n
    – DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
    – N8N_BASIC_AUTH_ACTIVE=${N8N_BASIC_AUTH_ACTIVE}
    – N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
    – N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
    – N8N_HOST=${N8N_HOST}
    – N8N_PORT=${N8N_PORT}
    – N8N_PROTOCOL=${N8N_PROTOCOL}
    – WEBHOOK_URL=${WEBHOOK_URL}
    – GENERIC_TIMEZONE=${TZ}
    – TZ=${TZ}
    – N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
    – N8N_SECURE_COOKIE=true
    volumes:
    – n8n_data:/home/node/.n8n
    depends_on:
    postgres:
    condition: service_healthy

    volumes:
    postgres_data:
    n8n_data:

    .envにPostgreSQLのパスワードを追加:


    POSTGRES_PASSWORD=your_db_password_here

    n8nのアップデート方法

    Dockerイメージの更新


    # 作業ディレクトリに移動
    cd ~/n8n-docker

    # 最新イメージをプル
    docker compose pull

    # コンテナを再作成
    docker compose up -d

    # 古いイメージを削除
    docker image prune -f

    アップデート前の確認事項

    • リリースノートで破壊的変更を確認
    • バックアップを取得
    • テスト環境で動作確認(可能であれば)

    バックアップの設定

    自動バックアップスクリプト


    nano ~/n8n-backup.sh


    #!/bin/bash
    BACKUP_DIR="/home/n8nadmin/backups"
    DATE=$(date +%Y%m%d_%H%M%S)

    # ディレクトリ作成
    mkdir -p ${BACKUP_DIR}

    # PostgreSQLバックアップ(PostgreSQL使用時)
    docker exec n8n-postgres pg_dump -U n8n -d n8n | gzip > ${BACKUP_DIR}/n8n_db_${DATE}.sql.gz

    # n8nデータボリュームのバックアップ
    docker run –rm -v n8n-docker_n8n_data:/data -v ${BACKUP_DIR}:/backup alpine
    tar czf /backup/n8n_data_${DATE}.tar.gz -C /data .

    # 7日より古いバックアップを削除
    find ${BACKUP_DIR} -name “*.gz” -mtime +7 -delete

    echo “Backup completed: ${DATE}”


    # 実行権限を付与
    chmod +x ~/n8n-backup.sh

    cronで自動実行


    crontab -e

    以下を追加:


    0 3 * * * /home/n8nadmin/n8n-backup.sh >> /home/n8nadmin/backup.log 2>&1

    セキュリティ強化

    SSH鍵認証の設定


    # ローカルPCで鍵を生成
    ssh-keygen -t ed25519 -C "your_email@example.com"

    # 公開鍵をサーバーにコピー
    ssh-copy-id n8nadmin@your_server_ip

    # パスワード認証を無効化
    sudo nano /etc/ssh/sshd_config
    # PasswordAuthentication no に変更

    sudo systemctl restart sshd

    Fail2banの導入


    sudo apt install fail2ban -y
    sudo systemctl enable fail2ban
    sudo systemctl start fail2ban

    自動セキュリティ更新


    sudo apt install unattended-upgrades -y
    sudo dpkg-reconfigure -plow unattended-upgrades

    トラブルシューティング

    よくある問題と解決方法

    問題 原因 解決方法
    ブラウザでアクセスできない ファイアウォール設定 UFWでポート5678を許可
    Webhookが動作しない WEBHOOK_URLの設定ミス 外部からアクセス可能なURLを設定
    認証情報が保存されない ボリュームマウントの問題 docker-compose.ymlのvolumes設定を確認
    SSL証明書エラー DNS設定の反映待ち 数分〜数時間待って再試行
    コンテナが再起動を繰り返す 設定エラー docker compose logs で確認

    ログの確認方法


    # n8nのログ
    docker compose logs -f n8n

    # Nginxのログ
    sudo tail -f /var/log/nginx/error.log

    # システムログ
    sudo journalctl -u docker -f

    よくある質問(FAQ)

    Q. VPSのスペックはどれくらい必要ですか?

    A. 小〜中規模のワークフローであれば、2GB RAM / 1 vCPUで十分です。複雑なワークフローや同時実行が多い場合は、4GB RAM以上を推奨します。

    Q. セルフホストでも公式サポートは受けられますか?

    A. Community版(セルフホスト)では公式サポートはありません。コミュニティフォーラムやGitHubのIssueを活用してください。Enterprise版を契約すれば公式サポートが受けられます。

    Q. SQLiteのままでも問題ないですか?

    A. 個人利用や小規模な使用であれば問題ありません。ただし、Webhookを多数受け付ける場合や、本番運用ではPostgreSQLを推奨します。

    Q. アップデートでデータは消えませんか?

    A. Dockerボリュームを使用していれば、イメージの更新でデータは消えません。ただし、念のためアップデート前にバックアップを取得してください。

    Q. 複数人で使用できますか?

    A. Community版では複数ユーザーの管理機能は制限されています。チームでの利用にはEnterprise版の検討をおすすめします。

    まとめ

    この記事では、n8nのVPSセルフホスト構築を解説しました。

    構築の流れ

    1. VPSの契約(2GB RAM以上推奨)
    2. Ubuntu環境の初期設定
    3. Docker / Docker Composeのインストール
    4. n8nのdocker-compose.yml作成と起動
    5. 独自ドメインとSSL証明書の設定
    6. PostgreSQLの追加(本番向け)
    7. バックアップの自動化

    本番運用のポイント

    • N8N_ENCRYPTION_KEYを必ず設定・バックアップ
    • SSL証明書でHTTPS接続を有効化
    • PostgreSQLでデータベースを永続化
    • 定期的なバックアップを自動化
    • セキュリティ設定(SSH鍵認証、Fail2ban)

    コスト比較

    • n8n Cloud:月額€20〜(約3,000〜4,500円)
    • セルフホスト:月額500〜1,500円(VPS代のみ)

    セルフホストにより、年間で2〜4万円のコスト削減が可能です。サーバー管理の手間はありますが、一度構築すれば安定して運用できます。ぜひチャレンジしてみてください。

  • 【本番運用】n8n PostgreSQL永続化の完全ガイド|Docker設定・バックアップ・移行手順

    【本番運用】n8n PostgreSQL永続化の完全ガイド|Docker設定・バックアップ・移行手順

    n8nはデフォルトでSQLiteを使用しますが、本番運用ではPostgreSQLへの移行が推奨されます。

    SQLiteはファイルベースで手軽ですが、同時接続やスケーリングに制限があります。PostgreSQLを使用することで、データの永続化、バックアップ、高可用性を実現できます。

    この記事では、n8nのPostgreSQL永続化について、Docker Compose設定から環境変数、バックアップ、SQLiteからの移行まで、本番運用に必要な技術を詳しく解説します。

    なぜPostgreSQLが必要か?SQLiteとの比較

    SQLiteの特徴と限界

    項目 SQLite PostgreSQL
    アーキテクチャ ファイルベース クライアント・サーバー型
    同時接続 制限あり(書き込みロック) 多数の同時接続に対応
    スケーリング 単一インスタンスのみ Queue Mode / Worker対応
    バックアップ ファイルコピー pg_dump / レプリケーション
    高可用性 非対応 レプリケーション対応
    推奨用途 開発・テスト・小規模 本番・大規模ワークフロー

    PostgreSQLが必要なケース

    • Webhookを多数受け付ける
    • ワークフローの実行頻度が高い
    • 複数ワーカーでの分散処理(Queue Mode)
    • データの確実なバックアップが必要
    • 本番環境での安定運用

    Docker Composeによる構築

    n8nとPostgreSQLをDocker Composeで構築する方法を解説します。

    ディレクトリ構成


    n8n-production/
    ├── docker-compose.yml
    ├── .env
    └── backups/

    .envファイル


    # PostgreSQL設定
    POSTGRES_USER=n8n
    POSTGRES_PASSWORD=your_strong_password_here
    POSTGRES_DB=n8n

    # n8n設定
    N8N_ENCRYPTION_KEY=your_32_char_encryption_key_here
    N8N_BASIC_AUTH_USER=admin
    N8N_BASIC_AUTH_PASSWORD=your_admin_password
    N8N_HOST=n8n.yourdomain.com
    N8N_PROTOCOL=https
    WEBHOOK_URL=https://n8n.yourdomain.com/
    GENERIC_TIMEZONE=Asia/Tokyo

    重要:N8N_ENCRYPTION_KEYは32文字以上のランダムな文字列を設定してください。このキーは認証情報の暗号化に使用され、変更すると既存の認証情報が読めなくなります。

    docker-compose.yml


    version: '3.8'

    services:
    postgres:
    image: postgres:15-alpine
    container_name: n8n-postgres
    restart: always
    environment:
    - POSTGRES_USER=${POSTGRES_USER}
    - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
    - POSTGRES_DB=${POSTGRES_DB}
    volumes:
    - postgres_data:/var/lib/postgresql/data
    networks:
    - n8n-network
    healthcheck:
    test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER}']
    interval: 10s
    timeout: 5s
    retries: 5

    n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: always
    ports:
    - "5678:5678"
    environment:
    # データベース設定
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=postgres
    - DB_POSTGRESDB_PORT=5432
    - DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
    - DB_POSTGRESDB_USER=${POSTGRES_USER}
    - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
    # n8n設定
    - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}
    - N8N_BASIC_AUTH_ACTIVE=true
    - N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
    - N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
    - N8N_HOST=${N8N_HOST}
    - N8N_PORT=5678
    - N8N_PROTOCOL=${N8N_PROTOCOL}
    - NODE_ENV=production
    - WEBHOOK_URL=${WEBHOOK_URL}
    - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    volumes:
    - n8n_data:/home/node/.n8n
    networks:
    - n8n-network
    depends_on:
    postgres:
    condition: service_healthy

    volumes:
    postgres_data:
    n8n_data:

    networks:
    n8n-network:
    driver: bridge

    起動手順


    # ディレクトリ作成
    mkdir -p n8n-production && cd n8n-production

    # .envとdocker-compose.ymlを作成(上記内容)

    # 起動
    docker compose up -d

    # ログ確認
    docker compose logs -f n8n

    環境変数の詳細解説

    データベース関連

    環境変数 説明 デフォルト値
    DB_TYPE データベースタイプ sqlite(postgresdbに変更)
    DB_POSTGRESDB_HOST PostgreSQLホスト名 localhost
    DB_POSTGRESDB_PORT PostgreSQLポート 5432
    DB_POSTGRESDB_DATABASE データベース名 n8n
    DB_POSTGRESDB_USER ユーザー名 postgres
    DB_POSTGRESDB_PASSWORD パスワード
    DB_POSTGRESDB_SCHEMA スキーマ名 public

    SSL接続(マネージドDB向け)

    AWS RDSやCloud SQLなどのマネージドデータベースを使用する場合、SSL接続が必要です。

    環境変数 説明
    DB_POSTGRESDB_SSL_CA CA証明書のパス
    DB_POSTGRESDB_SSL_CERT クライアント証明書のパス
    DB_POSTGRESDB_SSL_KEY クライアント秘密鍵のパス
    DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED 証明書検証(true/false)

    暗号化キー


    N8N_ENCRYPTION_KEY=your_32_char_encryption_key_here

    重要なポイント

    • 認証情報(Credentials)の暗号化に使用
    • 設定しないと起動時に自動生成される
    • キーを変更すると既存の認証情報が復号できなくなる
    • 必ず安全な場所にバックアップすること

    キーの生成方法


    # OpenSSLでランダムな32文字を生成
    openssl rand -hex 16

    .n8nディレクトリの永続化

    PostgreSQLを使用しても、.n8nディレクトリの永続化は引き続き必要です。

    .n8nディレクトリに保存されるデータ

    • 暗号化キー(N8N_ENCRYPTION_KEYを設定しない場合)
    • インスタンスログ
    • Source Control機能のアセット
    • 一時ファイル

    ボリュームマッピング


    volumes:
    - n8n_data:/home/node/.n8n

    または、ホストディレクトリにマッピング:


    volumes:
    - ./n8n-data:/home/node/.n8n

    バックアップ戦略

    本番運用では、定期的なバックアップが必須です。

    PostgreSQLのバックアップ

    手動バックアップ(pg_dump)


    # バックアップ実行
    docker exec n8n-postgres pg_dump -U n8n -d n8n > backup_$(date +%Y%m%d_%H%M%S).sql

    # 圧縮してバックアップ
    docker exec n8n-postgres pg_dump -U n8n -d n8n | gzip > backup_$(date +%Y%m%d).sql.gz

    自動バックアップスクリプト


    #!/bin/bash
    # backup.sh

    BACKUP_DIR="/path/to/backups"
    DATE=$(date +%Y%m%d_%H%M%S)
    RETENTION_DAYS=7

    # PostgreSQLバックアップ
    docker exec n8n-postgres pg_dump -U n8n -d n8n | gzip > ${BACKUP_DIR}/n8n_db_${DATE}.sql.gz

    # n8n_dataボリュームのバックアップ
    docker run --rm -v n8n_data:/data -v ${BACKUP_DIR}:/backup alpine
    tar czf /backup/n8n_data_${DATE}.tar.gz -C /data .

    # 古いバックアップの削除
    find ${BACKUP_DIR} -name "*.gz" -mtime +${RETENTION_DAYS} -delete

    echo "Backup completed: ${DATE}"

    cronで自動実行


    # 毎日午前3時にバックアップ
    0 3 * * * /path/to/backup.sh >> /var/log/n8n-backup.log 2>&1

    リストア手順

    PostgreSQLのリストア


    # 圧縮ファイルからリストア
    gunzip -c backup_20250101.sql.gz | docker exec -i n8n-postgres psql -U n8n -d n8n

    # 非圧縮ファイルからリストア
    cat backup.sql | docker exec -i n8n-postgres psql -U n8n -d n8n

    n8n_dataボリュームのリストア


    # 既存ボリュームを削除(注意)
    docker volume rm n8n_data

    # 新しいボリュームを作成してリストア
    docker run --rm -v n8n_data:/data -v /path/to/backups:/backup alpine
    tar xzf /backup/n8n_data_20250101.tar.gz -C /data

    SQLiteからPostgreSQLへの移行

    既存のSQLite環境からPostgreSQLに移行する手順です。

    移行方法の選択肢

    方法 メリット デメリット
    ワークフローのエクスポート/インポート 確実、クリーン 実行履歴は移行されない
    SQLダンプの変換 データ完全移行 スキーマ差異の調整が必要
    新規構築 シンプル 再設定が必要

    推奨:ワークフローのエクスポート/インポート

    Step 1:ワークフローのエクスポート

    1. n8nの管理画面にログイン
    2. 各ワークフローを開いて「Export」→ JSONファイルを保存
    3. または、CLIでエクスポート:


    # 全ワークフローをエクスポート
    docker exec n8n n8n export:workflow --all --output=/home/node/.n8n/workflows.json

    Step 2:認証情報のエクスポート


    # 認証情報をエクスポート(暗号化されたまま)
    docker exec n8n n8n export:credentials --all --output=/home/node/.n8n/credentials.json

    Step 3:PostgreSQL環境の構築

    上記のdocker-compose.ymlを使用して新しい環境を構築します。

    重要:N8N_ENCRYPTION_KEYは元の環境と同じ値を使用してください。

    Step 4:データのインポート


    # ワークフローのインポート
    docker exec n8n n8n import:workflow --input=/home/node/.n8n/workflows.json

    # 認証情報のインポート
    docker exec n8n n8n import:credentials --input=/home/node/.n8n/credentials.json

    本番運用のベストプラクティス

    ヘルスチェックの設定


    healthcheck:
    test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER}']
    interval: 10s
    timeout: 5s
    retries: 5

    PostgreSQLの準備が完了してからn8nを起動することで、接続エラーを防ぎます。

    リスタートポリシー


    restart: always

    コンテナが停止した場合に自動的に再起動します。

    リソース制限


    services:
    n8n:
    deploy:
    resources:
    limits:
    cpus: '2'
    memory: 2G
    reservations:
    cpus: '0.5'
    memory: 512M

    ログ管理


    services:
    n8n:
    logging:
    driver: "json-file"
    options:
    max-size: "10m"
    max-file: "3"

    リバースプロキシとSSL

    本番環境では、Nginx / TraefikなどのリバースプロキシでSSL終端を行います。

    Nginxの設定例


    server {
    listen 443 ssl http2;
    server_name n8n.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/n8n.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/n8n.yourdomain.com/privkey.pem;

    location / {
    proxy_pass http://localhost:5678;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    chunked_transfer_encoding off;
    proxy_buffering off;
    proxy_cache off;
    }
    }

    Queue Modeでのスケーリング

    大規模なワークフロー処理には、Queue Mode + Redisを使用します。

    Queue Mode構成


    version: '3.8'

    services:
    postgres:
    # ... 上記と同じ

    redis:
    image: redis:7-alpine
    container_name: n8n-redis
    restart: always
    volumes:
    - redis_data:/data
    networks:
    - n8n-network
    healthcheck:
    test: ['CMD', 'redis-cli', 'ping']
    interval: 10s
    timeout: 5s
    retries: 5

    n8n:
    # ... 基本設定に以下を追加
    environment:
    - EXECUTIONS_MODE=queue
    - QUEUE_BULL_REDIS_HOST=redis
    - QUEUE_BULL_REDIS_PORT=6379

    n8n-worker:
    image: n8nio/n8n:latest
    container_name: n8n-worker
    restart: always
    command: worker
    environment:
    # n8nと同じDB設定
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=postgres
    # ... その他の設定
    - EXECUTIONS_MODE=queue
    - QUEUE_BULL_REDIS_HOST=redis
    - QUEUE_BULL_REDIS_PORT=6379
    depends_on:
    - postgres
    - redis

    volumes:
    postgres_data:
    redis_data:
    n8n_data:

    トラブルシューティング

    よくある問題と解決方法

    問題 原因 解決方法
    DB接続エラー PostgreSQLが起動していない healthcheckとdepends_onを設定
    認証情報が読めない 暗号化キーが異なる N8N_ENCRYPTION_KEYを確認
    SQLiteにフォールバック DB_TYPE未設定 環境変数を確認
    Permission denied ボリュームの権限問題 UID/GID設定またはchown
    起動時にハング マイグレーション中 初回起動時は時間がかかる

    ログの確認方法


    # n8nのログ
    docker compose logs -f n8n

    # PostgreSQLのログ
    docker compose logs -f postgres

    # 全サービスのログ
    docker compose logs -f

    データベース接続の確認


    # PostgreSQLに直接接続
    docker exec -it n8n-postgres psql -U n8n -d n8n

    # テーブル一覧を確認
    dt

    # ワークフロー数を確認
    SELECT COUNT(*) FROM workflow_entity;

    よくある質問(FAQ)

    Q. SQLiteからPostgreSQLへの移行は必須ですか?

    A. 必須ではありませんが、本番運用では強く推奨されます。SQLiteは同時書き込みに制限があり、Webhookを多数受け付けるような使い方では問題が発生する可能性があります。

    Q. マネージドPostgreSQL(RDS、Cloud SQL)は使えますか?

    A. はい、使用できます。接続情報を環境変数で設定し、必要に応じてSSL接続を設定してください。

    Q. N8N_ENCRYPTION_KEYを忘れた場合はどうなりますか?

    A. 既存の認証情報が復号できなくなります。ワークフロー自体は残りますが、認証情報は再設定が必要です。キーは必ずバックアップしてください。

    Q. PostgreSQLのバージョンは何を使うべきですか?

    A. PostgreSQL 13以上が推奨です。2025年現在、PostgreSQL 15または16が安定しており推奨されます。

    Q. 実行履歴(Executions)はどこに保存されますか?

    A. PostgreSQLのexecution_entityテーブルに保存されます。実行履歴が増えるとディスク容量を消費するため、定期的なクリーンアップまたは保持期間の設定を検討してください。

    まとめ

    この記事では、n8nのPostgreSQL永続化について解説しました。

    本番運用のための必須設定

    • DB_TYPE=postgresdb で PostgreSQLを指定
    • N8N_ENCRYPTION_KEY を固定値で設定
    • .n8nディレクトリのボリューム永続化
    • PostgreSQLデータのボリューム永続化

    運用のポイント

    • healthcheckでPostgreSQLの準備完了を待つ
    • 定期的なバックアップ(pg_dump + ボリューム)
    • 暗号化キーの安全な管理
    • リバースプロキシでSSL終端

    スケーリング時の追加設定

    • Queue Mode + Redis
    • n8n-workerの追加

    PostgreSQLを使用することで、n8nの安定性と信頼性が大きく向上します。本番環境では必ずPostgreSQLを使用し、適切なバックアップ戦略を実装してください。