Difyとn8nをXserver VPSで一括構築|SSL・ドメイン不要で月1700円からの最強DX環境

Xserver VPS(6GBプラン)とDockerを使えば、Difyとn8nを月額1,700円で、ラグなし・SSL対応の環境として構築できます。
- 「業務自動化ツールのn8nと、生成AI開発基盤のDifyを連携させたい」
- 「でも、AWSやCloud Runで構築するのは難しそうだし、従量課金が怖い」
- 「ドメイン取得やSSL設定の手間をかけずに、すぐに使い始めたい」
このような悩みを持つエンジニアやDX担当者は多いはずです。本記事では、Xserver VPSを使用し、無料のnip.ioとCaddyを組み合わせることで、ドメイン不要・コピペだけで完結する「最短・最安」の構築手順を完全解説します。
もし「月額固定費を0円に近づけたい」という場合は、Cloud RunとSupabaseを使った無料構築手順の方が適しています。
Dify × n8n構築の全体像とXserver VPSを選ぶ理由

本記事では、Xserver VPSの6GBプラン(月額約1,700円〜)を使用し、DockerコンテナとしてDifyとn8nを一括構築します。
クラウドサービス(AWSやCloud Run等)と比較して「固定料金で安心」「常時起動でラグなし(スピンアップ待ちがない)」というメリットがあります。
また、Webサーバーとして「Caddy」を採用し、「nip.io」という特殊なドメインサービスを使うことで、独自ドメインを取得せずに即座にSSL化(https)を実現します。
なぜ6GBプランが必要なのか(メモリ要件)
Difyは非常に高機能なアプリケーションであり、多くのコンテナ(APIサーバー、Worker、DB、Redisなど)が同時に稼働します。
公式の推奨スペックでもメモリ4GB以上とされており、2GBプランでは動作が不安定になったり、頻繁にクラッシュしたりするリスクがあります。
安定稼働のためには4GBプラン以上が必須ラインです。
Xserver VPSは現在「6GBプラン」を提供しているため、他社の4GBプランと同じような価格帯でメモリに1.5倍の余裕があります。 これならDifyとn8nを同居させてもサクサク動きます。
独自ドメイン不要の仕組み(nip.ioとCaddy)
通常、SSL化(https)には独自ドメインの取得が必要です。しかし、今回は「nip.io」を使用します。
これは 111.11.11.11.nip.io のように、IPアドレスを含んだサブドメインを自動的にそのIPアドレスに解決してくれる無料サービスです。
これと、SSL証明書を自動取得してくれるWebサーバー「Caddy」を組み合わせることで、追加費用ゼロでセキュアな環境を構築します。
手順1:Xserver VPSの申し込みと初期設定
まずはXserver VPS公式サイトから申し込みを行います。
OSは「Ubuntu」、アプリケーションは「Docker」を選択することで、環境構築の手間を大幅に削減できます。
申し込み完了後、VPSパネルからIPアドレスを確認し、SSH接続の準備を整えます。所要時間は約10分です。
プラン選択とDockerイメージの指定

Xserver VPSの申し込み画面で、以下の設定を選択してください。

