現代において、自動化は生産性向上の鍵となっており、n8nは異なるアプリやサービスをコーディングなしで連携できる優れたオープンソースのワークフロー自動化ツールです。VPS(Virtual Private Server)上にn8nをセルフホストすることは、自分のデータフローをコントロールし、カスタマイズしたい開発者にとって良い選択です。このガイドでは、Dockerを使ったVPSへのn8nのインストールと設定のステップを説明します。
必要な準備
- VPSプロバイダーの選択:必要に応じて適したVPSプロバイダーを選びましょう。以下は主要なオプションの比較です。
| プロバイダー | 月額料金 | RAM | ストレージ |
|---|---|---|---|
| Contabo VPS | 5.99 EUR | 4 GB | 200 GB SSD |
| Hetzner Cloud | 4.15 EUR | 2 GB | 20 GB SSD |
| DigitalOcean | 6 USD | 1 GB | 25 GB SSD |
| Vultr | 6 USD | 1 GB | 25 GB SSD |
| Linode (Akamai) | 5 USD | 2 GB | 50 GB SSD |
-
Dockerのインストール:VPSにDockerとDocker Composeがインストールされていることを確認してください。未インストールの場合は、公式のDockerインストールガイドに従ってください。
-
サーバーのセキュリティ設定:
ufw(Uncomplicated Firewall)による基本的なファイアウォールの設定を推奨します。SSHとn8nに必要なポートを開放してください。
ステップ1:Dockerの設定
SSHでVPSにログインしたら、次のコマンドでDockerがインストールされているか確認します。
docker --version
もし未インストールの場合は、以下のコマンドでインストールしてください。
sudo apt update
sudo apt install docker.io
Dockerを有効にして起動します。
sudo systemctl enable docker
sudo systemctl start docker
ステップ2:n8n用ディレクトリの作成
n8n用のディレクトリを作成し、そこに移動します。
mkdir ~/n8n
cd ~/n8n
ステップ3:Docker Composeファイルの作成
お好みのエディタを使ってdocker-compose.ymlを作成します。
nano docker-compose.yml
以下の内容を記述します。
version: '3'
services:
n8n:
image: n8nio/n8n
environment:
- N8N_API_BASIC_AUTH_ACTIVE=true
- N8N_API_BASIC_AUTH_USER=user
- N8N_API_BASIC_AUTH_PASSWORD=your_password
- N8N_HOST=your_domain_or_ip
- N8N_PORT=5678
- N8N_PROTOCOL=https
- N8N_SSL_CERT=your_ssl_cert_path
- N8N_SSL_KEY=your_ssl_key_path
volumes:
- ~/.n8n:/home/node/.n8n
ports:
- "5678:5678"
restart: always
your_domain_or_ipやyour_ssl_cert_path、your_ssl_key_pathはご自身の情報に置き換えてください。SSLにはLet’s Encryptを利用するのも良いでしょう。
ステップ4:n8nの起動
Docker Composeを使ってn8nを起動します。
docker-compose up -d
コンテナが正常に動作しているか確認します。
docker ps
ステップ5:n8nへのアクセス
VPSのIPアドレスまたはドメイン名を使ってアクセスします。
http://your_domain_or_ip:5678
docker-compose.ymlで設定した資格情報でログインします。
ステップ6:SSLの設定(オプションだが推奨)
セキュリティ向上のためSSL設定を行うことを推奨します。Let’s Encryptを使用する場合は、以下の手順です。
- Certbotのインストール:
sudo apt install certbot
- 証明書の取得:
sudo certbot certonly --standalone -d your_domain.com
docker-compose.ymlの更新:ステップ3の設定に沿って、SSL証明書のパスを正しく設定してください。
設定後は、n8nサービスを再起動します。
docker-compose down
docker-compose up -d
よくある質問(FAQs)
1. クラウド版のn8nを使うのと比較して、セルフホストのメリットは何ですか?
セルフホストのn8nは、データの完全なコントロール、特定のニーズに合わせたカスタマイズ、他のセルフホストサービスとの連携による柔軟な自動化が可能です。また、機密性の高いデータをプライベートに保ち、データ保護規則を遵守しながら運用できます。さらに、クラウド版では制限されることが多い多くの統合や拡張も自由に試せるのがメリットです。
2. 低スペックのVPSでn8nを動かせますか?
はい、n8nは低スペックのVPSでも動作しますが、パフォーマンスは実行するワークフローの複雑さによります。シンプルな自動化なら、Hetzner CloudやDigitalOceanの1~2 GB RAM程度のプランでも十分です。ただし、大容量データを扱ったり、多数の同時実行を行う場合は、より高性能なVPS(追加のRAMやCPU)がおすすめです。
3. n8nの設定やデータをバックアップするにはどうすれば良いですか?
n8nの設定やデータのバックアップは非常に重要です。docker-compose.ymlでマウントしているボリュームに保存されている~/.n8nディレクトリを定期的にコピーし、他の場所に保存するか、自動化されたバックアップサービスを利用しましょう。このディレクトリをクラウドストレージや別の物理サーバに定期的にバックアップすることで、データ喪失を防ぎ、システムの堅牢性を保てます。
この完全ガイドに従えば、VPS上にn8nをセルフホスティングし、自動化の可能性を最大限に引き出せるでしょう。最良のVPSプロバイダーの比較はこちらのVPS比較完全版もご参照ください。ハッピーセルフホスティング!