Dec 18, 2025
Yukako W.
2分 詳しく見る
n8nは、さまざまなアプリケーションやAPI間のシームレスな連携を可能にするワークフロー自動化ツールです。Ubuntu VPS上でセルフホスティングすることで、マネージド型のソリューションと比べて、データのプライバシーが強化され、カスタマイズの自由度が高まり、コスト削減にもつながります。
このガイドでは、Hostingerの簡単な1クリックセットアップと、より細かな操作を好むユーザー向けの手動インストールという2つの方法を紹介します。このチュートリアルの最後には、VPS上でn8nが正常に動作する状態になり、ワークフローの自動化をすぐに始められるようになります。
n8nをインストールする前に、ホスティング環境が以下の要件を満たしていることを確認してください:
最小要件: 1 vCPU, 1GB RAM (KVM1)
推奨要件: 2 vCPU, 2GB RAM (KVM2)
まだVPSをお持ちでない場合は、Hostingerがn8n向けVPSホスティングを含むさまざまなVPSオプションを提供しています。

最も簡単な方法から始めましょう。Hostingerの1クリックn8nテンプレートを使用する方法です。この方法では、Ubuntuサーバーのセットアップが自動化され、n8nおよびその依存関係がインストールされます。
まず、VPSダッシュボードにアクセスする必要があります。


ここでは、VPSサーバーで利用可能なオペレーティングシステムとそのテンプレートを確認できます。

テンプレートのセットアップが開始されます。ダッシュボード上部に、以下の例のような進行状況バーが表示されます:

少し待つと、n8nインスタンスの利用準備が整います。
VPS上にn8nがセットアップされると、ログインして正常に動作しているか確認できるようになります。



n8nインスタンスが起動しているので、セキュリティとカスタマイズのために設定を調整していきましょう。


ここでは、名前、姓、メールアドレス、パスワードなど、すべての認証情報を確認・変更できます。
また、環境変数を使ってn8nをカスタマイズすることも可能です:
nano ../root/docker compose.yml
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=username
- N8N_BASIC_AUTH_PASSWORD="password"
上記のusernameとpasswordは、お客様の実際のユーザー名とパスワードに置き換えてください。

