セルフホスティング

n8n セルフホスティングガイド

このガイドは、n8nのエンタープライズ版とコミュニティ版の完全な展開チュートリアルを提供します。コミュニティ版は完全無料、エンタープライズ版は有料です。

セルフホスティングの技術要件

n8nのセルフホスティングには以下の技術知識が必要です:

  • サーバーとコンテナのセットアップと設定
  • アプリケーションリソースの管理とスケーリング
  • サーバーとアプリケーションのセキュリティ
  • n8nの設定管理

n8nは経験豊富なユーザーによるセルフホスティングを推奨しています。設定ミスはデータ損失、セキュリティ問題、ダウンタイムにつながる可能性があります。サーバー管理の経験がない場合は、n8n Cloudホスティングサービスの利用をお勧めします。

インストール方法

n8nは複数のインストール方法を提供しています。最適な方法を選択してください:

Dockerインストール

Dockerでの展開を推奨します。クリーンな隔離環境を提供し、OSやツールの互換性問題を回避し、データベースと環境管理を簡素化します。

推奨

npmインストール

npmを使用してシステムに直接n8nをインストール。Node.js環境に慣れている開発者に適しています。

Docker クイック展開

1. Dockerのインストール

まずDockerがインストールされていることを確認してください。Docker公式サイトからDocker Desktop(Mac、Windows、Linux対応)をダウンロードできます。

# Dockerがインストールされているか確認
docker --version

2. n8nコンテナの実行

以下のコマンドを使用してデータボリュームを作成し、n8nコンテナを起動します:

docker volume create n8n_data

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -e GENERIC_TIMEZONE="Asia/Tokyo" \
  -e TZ="Asia/Tokyo" \
  -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
  -e N8N_RUNNERS_ENABLED=true \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

注意: タイムゾーンAsia/Tokyoをご自身のタイムゾーンに置き換えてください。このコマンドは5678ポートをマップし、タイムゾーンを設定し、データボリュームをマウントしてデータを永続化します。

3. n8nへのアクセス

コンテナ起動後、ブラウザで以下のアドレスを開いてn8nにアクセスできます:

http://localhost:5678

PostgreSQLデータベースの使用

n8nはデフォルトでSQLiteを使用してデータを保存しますが、PostgreSQLもサポートしています。以下のコマンドでPostgreSQLを設定します:

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -e GENERIC_TIMEZONE="Asia/Tokyo" \
  -e TZ="Asia/Tokyo" \
  -e DB_TYPE=postgresdb \
  -e DB_POSTGRESDB_DATABASE=<データベース名> \
  -e DB_POSTGRESDB_HOST=<ホストアドレス> \
  -e DB_POSTGRESDB_PORT=<ポート> \
  -e DB_POSTGRESDB_USER=<ユーザー名> \
  -e DB_POSTGRESDB_PASSWORD=<パスワード> \
  -v n8n_data:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

環境変数の設定

n8nは環境変数を通じて設定できます。以下は一般的な設定オプションです:

GENERIC_TIMEZONE / TZ

タイムゾーンを設定し、スケジュールタスクとログの時刻表示に影響します

N8N_BASIC_AUTH_ACTIVE

n8nインスタンスを保護するための基本認証を有効にします

N8N_RUNNERS_ENABLED

タスクランナーを有効にします。これはタスク実行の推奨方法です

WEBHOOK_URL

Webhookの公開アクセスアドレスを設定します

セキュリティ設定

n8nインスタンスのセキュリティ保護は非常に重要です。以下は推奨されるセキュリティ対策です:

SSL/TLS暗号化

HTTPSを使用して通信を暗号化し、データの安全性を確保します

認証

ユーザー認証を有効にし、SSO、SAML、LDAPをサポートします

二要素認証 (2FA)

ユーザーアカウントに追加のセキュリティレイヤーを追加します

アクセス制御

ファイアウォールルールを設定し、アクセス元を制限します

スケーリングとパフォーマンス最適化

n8nは大規模なワークフロー実行に対応するための複数のスケーリング方法をサポートしています:

キューモード

Redisをメッセージキューとして使用し、マルチインスタンス展開をサポートします

Workerノード

専用のWorkerノードを展開してワークフロー実行を処理します

データベース最適化

PostgreSQLを使用し、データベース設定を最適化してパフォーマンスを向上させます

関連リソース

準備はできましたか?

展開が完了したら、ワークフローライブラリを閲覧して、ニーズに合った自動化ソリューションを見つけ、n8nの使用を素早く開始しましょう。

ワークフローを閲覧

カテゴリー

カテゴリー: 34