Core Media Lab記事一覧
開発・インフラ

【脱・無料枠制限】Difyを格安VPSにセルフホスト構築する完全手順!Dockerで無制限AI環境を作る

【脱・無料枠制限】Difyを格安VPSにセルフホスト構築する完全手順!Dockerで無制限AI環境を作る

ノーコード・ローコードで高度な生成AIアプリや業務自動化ワークフローを構築できる「Dify(ディファイ)」は、個人開発者から企業のDX推進担当者まで爆発的な人気を集めているオープンソース(OSS)プラットフォームです。

公式が提供している「Dify Cloud(クラウド版)」を使えばアカウント登録だけですぐに試せますが、本格的にチャットボットや自動化フローを運用し始めると、すぐに次のような無料枠(Sandboxプラン)の壁に直面します。

  • 無料メッセージクレジット(200回分)があっという間に枯渇する
  • 作成できるアプリ数(最大5個まで)やナレッジベース(RAG)の容量上限に引っかかる
  • クラウドの有料プラン(Professional)に上げようとすると月額59ドル(約9,000円前後)と個人には高額すぎる

このコストと制限のジレンマを根本から解決する唯一の方法が、「月額1,000円〜2,000円前後の格安Linux VPSを借りて、Dockerで自分専用のDify(Community Edition)をセルフホスト構築すること」です。

本記事では、LinuxやDockerに慣れていない方でも途中で挫折しないよう、「メモリ不足でクラッシュしないVPSのスペック基準」から「UbuntuサーバーへのDocker導入・Dify立ち上げ・セキュリティ設定・アップデート手順」までをコピペ可能なコマンド付きで徹底解説します。

Difyをクラウド版ではなく「VPSでセルフホスト」する3大メリット

Difyを自分のパソコン(ローカル環境)や公式クラウド版ではなく、あえて「契約したVPS(仮想専用サーバー)」上に構築することには、実務運用において圧倒的なメリットがあります。

1. 無料枠のクレジット制限・アプリ作成数制限から完全に解放される

オープンソース版である「Dify Community Edition」を自前のVPSにインストールした場合、Dify側のソフトウェア制限は事実上撤廃されます。

比較項目 Dify Cloud(無料Sandbox) VPSセルフホスト(Community版)
月額固定コスト 0円(有料版は月59ドル〜) VPS代のみ(月1,000円〜2,000円前後)
アプリ作成数の上限 最大 5個まで 無制限(サーバースペックが許す限り)
ナレッジ(ベクトルDB)容量 50MBまで(ドキュメント数制限あり) 無制限(VPSのディスク容量上限まで)
実行回数・レート制限 200クレジット上限・同時実行制限あり Dify側の制限なし(各AIのAPI従量課金のみ)

OpenAI(GPT-4o等)やAnthropic(Claude)、Google(Gemini)のAPIキーを自分のアカウントで発行してDifyに設定すれば、使った分のAPI従量課金(数円〜数百円)と格安なVPSの月額費用だけで、何十個でもAIワークフローを作って回し放題になります。

2. 自前サーバーなら24時間365日WebhookやAPI連携が止まらない

自分のWindows PC(WSL2)やMacのDocker DesktopにDifyを入れることも可能ですが、ローカル環境では「PCをスリープにしたり電源を切ったりした瞬間にDifyが停止する」という致命的な弱点があります。

VPS上に構築しておけば、自分のPCを閉じて外出している間も24時間365日稼働し続けます。たとえば、以下のような外部システムとの連携ハブとして常時待機させることが可能です。

  • Googleスプレッドシート(GAS)からDifyのAPIを呼び出し、長文の記事構成やデータ分類を自動処理させる
  • VPS上のPythonスクレイピングで定期収集した最新ニュースや競合データを、そのままDifyのワークフローへ流し込んで要約・Slack通知する
  • WebサイトにDify製のAIチャットボットを埋め込み、読者からの質問に24時間自動応答させる
💡 あわせて読みたい(VPSを活用した自動化連携の実践例):
・【脱・6分制限】GASの「実行時間エラー」を根本解決!重い定期処理をVPS×Pythonへ逃がすハイブリッド自動化術
・【脱ローカル】PythonスクレイピングをVPSで24時間完全自動化する手順!

3. 独自プロンプトやナレッジベース(RAG)を自前環境で一元管理できる

外部のクラウドSaaSに社内ドキュメントや未公開の企画データをアップロードするのに抵抗がある場合でも、セルフホスト環境であればデータベース(PostgreSQL)もベクトルDB(Weaviate等)もすべて自分が管理するVPSのディスク内に保存されます。データの保存場所を自分でコントロールできる安心感は、セルフホストならではの強みです。