- プラン: 4GBプラン(以上)
- イメージタイプ: アプリケーション > Docker
- rootパスワード: 任意の強力なパスワード(※忘れないように必ずメモしてください)
- SSH Key: 設定しない(今回はパスワード認証で進めます)
「Docker」イメージを選ぶことで、面倒なDockerやDocker Composeのインストール作業(通常30分程度)をスキップできます。
SSH接続によるサーバーログイン
申し込みが完了し、ステータスが「稼働中」になったら、IPアドレス(例: 111.11.11.11)を控えます。
PCのターミナル(Mac)またはPowerShell(Windows)を開き、以下のコマンドで接続します。
# <IPアドレス> の部分は、控えた数字に書き換えてください
ssh root@<IPアドレス>「Are you sure...?」と聞かれたら yes と入力し、パスワードを求められたら設定したrootパスワードを入力します(入力文字は見えませんが入力されています)。
手順2:n8nとWebサーバー(Caddy)の構築
自動化ツールn8nと、SSL化を担当するCaddyを立ち上げます。
専用のDockerネットワークを作成し、docker-compose.yml と Caddyfile を作成して起動します。この段階でn8nへのhttpsアクセスが可能になります。
n8nの基本的な使い方や、Zapier・Makeとの詳細な機能比較、セルフホスト運用のメリットについては、以下の完全ガイドで網羅的に解説しています。
n8n完全ガイド|Zapierより安く自社サーバーで動かす最強の自動化ツール
作業用ディレクトリとネットワークの作成
まず、作業用のフォルダを作り、Difyとも通信できる共通ネットワークを作成します。
# 作業用フォルダの作成
mkdir -p /opt/n8n
cd /opt/n8n
# n8nとDifyをつなぐネットワークを作成
docker network create app-networkdocker-compose.ymlとCaddyfileの作成
以下のコマンドブロックをコピーし、テキストエディタで IPアドレス(2箇所) をご自身のものに書き換えてから、ターミナルに貼り付けて実行してください。
cat <<EOF > docker-compose.yml
version: '3.8'
services:
caddy:
image: caddy:latest
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- caddy_data:/data
- caddy_config:/config
- ./Caddyfile:/etc/caddy/Caddyfile
networks:
- app-network
n8n:
image: docker.n8n.io/n8nio/n8n
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_HOST=n8n.<あなたのIPアドレス>.nip.io
- N8N_PORT=5678
- WEBHOOK_URL=https://n8n.<あなたのIPアドレス>.nip.io/
- GENERIC_TIMEZONE=Asia/Tokyo
- TZ=Asia/Tokyo
volumes:
- n8n_data:/home/node/.n8n
networks:
- app-network
networks:
app-network:
external: true
volumes:
caddy_data:
caddy_config:
n8n_data:
EOF次に、Caddyの設定ファイルを作成します。同様にIPアドレスを書き換えてください。
cat <<EOF > Caddyfile
n8n.<あなたのIPアドレス>.nip.io {
reverse_proxy n8n:5678
}
EOF最後に起動します。
docker compose up -d手順3:Difyのインストールとポート競合の回避
次にDifyを公式リポジトリからクローンして構築します。
Difyはデフォルトでポート80を使用するため、n8n(Caddy)と競合しないようポートを8080に変更します。
また、n8nと同じDockerネットワークに参加させる設定変更も行います。
公式リポジトリのクローンと設定ファイル準備
cd /opt
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .envポート番号の変更(80→8080)とネットワーク設定
初心者でも扱いやすい nano エディタを使って設定ファイルを編集します。
1. ポート番号の変更
nano .env矢印キーでスクロールし、以下の部分を探して書き換えます。
- 変更前:EXPOSE_NGINX_PORT=80
- 変更後:EXPOSE_NGINX_PORT=8080
- 変更前:EXPOSE_NGINX_SSL_PORT=443
- 変更後:EXPOSE_NGINX_SSL_PORT=8443
書き換えたら Ctrl + O(保存)、Enter(確定)、Ctrl + X(終了)で閉じます。
2. ネットワーク設定の変更
nano docker-compose.yamlファイルの末尾にある networks: セクションを以下のように書き換えます(Ctrl + W で "networks:" を検索すると早いです)。
※重要: 元のファイルにある networks: の記述をすべて消してから、以下のコードを貼り付けてください。YAMLファイル内に networks: という単語が複数箇所に存在するとエラーになります。
networks:
default:
name: app-network
external: true保存して終了したら、Difyを起動します。
docker compose up -d※Difyの初回起動には数分かかります。
手順4:Difyの公開設定とファイアウォール開放
Difyを外部からアクセス可能にするため、Caddyにリバースプロキシ設定を追加します。
最後に、Xserver VPSの管理画面(パケットフィルタ)とサーバー内部(UFW)の両方で、Webアクセス用ポート(80/443)を開放します。
CaddyへのDify設定追加と再起動
n8nフォルダに戻り、Caddyfile にDify用の設定を追記します。ここもIPアドレスを書き換えてください。
cd /opt/n8n
cat <<EOF >> Caddyfile
dify.<あなたのIPアドレス>.nip.io {
reverse_proxy <あなたのIPアドレス>:8080
}
EOF
# 設定反映(Caddy再起動)
docker compose restart caddy【重要】2つのファイアウォール(VPSパネル/UFW)の設定
Xserver VPSには「2つの壁」があります。両方開けないとアクセスできません。
外の壁(Xserver管理画面)
VPSパネルの「パケットフィルタ設定」メニューを開き、Web (TCP 80 / 443) の行を追加して「設定する」ボタンを押します。

