自動化
2026年2月28日
郷将輝
VPSにn8nをDockerでセルフホストする手順を、インストールから運用まで完全ガイドとして解説します。
#n8n
#automation
#workflow
#DX

# n8nのセルフホスト完全ガイド|VPSへのインストールから運用まで
## 導入
n8nの大きな魅力である「無料でほぼ無制限に使える」という恩恵を最大限に享受できるのが、自分だけのサーバーでn8nを動かす「セルフホスト」です。クラウド版の手軽さも魅力的ですが、本格的に業務自動化に取り組むなら、セルフホストは避けては通れない道と言えるでしょう。
しかし、「サーバーにインストール」と聞くと、多くの人がこう感じるのではないでしょうか。
「黒い画面にコマンドを打ち込むとか、難しそう…」 「サーバーの契約から設定まで、何から手をつければいいか分からない」
確かに、少しだけ専門的な知識が必要になるのは事実です。ですが、ご安心ください。現在では、Dockerという技術のおかげで、驚くほど簡単に、そしてクリーンにn8n環境を構築できるようになっています。
この記事では、月々数百円から始められるVPS(仮想プライベートサーバー)を契約し、Dockerを使ってn8nをインストール、そして安全に運用を開始するまでの一連の手順を、コマンドのコピペで進められるように丁寧に解説します。この記事を読み終えれば、あなたも自分だけの強力な自動化エンジンを手に入れているはずです。
## なぜセルフホストなのか?クラウド版との違い
改めて、セルフホストのメリット・デメリットを整理しておきましょう。
「少しの手間をかけてでも、コストと自由度を最大化したい」という方に、セルフホストは最適な選択肢です。
## 3ステップで完了!n8nセルフホスト構築手順
今回は、多くのホスティングサービスで採用されているOS「Ubuntu」を前提に、Dockerを使ってn8nをインストールします。
### STEP1: VPSの契約と初期設定
1. VPSを契約する: ConoHa WING, さくらのVPS, Xserver VPSなど、お好きなサービスでサーバーを契約します。プランは一番安いもので十分です。OSは「Ubuntu 22.04」を選択しましょう。 2. サーバーにSSHで接続する: 契約が完了すると、サーバーのIPアドレスとrootパスワードが発行されます。お使いのPCのターミナル(WindowsならPowerShellやTera Term)から、以下のコマンドでサーバーに接続します。
_`ssh root@YOUR_SERVER_IP`_
3. Dockerをインストールする: サーバーに接続したら、以下のコマンドを順番に実行して、DockerとDocker Compose(複数のコンテナを管理するツール)をインストールします。
_```bash
# Dockerのインストール
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") 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-buildx-plugin docker-compose-plugin
```_
### STEP2: Docker Composeでn8nを起動
次に、n8nを起動するための設定ファイルを作成します。
1. 設定ファイル用のディレクトリを作成:
_`mkdir n8n-data
cd n8n-data`_
2. docker-compose.ymlを作成: nano docker-compose.yml コマンドでエディタを開き、以下の内容を貼り付けます。
_```yaml
version: '3'
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
- N8N_PROTOCOL=https
- NODE_ENV=production
- WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
- GENERIC_TIMEZONE=Asia/Tokyo
volumes:
- ./n8n_data:/home/node/.n8n
volumes:
n8n_data:
```_
_※ この時点ではまだドメイン関連の設定は不完全ですが、後で修正するので一旦このままでOKです。_
3. n8nを起動: 以下のコマンドでn8nをバックグラウンドで起動します。
_`docker-compose up -d`_
これで、http://YOUR_SERVER_IP:5678 にアクセスすると、n8nの初期設定画面が表示されるはずです。
### STEP3: ドメインとSSL化による安全な運用
IPアドレスのままだと覚えにくく、通信が暗号化されていないため危険です。独自ドメインとSSL化(https)は必須と考えましょう。
1. ドメインを取得: お名前.comなどで好きなドメインを取得します。
2. DNS設定: 取得したドメインのDNS設定で、AレコードにサーバーのIPアドレスを登録します。(例: n8n.your-domain.com → YOUR_SERVER_IP)
3. リバースプロキシの設定: CaddyやNginxといったリバースプロキシサーバーを使い、https://n8n.your-domain.com へのアクセスをn8nが動いているhttp://localhost:5678に転送し、SSL証明書を自動で取得・更新するように設定します。この設定は少し複雑なため、「Caddy Docker n8n」などで検索して、解説記事を参考にするのがおすすめです。
## 運用で気をつけるべきこと
docker-compose pull と docker-compose up -d コマンドで簡単に行えます。docker-compose.yml があるディレクトリごとバックアップしておけば、万が一の時もすぐに復旧できます。## まとめ
セルフホストは、あなたのn8n活用を次のレベルへと引き上げるための強力なステップです。
少しの初期投資(時間と費用)で、一生使える自分だけの自動化基盤が手に入ります。この記事を片手に、ぜひセルフホストの世界に挑戦してみてください。