失敗しないVPSのスペック選び|メモリ2GB〜4GBが「絶対防衛ライン」な理由

いざDifyをVPSに構築しようとした初心者が最も高い確率でつまずく失敗が「一番安いメモリ1GBプラン(月額500円前後)を契約してしまい、起動直後にフリーズする」というトラブルです。

なぜDifyにはある程度のメモリ容量が必要なのか、その技術的な理由と失敗しないスペック基準を明確にしておきます。

Difyの構成コンテナが消費するリソースの内訳

Difyは単一のプログラムではなく、docker compose によって以下の約9〜10個のコンテナ群(マイクロサービス)を一斉に立ち上げて連携させるアーキテクチャになっています。

  • api / worker: Difyのコア処理・非同期タスク実行エンジン(Python / Flask・Celery)
  • web: ブラウザ操作用のフロントエンド画面(Next.js)
  • db(PostgreSQL): ワークフローや会話履歴を保存するメインデータベース
  • redis: キャッシュおよびタスクキュー管理
  • weaviate(またはQdrant等): ナレッジベース(RAG)検索用のベクトルデータベース
  • sandbox / ssrf_proxy / plugin_daemon: コード実行環境とセキュリティプロキシ、プラグイン管理
  • nginx: リバースプロキシ(Webサーバー)

これら全てのコンテナを起動した時点で、何も処理をしていないアイドル状態でも約1.5GB〜2.2GB前後のメモリ(RAM)を常時消費します。

メモリ1GBは即クラッシュ!最低2GB(Swap必須)・安定運用なら4GBを選ぼう

Difyの公式GitHubドキュメントにおけるシステム最小要件は「CPU: 2 Core以上 / RAM: 4 GiB以上」と定義されています。実際のVPSプランに当てはめた場合の稼働目安は以下のとおりです。

VPSメモリプラン Difyの稼働判定 実際の挙動と運用適性
メモリ 1GB(1Core) × 起動不可 コンテナ起動中にメモリが枯渇し、LinuxのOOM KillerによってDBやAPIが強制終了(502 Bad Gateway)します。
メモリ 2GB(2Core〜) △ 最小構成(要Swap設定) そのままでは不安定ですが、「4GBのSwap(仮想メモリ)」を事前設定すれば個人用途・検証用途として稼働可能です。
メモリ 4GB(3〜4Core) ◎ 推奨・安定稼働 公式要件をクリア。RAG(ドキュメント検索)や複数ワークフローの同時実行、Pythonスクリプトの同居も余裕でこなせます。

結論として、「まずはコストを抑えて個人で試したいならメモリ2GBプラン(+後述するSwap設定)」、「RAGや業務自動化でストレスなく安定稼働させたいならメモリ4GBプラン」を選ぶのが最も失敗のない選択です。国内の主要VPSであれば、最初は2GBプランで契約し、重くなったらデータを消さずに管理画面からワンクリックで4GBへスケールアップ(プラン変更)することも可能です。

Dify構築におすすめのコスパに優れた国内VPS

Difyをセルフホストする場合、海外の格安サーバーよりも、管理画面が日本語で分かりやすく、NVMe SSD搭載でディスクI/O(読み書き速度)が高速な国内VPSを選ぶのが鉄則です。特に2GBでもSwapメモリを併用する場合は、SSDの読み書き速度がそのままDifyの体感速度に直結します。

🚀 【徹底比較】DifyやPython自動化を最安クラスで動かせる国内VPSはどこ?
メモリ2GB〜4GB帯の月額料金やCPU性能、スケールアップのしやすさを比較した最新の厳選ランキングは以下の記事で詳しく解説しています。サーバー契約前の方はまずこちらから最適な1台を選んでみてください。

👉 【2026年最新】開発・自動化におすすめのVPS 3選を徹底比較!コストとスペックで選ぶ最適解

【実践】VPSにDockerでDifyを立ち上げる5ステップ

ここからは、実際に契約したVPS(Ubuntuサーバー)へSSH接続し、Difyをゼロから立ち上げる具体的な手順を解説します。

今回は、最も安定して動作実績の多い Ubuntu 22.04 LTS(または 24.04 LTS) 環境を前提としています。ターミナル(WindowsならPowerShellやTera Term、Macなら標準ターミナル)からVPSにログインした状態で、上から順番にコマンドをコピー&ペーストして進めてください。

STEP 1:Ubuntuサーバーの初期設定とSwap(仮想メモリ)の作成