中の壁(サーバー内部)
ターミナルで以下のコマンドを実行し、Ubuntuのファイアウォールを開放します。
ufw allow 80
ufw allow 443
ufw reloadこれで構築完了です!ブラウザで以下のURLにアクセスし、SSL(鍵マーク)付きで表示されるか確認してください。
⚠️ 警告:すぐに初期設定を完了させてください
構築完了後、URLにアクセスしたら「すぐに」管理者アカウントを作成してください。
この状態は世界中に公開されており、誰でも管理者登録ができる状態です。
放置すると第三者に管理者権限を取得され、サーバーを乗っ取られる恐れがあります。設定が終わるまでが構築作業です。
運用上の注意点とセキュリティ対策
構築後の運用において、SSH接続元のIP制限や、nip.ioのリスク管理が重要です。nip.ioは開発用のため、本番運用では独自ドメインへの移行を推奨します。
SSH接続制限と「締め出し」への対策

セキュリティを高めるために、Xserver VPSのパケットフィルタ設定で、SSH (TCP 22) の接続元IPアドレスを「自分の自宅/会社のIP」だけに制限することを推奨します。
個人のIPアドレスの確認はCMANが簡単でおすすめです。ただし、一般的なプロバイダはIPアドレスが定期的に変わります。「急に繋がらなくなった」場合は、VPSパネルから許可IPを更新してください。
nip.ioのリスクと独自ドメインへの移行推奨
本記事で使用した nip.io は開発・検証用のサービスです。
サービス停止やDNSハイジャックなどのリスクを避けるため、本格的な本番運用では独自ドメインを取得することを強く推奨します。
移行時は、DNS設定(Aレコード)を行い、Caddyfile のURL部分を書き換えて再起動するだけで完了します。
よくある質問(FAQ)
構築に関するよくある質問として、繋がらない場合の原因、メモリ不足時の挙動、独自ドメインへの変更方法などが挙げられます。
Qブラウザでアクセスしても繋がりません
以下の点を確認してください。
- Xserverのパケットフィルタ設定で80/443が許可されているか。
- サーバー内部で ufw が許可されているか。
- docker ps コマンドで、n8n、caddy、difyのコンテナが起動しているか。
- 「502 Bad Gateway」が出る場合は、Difyの起動途中である可能性があります。数分待ってから再読み込みしてください。
Q独自ドメインを使いたい場合はどうすればいいですか?
ドメインを取得してDNS設定(AレコードにVPSのIPを設定)を行い、Caddyfile の nip.io 部分を取得したドメインに書き換えて docker compose restart caddy を実行するだけでOKです。SSL証明書は自動で再取得されます。
Qデータのバックアップはどうすればいいですか?
最も簡単な方法は、Xserver VPSの「イメージ保存機能(バックアップ)」を利用することです。
また、/opt/n8n や /opt/dify フォルダをまるごと外部にコピーしておくのも有効です。Difyやn8nのアップデートを行う前には、必ずバックアップを取る習慣をつけてください。
まとめ
本記事では、Xserver VPSを使ってDifyとn8nを一括構築する手順を解説しました。
- コスト: 月額1,700円(6GBプラン推奨)
- 手軽さ: ドメイン不要、コピペでSSL化まで完了
- 拡張性: 独自ドメインへの移行も簡単
最強の環境が整いました。
次は、この2つを連携させて、24時間働く「AI社員」を開発しましょう。
具体的な連携パターンや活用事例はDifyとn8nの連携ガイド|役割の違いと「AI社員」の作り方で解説しています。
無料相談のご案内
- 「構築手順通りにやったがエラーが出る」
- 「Difyとn8nを連携させた具体的なワークフローを作りたい」
- 「自社専用のRAG(ナレッジベース)を構築したい」
conetsでは、Difyやn8nの導入支援から、実際の業務フローへの落とし込みまでをサポートする無料相談(オンライン/60分)を行っています。
【無料相談で得られる価値】
- 構築トラブルの原因特定と解決策の提示
- 貴社の業務に合わせたDify × n8n活用アイデアの提案
- セキュリティや運用コストの最適化アドバイス
お気軽にご活用ください。