その他によく使用される環境変数で、追加または調整を検討するとよいもの:
cat docker compose.yml
これにより、Docker Composeファイル全体が表示されます。そこで、お客様が加えた変更内容を確認できるはずです。
docker compose down
docker compose up -d
Docker Composeを再起動すると、変更内容が反映されます。n8nは設定した環境変数を使用するようになります。
カスタムドメインを使用している場合は、SSLの設定も行うべきです。安全なHTTPS接続を実現するには、NGINXをリバースプロキシとして使用し、Let’s Encryptを導入する方法があります:
sudo apt install certbot nginx python3-certbot-nginx -y
sudo nano /etc/nginx/sites-available/n8n
server {
server_name yourdomain.com;
location / {
proxy_pass http://localhost:5678;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}CTRL+Xを押し、次に YとENTERを入力してファイルを保存して閉じます。
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo systemctl restart nginx
sudo certbot --nginx -d yourdomain.com
sudo certbot renew
エディターの選択を求められた場合は、nanoを選択します。
0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"
Let’s Encryptの証明書は、デフォルトで90日ごとに有効期限が切れます。このジョブを設定しておけば、certbotが必要に応じて証明書を自動更新します。
nano ../root/docker compose.yml
- WEBHOOK_URL=https://yourdomain.com/
- N8N_HOST=yourdomain.com
- N8N_PORT=5678
- N8N_PROTOCOL=https
CTRL+Xを押し、次にYとENTERを入力してファイルを保存して閉じます。
docker compose down
docker compose up -d
これで、n8nインスタンスにはお客様のカスタムドメイン名(例:https://yourdomain.com)を使って安全にアクセスできるようになります。
1クリックのn8nテンプレートがないVPSホスティングプロバイダーを使用している場合は、n8nを手動でインストールする必要があります。ここでは、Ubuntu上でn8nを起動・実行するための手順を順を追って説明します。
n8nを手動でセットアップする前に、必要な依存関係をいくつかインストールする必要があります。まず、SSHまたはウェブベースのコンソールを使ってVPSに接続してください。次に、以下のコマンドを実行してパッケージリストを更新し、既存のパッケージを最新バージョンにアップグレードします:
sudo apt-get update && sudo apt-get upgrade -y
これにより、作業を進める前にシステムが最新のセキュリティパッチとソフトウェアバージョンを備えていることが保証されます。
セルフホスティング版のn8nを実行する方法には、主に2つの方法があります:
ほとんどのケースではコンテナ化インストールが推奨されますが、ここでは両方の方法を簡単に説明します。
直接インストール
n8nはNode.js環境で直接実行できるため、Dockerを使用しない場合は、Node.jsの最新版の長期サポート(LTS)バージョンをインストールしてください:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v
npm -v
これらのコマンドを実行すると、npmおよびNode.jsがインストールされている場合に、それぞれのバージョンが表示されます。
コンテナ化インストール
n8nをDockerコンテナで実行したい場合は、まずDockerをインストールします。
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
docker --version
このコマンドを実行すると、Dockerがインストールされている場合はバージョン情報が表示されます。
すべての依存関係をインストールしたら、n8nのセットアップを行うことができます。
直接インストール
Node.jsを先にインストールしている場合は、npmを使ってn8nをグローバルにインストールできます:
npm install -g n8n
n8nという名前のscreenセッションを開始します:
screen -S n8n
screenセッション内でn8nを実行します:
n8n
screenセッションから切り離すには、CTRL+Aを押した後にDを入力します。n8nと再び対話するためにセッションへ再接続したい場合は、次のコマンドを実行します:
screen -R n8n
デフォルトでは、n8nはポート5678で実行されます。次のURLでアクセスできます:
http://your-server-ip:5678
この時点でセキュアクッキーに関するエラーが表示されることがあります。SSL証明書の作成については後の手順で説明します。
コンテナ化インストール
最新のn8n Dockerイメージを取得します:
docker pull n8nio/n8n
ポートマッピングを指定してコンテナを実行します:
docker run -d --name n8n -p 5678:5678 n8nio/n8n
n8nにブラウザからアクセスするには、次のURLを開きます:
http://your-server-ip:5678
上記のインストール手順と同様に、セキュアクッキーに関するエラーが表示されることがあります。SSL証明書の作成については、以下のセクションを参照してください。
デフォルトでは、Dockerコンテナ内のデータは永続化されません。ワークフローや設定を保存するには、ボリュームをマウントしてn8nを実行します:
docker stop n8n && docker rm n8n #stop and remove previous n8n container
docker run -d --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n
この設定により、ローカルの~/.n8nフォルダーがコンテナ内のn8nのデータディレクトリにマッピングされます。
コンテナが起動しない場合は、ボリュームへの書き込み権限がない可能性があります。
次のコマンドを実行して権限を取得します:
sudo chown -R 1000:1000 ~/.n8n
sudo chmod -R 755 ~/.n8n
次にコンテナを起動します:
docker start n8n
デフォルトでは、n8nは認証を強制しないため、サーバーのIPにアクセスできる誰もが利用できてしまいます。インスタンスを保護するには、コンテナを実行する前に環境変数を設定してください。
直接インストールの場合は、exportコマンドを使って変数を追加できます。
以下の例では、username、password、yourdomain.comをお客様が選んだ情報に置き換えてください:
export N8N_BASIC_AUTH_ACTIVE=true
export N8N_BASIC_AUTH_USER=username
export N8N_BASIC_AUTH_PASSWORD=password
export N8N_HOST=yourdomain.com
export N8N_PORT=5678
export WEBHOOK_URL=https://yourdomain.com/
export GENERIC_TIMEZONE=UTC
n8nをDockerコンテナとして実行する場合(コンテナ化インストール)、これらの環境変数は-eフラグを使って渡すことができます(以下の値はご自身の認証情報に置き換えてください):
docker stop n8n && docker rm n8n #stop and remove previous n8n container
docker run -d --name n8n \
-p 5678:5678 \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=username \
-e N8N_BASIC_AUTH_PASSWORD=password \
-e N8N_HOST=yourdomain.com \
-e N8N_PORT=5678 \
-e WEBHOOK_URL=https://yourdomain.com/ \
-e GENERIC_TIMEZONE=UTC \
-v ~/.n8n:/home/node/.n8n \
n8nio/n8n
.n8nインスタンスを保護し、暗号化された接続を確保するために、Let’s EncryptとNGINXを使用してSSL(HTTPS)を設定します。カスタムドメインを使用している場合は特に重要です。
sudo apt update && sudo apt install nginx certbot python3-certbot-nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
sudo nano /etc/nginx/sites-available/n8n
server {
server_name yourdomain.com;
location / {
proxy_pass http://localhost:5678; # Forward requests to n8n
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;
}
listen 80;
}次に、CTRL+Xを押してからY、ENTERの順に入力して保存・終了します。
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo systemctl restart nginx
sudo certbot --nginx -d yourdomain.com
sudo certbot renew
エディターの選択を求められた場合は、nanoを選択します。
0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"
Let’s Encryptの証明書は、デフォルトで90日ごとに有効期限が切れます。このcronジョブを設定しておけば、Certbotが証明書を自動的に更新します。
n8nがHTTPSで動作していることを確認するには、ブラウザを開いて、https://yourdomain.comの形式でドメイン名を入力してください。SSLの警告が表示されずにn8nのインターフェースが表示されれば、セットアップは成功しており、n8nをすぐに利用できます。
おめでとうございます!n8nのインストールとセルフホスティングが無事完了しました。Hostingerの1クリックセットアップを使った場合でも、手動でn8nをインストールした場合でも、これで強力なワークフロー自動化ツールを自由に活用できるようになりました。
さあ、ここからはワークフローの作成とタスクの自動化を始めましょう。シンプルなn8nの連携から複雑な業務プロセスまで、n8nを使えば大量のコードを書くことなく、アプリ、API、データベースを柔軟につなげることができます。日々の業務を効率化し、作業をシンプルにするさまざまなn8nの自動化アイデアを試してみてください。
覚えておきたいポイント:
問題が発生した場合や高度な設定に挑戦したい場合は、n8nのドキュメントを確認するか、n8nコミュニティに参加してサポートを受けてください。
はい、npmを使ってnpm install n8n -gというコマンドでグローバルにインストールすることで、n8nをローカルで実行できます。インストール後は、n8n または n8n start を実行して起動します。
2つのvCoreと4GBのRAMを備えたVPSがあれば、n8nを始めるには十分です。その場合、HostingerのKVM2で問題ありません。
n8nをローカルにインストールした後は、ローカルで実行している場合、ブラウザでhttp://localhost:5678にアクセスすることでインターフェースを表示できます。カスタムドメイン付きのVPSでセルフホスティングしている場合は、http://yourdomain.com:5678、またはSSLを設定していればhttps://yourdomain.comにアクセスしてください。
本サイトのチュートリアルコンテンツは、 Hostingerの編集方針と価値観に基づき作成されています。