Dify セルフホストは、Docker Composeを使えば数コマンドで自前サーバーに構築できます。公式リポジトリをgit cloneし、環境設定ファイルをコピーして「docker compose up -d」を実行すれば、AIアプリ開発基盤が手元で立ち上がります。クラウド版の利用制限やデータ送信を避けたい場合の現実的な選択肢です。本記事では、必要なCPU・メモリ・Dockerのバージョン要件、構築の全手順、起動するコンテナ、クラウド版との違い、自社ツール開発での活かし方、アップグレード時の注意点までを筆者が整理します。
Dify セルフホストとは|Docker Composeで自前構築する仕組み
Dify セルフホストとは、DifyのオープンソースコードをDocker Composeで自分のサーバーやPCに展開し、クラウド版に頼らず運用する方式です。DifyはRAGやAIエージェント、ワークフローを画面上で組めるLLMアプリ開発プラットフォームで、コードをまるごと公開しているため、誰でも自前環境で動かせます。筆者が公式ドキュメントで確認したところ、公式が推奨する導入経路がこのDocker Compose方式です。
自前で持つ最大の利点は、クラウド版にある利用回数やメンバー数の制限を受けず、データを外部へ送らずに完結できる点にあります。社内の機密資料を扱うRAGや、外部に出せないデータを使った検証には、この方式が向きます。以降で要件と手順を具体的に見ていきます。
Difyセルフホストでできること
セルフホスト版でも、クラウド版と同じようにDifyの主要機能を使えます。代表的なのは次の3つです。第一に、社内文書を取り込んで質問に答えさせるRAG(検索拡張生成)アプリの構築です。第二に、複数の処理を条件分岐でつなぐワークフローの作成で、問い合わせの自動振り分けや定型作業の自動化に使えます。第三に、ツールを呼び出しながら自律的にタスクを進めるAIエージェントの構築です。いずれも管理画面上でノードを組み合わせて作れるため、非エンジニアでも設計に加わりやすいのが特徴です。接続するLLMは自分で選べるため、用途に応じてモデルとコストを調整できます。
セルフホストに必要な要件(CPU・メモリ・Docker)とは?
最低要件はCPU2コア・メモリ4GiB、そしてDocker本体です。筆者が公式ドキュメントで確認した必要条件は次のとおりです。実運用で複数人が同時に使う場合は、メモリを8GiB以上に増やすと安定します。
| 項目 | 必要要件 |
|---|---|
| CPU | 2コア以上 |
| メモリ | 4GiB以上(実運用は8GiB以上を推奨) |
| Docker Compose | 2.24.0以上 |
| Docker Engine | 19.03以上(Linux)。macOS/WindowsはDocker Desktop |
| 補助ツール | git・curl・jq(最新版取得コマンドで使用) |
出典:Dify 公式ドキュメント「Deploy Dify with Docker Compose」で筆者が確認(2026年8月)。
Docker Composeのバージョンが古いと起動に失敗することがあります。導入前に「docker compose version」で2.24.0以上かを確かめておくと、後戻りを防げます。
Dify セルフホストのDocker Compose構築手順
ここからは、公式手順に沿った構築の流れを紹介します。大きく「リポジトリ取得と環境設定」「起動と初期セットアップ」の2段階です。Docker本体のインストールが済んでいる前提で進めます。
①リポジトリの取得と環境設定
まず最新リリースを取得し、dockerディレクトリで環境設定ファイルを用意します。公式が案内するコマンドは、最新タグを自動で取ってくる形です。
# 最新リリースをタグ指定で取得
git clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git
# dockerディレクトリへ移動し、環境設定ファイルを複製
cd dify/docker
cp .env.example .env
「.env」は、ポートやデータベースのパスワード、外部公開の設定などをまとめた設定ファイルです。まずは初期値のままでも起動しますが、本番で使うならこの段階で編集します。設定の勘所は後半の実践パートで触れます。
②起動と初期セットアップ
設定ファイルを用意したら、コンテナ群を起動します。初回はイメージのダウンロードが走るため、数分かかることがあります。
# バックグラウンドで起動
docker compose up -d
# 各コンテナの状態を確認(Up / healthy になっていればOK)
docker compose ps
起動後、ブラウザで http://localhost/install にアクセスすると管理者アカウントの初期設定画面が開きます。リモートサーバーなら http://サーバーのIP/install です。アカウントを作成すれば、以降は http://localhost からログインして使えます。
起動するコンテナを確認する
「docker compose up -d」を実行すると、複数のコンテナが同時に立ち上がります。筆者が確認した構成では、api・api_websocket・worker・worker_beat・web・plugin_daemon・agent_backendといったコアサービスに加え、PostgreSQL・Redis・ベクトルDB・Nginxなどの依存コンポーネントが起動します。想定より多くのコンテナが動くため、メモリに余裕を持たせておくことが安定運用の前提になります。
クラウド版とセルフホストは何が違うのか
「新しく自前で持つ」だけでは判断できません。ここでは、Difyのクラウド版(SaaS)とセルフホストで、実務に意味のある差分を表にまとめます。
| 項目 | これまで(クラウド版・SaaS) | セルフホスト(Docker) | 実務での意味 |
|---|---|---|---|
| 利用制限 | プランごとに回数・メンバー数の上限 | ハードウェアが許す範囲で自由 | 大量のRAG処理や検証を上限なしで回せる |
| データの置き場所 | ベンダーのサーバー | 自社サーバー・自分のPC | 機密データを外部に出さず扱える |
| 初期費用 | 登録すればすぐ使える | サーバー準備と構築の手間がかかる | 手軽さはクラウド、統制はセルフホスト |
| 運用責任 | ベンダーが保守 | 自分でアップグレード・バックアップ | 止められない用途は運用体制が要る |
| カスタマイズ | 提供機能の範囲内 | コード・環境変数まで手を入れられる | 独自の要件に合わせて改造できる |
この差分がアウトプットにどう出るかは、仕様差から次のように想定できます。まず利用制限が外れることで、これまで回数を気にして小さく試していた社内文書のRAG構築や、大量のドキュメントを対象にした検証を、分割せずまとめて走らせやすくなると想定されます。データが自社サーバーに留まる点は、クラウドに載せにくかった機密情報を対象にしたAIアプリの内製を現実的にすると考えられます。いずれも筆者の実測ではなく、公開仕様からの想定です。
セルフホストが実務にもたらす変化
これまでは「まずクラウドに登録して試す」のが一般的で、機密データを扱う案件ではその一歩が踏み出しにくいものでした。セルフホストなら、データを外に出さずに検証から本番運用まで進められます。すべてを自前に置き換える必要はなく、外部に出せないデータを扱う工程だけをセルフホストに寄せる、という使い分けが現実的です。ローカルで完結させたいという発想は、Muse Glimmerのようなローカル動作モデルと組み合わせると、さらに一貫して外部依存を減らせます。
自社ツール開発でDifyセルフホストを活かす具体例
ここからは、筆者の実務である効率化のための自社ツール開発で、Difyセルフホストをどう組み込むかを紹介します。ポイントは「社内データを外に出さず、上限を気にせず内製する」という性質を活かすことです。
社内データを外に出さずAIアプリを内製する
例えば、社内マニュアルや過去の問い合わせ履歴を検索できるRAGアプリを作る場合、これらのデータをクラウドに送りたくないケースは多いはずです。セルフホストなら、ドキュメントを自社サーバー内のDifyに取り込み、ナレッジベースとして登録できます。生成した回答も外部を経由しないため、機密性を保ったまま社内用のチャットボットを内製できます。
環境変数で本番向けに設定する勘所
本番運用では、初期値のままにしないほうがよい設定があります。「.env」ファイルで最低限見直したいのは次の3点です。
# 管理画面・APIの公開URL(リモート運用時は実際のドメイン/IPに)
CONSOLE_API_URL=https://your-domain.example
APP_API_URL=https://your-domain.example
# 初期パスワードやシークレットは必ず変更する
# SECRET_KEY=(十分に長いランダム文字列へ)
# 公開ポート(他サービスと衝突する場合に変更)
EXPOSE_NGINX_PORT=80
とくにシークレットキーや初期パスワードを既定値のまま公開サーバーで動かすのは避けるべきです。編集すべき値を先に洗い出してから起動すると、後からの作り直しを防げます。外部公開する場合は、Nginx前段でのHTTPS化やアクセス制限もあわせて検討します。
アップグレードと本番運用の注意点
セルフホストは自分で保守する前提です。とくにバージョンアップとデータの扱いは、事前に手順を押さえておくと事故を防げます。
バージョンアップの手順
アップグレードは、dockerディレクトリで一度停止してから最新版を取り直し、再起動する流れです。公式は更新前にリリースノートの確認を推奨しています。
cd dify/docker
# いったん停止
docker compose down
# 最新のコードを取得(リリースノートを確認してから)
git pull origin main
# 新しい .env の項目が増えていれば差分を反映して再起動
docker compose up -d
データを失わないための注意
アップグレードや再構築の前には、データベースやアップロード済みファイルのバックアップを取っておきます。Difyのデータはボリュームに保存されるため、「docker compose down」だけならデータは残りますが、ボリュームを削除する操作を伴う場合は消えます。バージョン間で環境変数の項目が追加・変更されることもあるため、更新後は「.env.example」との差分を確認して自分の「.env」に反映するのが安全です。
起動しない・つながらないときの確認点
起動後に画面が開かない場合、まず docker compose ps で各コンテナが「Up」か「healthy」になっているかを確認します。特定のコンテナが再起動を繰り返しているときは、メモリ不足か、ポートの衝突が原因になりやすい箇所です。80番ポートを別のWebサーバーがすでにつかっているとNginxが起動できないため、その場合は「.env」の公開ポートを変更します。ログは docker compose logs で確認でき、どのサービスがエラーを出しているかを切り分けられます。設定を直したあとは、いったん停止してから起動し直すと変更が反映されます。
Difyセルフホストで日本語は使えるか
Difyセルフホストは日本語で使えます。管理画面は日本語表示に対応しており、公式ドキュメントも日本語版が用意されています。日本語のドキュメントを取り込んだRAGや、日本語プロンプトでのワークフロー構築も可能です。使うLLMは自分で選べるため、日本語の品質は接続するモデル次第になります。日本語対応や低コストを重視するなら、Qwen3.8-Maxのようなモデルを接続先に選ぶ判断もできます。
よくある質問(FAQ)
Dify セルフホストは無料で使えますか?
Dify本体はオープンソースで、セルフホストのソフトウェア利用料はかかりません。必要なのはサーバー(またはPC)の費用と電気代です。接続する外部LLMのAPIを使う場合は、そのLLM側の料金が別途発生します。
Docker Composeのバージョンはどれが必要ですか?
Docker Compose 2.24.0以上が必要です。Docker EngineはLinuxで19.03以上、macOSやWindowsではDocker Desktopを使います。導入前に「docker compose version」で確認しておくと安全です。
セルフホストとクラウド版のどちらを選ぶべきですか?
データを外部に出せない、利用上限を気にせず使いたい場合はセルフホストが向きます。手軽さや保守の手間を避けたい場合はクラウド版が向きます。機密データを扱う工程だけセルフホストにする使い分けも現実的です。
Difyのアップグレードはどうやりますか?
dockerディレクトリで「docker compose down」で停止し、「git pull」で最新コードを取得してから「docker compose up -d」で再起動します。更新前にリリースノートを確認し、データのバックアップを取っておくと安心です。
ローカルPCでも動かせますか?
動かせます。macOSやWindowsではDocker Desktop、Linuxでは Docker Engine で起動できます。メモリは4GiB以上が最低要件で、複数人や大量処理を想定するなら8GiB以上に余裕を持たせると安定します。
まとめ
Dify セルフホストを選ぶかは、「データを外に出さず、上限を気にせずAIアプリを内製したいか」で決まります。構築自体はgit cloneからdocker compose up -dまでの数手順で完結しますが、本番運用では環境変数の見直しとアップグレード時のバックアップが要点です。まずはローカルPCで一度立ち上げ、社内データのRAGを小さく試して手触りを掴むのが失敗しない進め方です。ローカルで完結させる発想はMuse Glimmer、接続モデルの選定はQwen3.8-Maxもあわせてご覧ください。
出典:Dify 公式ドキュメント「Deploy Dify with Docker Compose」(docs.dify.ai)で筆者が確認(2026年8月)。
セルフホストしたDifyでエージェントを組む手順はDifyエージェントの作り方をご覧ください。