---
title: "自分のサーバーに n8n をデプロイ：ドメイン、ワークフロー、バックアップ"
description: "Zenavo のテンプレートで n8n をデプロイし、HTTPS、Webhook URL、タイムゾーンを設定します。最初のワークフローを動かし、暗号化キーの保管とボリュームのバックアップまでを説明します。"
date: 2026-11-10
language: ja-JP
url: https://zenavo.app/ja-JP/blog/self-host-n8n
---

# 自分のサーバーに n8n をデプロイ：ドメイン、ワークフロー、バックアップ

フォームの送信内容をスプレッドシートに書き込む、定期的にメッセージを集約する、Webhook を受け取って別の API を呼び出す——こうした繰り返しの自動化は [n8n](https://n8n.io) に任せられます。セルフホストなら実行回数ごとの課金制限がなく、ワークフローも認証情報も自分のサーバーに置けます。

この記事では、Zenavo の n8n テンプレートを使って、デプロイ、ドメインと Webhook の設定、バックアップとアップグレードまでを順に説明します。サーバー、Zenavo プラットフォーム、ワークフローから呼び出す外部 API の料金はそれぞれ別です。

## n8n をデプロイする

まず Zenavo に [Linux サーバーを接続](https://docs.zenavo.app/ja-JP/servers/add-a-server)し、[n8n テンプレート](https://zenavo.app/deploy?template=n8n)を開いて、サーバーを選んでデプロイします。

現在のテンプレートの設定は次のとおりです。

| 設定 | 値・用途 |
|---|---|
| イメージ | `n8nio/n8n:latest` |
| HTTP ポート | `5678` |
| 永続ボリューム | `/home/node/.n8n`。標準の SQLite データベース、ワークフロー、認証情報がここに保存されます |
| `N8N_ENCRYPTION_KEY` | プロジェクト作成時に自動生成され、保存した認証情報の暗号化に使われます |
| `GENERIC_TIMEZONE` | 初期値は `UTC`。以下で自分のタイムゾーンに変更します |
| `N8N_DIAGNOSTICS_ENABLED` | `false`（テレメトリーを無効化） |

`latest` は上流の更新に追従します。長く使う場合は、n8n サービスの **設定 → ソース** でイメージタグを動作確認済みの固定バージョン（例：`n8nio/n8n:1.82.0`）に変更し、再デプロイで意図せずバージョンが上がらないようにしてください。

## ドメインを設定し、Webhook URL とタイムゾーンを指定する

n8n サービスの **ネットワーク** タブでポート `5678` にドメイン（例：`n8n.example.com`）を割り当て、DNS にサーバーを指す A レコードを追加して HTTPS が有効になるのを待ちます。手順は[ドメインと HTTPS](https://docs.zenavo.app/ja-JP/networking/domains) をご覧ください。

次に、n8n サービスの **変数** タブを開き、ドメインとタイムゾーンの設定を追加します。

```sh
N8N_HOST=n8n.example.com
N8N_PROTOCOL=https
N8N_EDITOR_BASE_URL=https://n8n.example.com/
WEBHOOK_URL=https://n8n.example.com/
N8N_PROXY_HOPS=1
GENERIC_TIMEZONE=Asia/Tokyo
TZ=Asia/Tokyo
```

補足：

- `WEBHOOK_URL` は Webhook ノードが生成する公開 URL を決めます。未設定だと、コンテナ内部の `http://localhost:5678` が表示されます。
- `N8N_PROXY_HOPS=1` は Zenavo のゲートウェイ1段分のリバースプロキシに対応します。ドメインの手前に Cloudflare などの CDN プロキシを挟む場合は、実際の段数に合わせて調整してください。
- `GENERIC_TIMEZONE` はスケジュールトリガー（Schedule Trigger）の標準タイムゾーンになります。

保存してサービスを再起動したら、`https://n8n.example.com` を開いて管理者アカウントを作成します。あとでドメインを変更する場合は、上の URL 関連の変数もあわせて更新してください。

## 最初のワークフローと Webhook を動かす

エディターに入ったら、まず小さなワークフローを作って動作を確認します。

1. 新しいワークフローを作成し、**Manual Trigger** を追加します。
2. **Edit Fields (Set)** ノードを追加し、文字列フィールド `message` に `Hello from n8n` を設定します。
3. **Test workflow** をクリックし、右側の出力にメッセージが表示されることを確認して保存します。

続いて、外部からのリクエストが Webhook に届くか試します。

1. **Webhook** ノードを追加し、HTTP Method を `GET` にします。
2. **Listen for test event** をクリックし、ノードに表示される **Test URL** をブラウザで開いて、エディターにすぐリクエストが届くことを確認します。
3. GitHub、Stripe、Slack などの外部サービスから本番接続するときは、**Production URL** を使い、ワークフロー右上のスイッチを **Active** にします。Test URL はテスト待機中だけ有効なアドレスです。

## `N8N_ENCRYPTION_KEY` を控えておく

n8n に登録した API キー、データベースのパスワード、OAuth トークンはすべて、`N8N_ENCRYPTION_KEY` で暗号化されてデータベースに保存されます。

n8n サービスの **変数** タブを開き、`N8N_ENCRYPTION_KEY` の値をパスワードマネージャーにコピーして保管してください。**デプロイ後にこの値を変更しないでください。** 将来バックアップを新しいプロジェクトや別のサーバーに復元するときも、同じ `N8N_ENCRYPTION_KEY` を設定しないと、保存済みの認証情報を復号できなくなります。

エディターの「ワークフローのエクスポート」はノードと接続の JSON だけを書き出す機能で、認証情報や実行履歴は含まれません。ボリュームのバックアップの代わりにはならない点に注意してください。

## バックアップとアップグレード

n8n のデータはすべて `/home/node/.n8n` ボリュームにあります。n8n サービスの **バックアップと復元** タブでバックアップします。

1. 重要なワークフローが動いていない時間帯を選び、プロジェクトを停止します（ボリュームのバックアップにはプロジェクトの停止が必要です）。
2. ボリュームのバックアップを作成し、完了したらプロジェクトを再起動します。
3. バックアップを1つダウンロードし、`N8N_ENCRYPTION_KEY` と一緒に保管します。

詳しい手順は[バックアップと復元](https://docs.zenavo.app/ja-JP/operations/backups)をご覧ください。検証のために別のプロジェクトへ復元する場合は、有効化されているスケジュールトリガーが起動後に動き出すため、先にトリガーを止めるか本番環境と切り離して確認してください。

アップグレードの前には n8n の[リリースノート](https://docs.n8n.io/release-notes/)を読み、先にボリュームをバックアップしてから **設定 → ソース** でイメージのバージョンを変更します。アップグレードでデータベース構造が移行された場合、イメージタグだけを元に戻しても起動しないことがあるため、戻すときはアップグレード前のバックアップを復元します。

## よくある質問

**Webhook ノードの URL が `localhost:5678` のままになります**
**変数** タブに `WEBHOOK_URL=https://あなたのドメイン/` が設定されているか確認し、保存後に n8n サービスを再起動してください。

**外部サービスから Webhook を呼ぶと 404 になります**
**Production URL**（`/webhook-test/` ではなく `/webhook/` のパス）を使っているか、またワークフロー右上の **Active** スイッチがオンになっているか確認してください。

**スケジュールトリガーが日本時間で動きません**
変数の `GENERIC_TIMEZONE` と `TZ` が `Asia/Tokyo` になっているか、またワークフロー個別の **Settings → Timezone** で別のタイムゾーンが指定されていないか確認してください。

**どのくらいのサーバーが必要ですか？**
日常的な軽いワークフローならメモリ消費は少なく、1 vCPU・2 GB のサーバーから始められます。大きなファイルや大量の JSON 配列をメモリ上で処理する場合、または同時実行が多い場合は、2 vCPU・4 GB 以上のサーバーをおすすめします。

まずは [n8n テンプレート](https://zenavo.app/deploy?template=n8n)から始めましょう。ドメインを割り当てて `WEBHOOK_URL` とタイムゾーンを設定し、`N8N_ENCRYPTION_KEY` の控えと最初のボリュームバックアップを取っておけば安心です。