まずはUbuntuのパッケージ情報を最新化し、ビルドやクローンに必要な基本ツール(git や curl)を導入します。

# パッケージリストの更新と基本ツールのインストール
sudo apt update && sudo apt upgrade -y
sudo apt install -y git curl ca-certificates gnupg

続いて、コンテナ起動時のメモリ不足(OOM Killerによる強制終了)を防ぐための「Swap(仮想メモリ)領域」を4GB作成します。メモリ2GBプランの方は必須、メモリ4GBプランの方も突発的な負荷スパイクに備えて設定しておくことを強く推奨します。

# 1. 4GBのスワップファイルを作成
sudo fallocate -l 4G /swapfile

# 2. rootユーザーのみ読み書きできるよう権限を変更
sudo chmod 600 /swapfile

# 3. スワップ領域としてフォーマットし、有効化
sudo mkswap /swapfile
sudo swapon /swapfile

# 4. サーバー再起動後も自動で有効になるよう /etc/fstab に追記
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# 5. メモリとSwapが認識されているか確認
free -h

free -h を実行した際、下段の Swap: の項目に 4.0Gi と表示されていれば、仮想メモリの準備は完了です。

STEP 2:DockerおよびDocker Composeのインストール

次に、Difyを動かすための心臓部となる「Docker Engine」と「Docker Compose(V2プラグイン)」を、Docker公式リポジトリからインストールします(Ubuntu標準の古いパッケージではなく、必ず公式版を導入します)。

# 1. Docker公式のGPGキーを追加
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

# 2. DockerリポジトリをAPTソースに追加
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

# 3. Docker本体とDocker Composeプラグインをインストール
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 4. インストール確認(バージョンが表示されれば成功)
docker --version
docker compose version

Docker version 27.x.x や Docker Compose version v2.x.x といったバージョン情報が表示されれば正常に導入できています。

STEP 3:Difyリポジトリのクローンと環境変数(.env)の設定

Dockerの準備が整ったら、GitHubにあるDifyの公式リポジトリをサーバー上にダウンロード(クローン)し、環境設定ファイルを作成します。

# 1. Dify公式リポジトリをクローン
git clone https://github.com/langgenius/dify.git

# 2. Docker構成ディレクトリへ移動
cd dify/docker

# 3. サンプル設定ファイルをコピーして本番用の .env ファイルを作成
cp .env.example .env

基本的にはコピーした .env のままでもすぐに起動できますが、セキュリティを高めるため、セッション暗号化などに使われる SECRET_KEY だけは独自のランダム文字列に差し替えておくのが安全です。以下のコマンドを実行すると、ランダムな秘密鍵を生成して確認できます。

# 安全なランダム文字列を生成して表示
openssl rand -base64 42

必要であれば nano .env でファイルを開き、SECRET_KEY= の値や、Web画面の待受ポート番号(EXPOSE_NGINX_PORT=80)を自分の環境に合わせて調整してください。

STEP 4:Dockerコンテナの一括起動と稼働確認

設定ファイルが準備できたら、いよいよDifyの全コンテナを一括でバックグラウンド起動します。

# Difyのコンテナ群をバックグラウンドでビルド・起動(初回は数分かかります)
sudo docker compose up -d

初回実行時は、データベースやフロントエンドなど約10個のコンテナイメージが順番にダウンロード(Pull)されるため、回線速度やVPSのスペックによって3分〜5分ほど時間がかかります。完了したら、以下のコマンドで全コンテナの稼働状態を確認しましょう。

# コンテナの起動ステータスを確認
sudo docker compose ps

一覧表示された docker-api-1、docker-web-1、docker-worker-1、docker-db-1、docker-nginx-1 などの STATUS 列がすべて Up(または healthy)になっていれば、サーバー側の立ち上げは成功です。

STEP 5:ブラウザから初期管理者アカウントを作成してログイン

コンテナが起動したら、普段使っているパソコンのWebブラウザを開き、アドレスバーに以下のURLを入力してアクセスします。

http://あなたのVPSのIPアドレス/install

※起動直後(1〜2分以内)にアクセスすると、データベースの初期化処理が終わっておらず「502 Bad Gateway」や読み込み中画面が出ることがあります。その場合は1〜2分ほど待ってからページを再読み込みしてください。

  1. 管理者アカウントの登録: 初回アクセス時に「管理者アカウントの設定」画面が表示されます。メールアドレス、ユーザー名、強固なパスワードを入力して作成します。
  2. Difyへログイン: 作成した認証情報でログインすると、Difyのメインダッシュボード(スタジオ画面)が開きます。
  3. AIモデル(APIキー)の登録: 画面右上のアイコンから「設定」➔「モデルプロバイダー」を開き、OpenAI(ChatGPT)やAnthropic(Claude)、Google(Gemini)など、利用したいLLMのAPIキーを入力して保存します。

これで、クレジット上限やアプリ作成数を一切気にせず使える「自分専用のDify自動化基盤」が開通しました。

構築後に必ずやっておくべきセキュリティ設定と運用ルール

VPSはインターネット上に公開されているサーバーであるため、「立ち上げて終わり」ではなく、安全に長期運用するための最低限の防御策とメンテナンス手順を押さえておきましょう。

1. ファイアウォール(パケットフィルター)で不要なポートを遮断する

Difyをブラウザから利用するために必要なポートは、基本的に SSH(22番) と Webアクセス用のHTTP(80番)/HTTPS(443番) だけです。

ここで1つ重要な技術的注意点があります。Ubuntu標準のファイアウォールである ufw を使う場合、Dockerが内部で iptables(ネットワーク転送ルール)を直接書き換える仕様になっているため、ufw の設定だけではDockerコンテナが公開したポートを遮断できないケースがあります。

そのため、最も確実で安全な防御策は以下の2つを組み合わせることです。

  • VPSコントロールパネルの「パケットフィルター(セキュリティグループ)」機能を使う: ConoHa WING(VPS)やXserver VPS、KAGOYAなどの管理画面に標準搭載されているパケットフィルター機能を有効にし、「SSH(22)」「Web(80 / 443)」以外の通信をインフラ側で全て遮断する(これが最も確実です)。
  • 独自ドメイン+Cloudflare等でSSL(HTTPS)化する: IPアドレス直打ち(HTTP通信)のまま運用するとログイン時の通信が暗号化されないため、本格運用時は独自ドメインを割り当て、NginxのリバースプロキシやCloudflare Tunnel経由でHTTPS化することを強く推奨します。

2. Difyのバージョンアップ手順(最新機能・モデルへの追従)

Difyは非常に開発スピードが速く、新しいAIモデルへの対応や新機能が毎週のように追加されます。セルフホスト環境を最新バージョンへアップデートする際は、以下のコマンド手順で行います。

# 1. Difyのdockerディレクトリへ移動
cd ~/dify/docker

# 2. 現在のコンテナを一度停止
sudo docker compose down

# 3. GitHubから最新のソースコードを取得
git pull origin main

# 4. 最新のDockerイメージをダウンロード
sudo docker compose pull

# 5. コンテナを再起動(DBマイグレーションも自動実行されます)
sudo docker compose up -d

※大幅なメジャーアップデートの際は、.env.example に新しい環境変数が追加されていることがあります。起動エラーが出る場合は、最新の .env.example と手元の .env の差分を確認して設定項目を追記してください。

3. バックアップ対象(volumesディレクトリ)の保護

あなたが作成したAIワークフロー、プロンプト、登録したナレッジベース(RAG用ドキュメント)、アカウント情報などの全データは、すべて dify/docker/volumes フォルダ配下に永続化データとして保存されています。

万が一のアップデート失敗やサーバー障害に備え、バージョンアップ作業の前には以下のコマンドで volumes フォルダごと圧縮バックアップを取っておくと安心です。

# volumesディレクトリを日付付きの圧縮ファイルとしてバックアップ
cd ~/dify/docker
sudo tar -czvf dify_backup_$(date +%Y%m%d).tar.gz volumes/

まとめ:自分専用のDify環境で、制約のないAI自動化を始めよう

本記事では、Dify Cloudの無料枠制限を突破し、格安VPSとDockerを使って自分専用のDify環境をセルフホスト構築する手順を解説しました。

  • クラウド版の制限を完全撤廃: アプリ作成数5個の壁やクレジット制限を気にせず、API従量課金のみでAIワークフローを無限に構築できる。
  • VPSのスペック選びが最重要: メモリ1GBプランは起動時にクラッシュするため避け、「最低2GB+Swap 4GB設定」または「安定推奨のメモリ4GBプラン」を選ぶ。
  • 24時間稼働の自動化ハブに進化: GASやPythonスクレイピングとAPI連携させることで、PCの電源を切っていても裏側で動き続ける強力な自動化パイプラインが完成する。

月額1,000円〜2,000円前後のサーバー投資だけで、月額59ドルの有料クラウド版に匹敵する自由なAI開発環境が手に入ります。まずはコスパに優れた国内VPSを1台用意し、あなただけのAI自動化ラボを立ち上げてみてください。

🚀 【2026年最新】Dify・自動化におすすめの国内VPS 3選を比較する