Difyは、ブラウザで使う「Dify Cloud」のほかに、自分のパソコンやサーバーで動かす「セルフホスト」でも使えます。セルフホストで使うCommunity Editionは無料で、公式ドキュメントではDocker Composeを使って起動する手順が案内されています。
この記事では、Difyをセルフホストするときに必要な環境、Docker Composeでの導入手順、管理者アカウントとAIモデルの設定、アップデートとバックアップ、外部に公開するときの注意点、費用を、公式ドキュメントをもとに説明します。手順とコマンドは2026年10月時点の公式ドキュメントの内容です。
- Dify Cloudとセルフホストの違いと、セルフホストの使い方の例
- 必要なCPU・メモリ・Docker Composeのバージョン(Mac・Linux・Windows)
- Docker Composeでローカル環境に導入する5つの手順と、管理者アカウントの初期設定
- APIキーとローカルLLM(Ollama)の設定、アップデート・バックアップ・外部公開の注意点、費用とライセンス
Dify自体の機能や、Dify Cloudの無料プランでの始め方は「Difyとは?読み方・できること・料金・始め方」で紹介しています。
Difyのセルフホストとは?Dify Cloudとの違い
セルフホストは、Difyのプログラムを自分で用意したパソコンやサーバーに入れて動かす使い方です。公式ドキュメントでは、Dockerが動く環境であれば、ノートパソコン、社内のサーバー、クラウドの仮想サーバーのどこでも動かせると案内されています。

| 項目 | Dify Cloud | セルフホスト(Community Edition) |
|---|---|---|
| 始め方 | cloud.dify.aiでアカウントを作る。インストールは不要 | Docker Composeで起動し、管理者アカウントを設定する |
| 費用 | 無料のSandboxプランと、月59ドルからの有料プラン | Dify自体は無料。サーバーとAIモデルの費用は自分で負担する |
| AIモデル | プランのクレジットで使えるモデルがある。自分のAPIキーも追加できる | APIキーを登録するか、Ollamaなどで手元に用意したモデルを設定する |
| ワークスペース | 料金はワークスペースごとにかかる | 1つ(複数のワークスペースはEnterprise) |
| データを置く場所 | 開発元が運営するサーバー | 自分で用意したパソコン・サーバー |
| 管理 | サーバーの運用は開発元が行う | アップデート・バックアップ・セキュリティの設定を自分で行う |
| サポート | プランに応じたコミュニティ・メールサポート | GitHubのコミュニティ |
初めてDifyを触る場合や、サーバーを管理したくない場合は、Dify Cloudの無料プランから試すほうが手軽です。データを自分の環境に置きたい場合や、手元のパソコンで動かすAIモデルと組み合わせたい場合は、セルフホストが候補になります。
Difyのセルフホストの使い方の例
セルフホストでは、Dify Cloudと同じようにチャットボットやワークフローを作れます。動かす場所を自分で選べるため、次のような使い方ができます。いずれも公式ドキュメントの機能をもとにした構成の例で、実際に動かした結果ではありません。
| 使い方 | 入力 | Difyでの処理 | 出力 |
|---|---|---|---|
| 手元のパソコンだけで試す | 自分で用意したマニュアルのPDF | ナレッジに登録し、同じパソコンで動かすOllamaのモデルで回答を作る | マニュアルの内容をもとにした回答 |
| チームのサーバーで使う | メンバーからの質問 | 管理者が招待したメンバーが、公開済みのチャットボットを使う | チャット画面での回答 |
| ほかのシステムから呼び出す | 問い合わせフォームの本文 | 自分のサーバーのDify APIからワークフローを動かし、内容の分類と返信の下書きを作る | 分類結果と下書きの文章 |
アプリの作り方そのものは、Dify Cloudとセルフホストで大きくは変わりません。この記事では、セルフホストに特有の導入・設定・運用の部分を扱います。
アプリの作り方は「Difyの使い方」で説明しています。
Difyのセルフホストに必要な環境
公式ドキュメントでは、Docker Composeで動かす場合の最小要件を、CPU 2コア以上・メモリ4GiB以上としています。必要なソフトはOSごとに次のとおりです。
| OS | 必要なソフト | 注意点 |
|---|---|---|
| macOS(Docker Desktopのサポート対象バージョン) | Docker Desktop(Docker Compose 2.24.0以上) | Dockerの仮想マシンに2vCPU以上・メモリ8GiB以上を割り当てる |
| Linux | Docker 19.03以上、Docker Compose 2.24.0以上 | — |
| Windows(WSL 2を有効にしたもの) | Docker Desktop(Docker Compose 2.24.0以上) | ソースコードとデータは、WindowsではなくLinux側のファイルシステムに置く |
Difyの手順表にはmacOS 10.14以降と書かれていますが、Docker Desktopの現行サポートは最新のmacOSと直前のメジャーバージョン2世代です。導入前にDocker側の対応OSも確認してください。Macの場合、パソコン本体のメモリではなく、Docker Desktopの設定でDockerに割り当てるメモリが8GiB以上必要な点に注意してください。また、次の手順で使うソースコードの取得コマンドには、git・curl・jq の3つのツールが必要です。
この最小要件はDify本体を動かすためのものです。Ollamaなどでローカル環境にAIモデルを動かす場合は、そのモデルを動かす分の性能も別に必要になります。
Docker ComposeでDifyを導入する手順
公式ドキュメントの「Deploy Dify with Docker Compose」の手順では、次の5つの手順でDifyを起動します。コマンドはターミナル(WindowsではWSL 2のターミナル)で実行します。以下のコマンドは公式ドキュメントに書かれているものです。
1. Difyのソースコードを取得する
GitHubから、Difyの最新リリースのソースコードを取得します。
git clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git
command not found と表示された場合は、足りないツール(git・curl・jq)をインストールしてから、もう一度実行します。fatal: Remote branch null not found in upstream origin と表示された場合の対処は、この記事の「よくある質問」で説明します。
2. Difyの環境設定ファイル(.env)を作る
取得したソースコードの中の docker フォルダに移動し、設定ファイルの見本 .env.example をコピーして .env を作ります。
cd dify/docker
cp .env.example .env
3. Agentサンドボックス用のトークンを設定する
次のコマンドで、ランダムな文字列(トークン)を作ります。
openssl rand -base64 32
テキストエディターで .env を開き、DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN に、表示された文字列を設定します。公式ドキュメントでは、この値を設定しないとAgentのバックエンドとサンドボックスが起動しないと書かれています。導入の手順はDifyのバージョンによって変わることがあるため、公式ドキュメントの最新の手順と見比べながら進めてください。
4. Difyのコンテナを起動する
DifyにはDocker Compose 2.24.0以上が必要です。docker compose version を実行してバージョンを確認してから、次のコマンドで起動します。
docker compose up -d
公式ドキュメントによると、このコマンドで次のコンテナ(Difyを構成するプログラムのまとまり)が起動します。
- コアサービス(7つ):
api、api_websocket、worker、worker_beat、web、plugin_daemon、agent_backend - 依存コンポーネント(8つ):
weaviate、db_postgres、redis、nginx、ssrf_proxy、agent_ssrf_proxy、sandbox、local_sandbox - 一時的なタスク(1つ):
init_permissions。保存先のファイルの権限を設定し、終わると停止します
5. Difyのコンテナの状態を確認する
すべてのコンテナが動いているかを、次のコマンドで確認します。
docker compose ps
各コンテナの状態が Up または healthy になっていれば正常です。init_permissions だけは役目を終えて停止するため、Exited と表示されるのが想定どおりです。
Difyの管理者アカウントの初期設定
コンテナが起動したら、ブラウザで管理者の初期設定ページを開き、管理者アカウントを設定します。
| 動かしている場所 | 管理者の初期設定ページ | 設定後のログイン先 |
|---|---|---|
| 自分のパソコン | http://localhost/install | http://localhost |
| サーバー | http://your_server_ip/install | http://your_server_ip |
your_server_ip の部分は、Difyを動かしているサーバーのIPアドレスに置き換えます。
Dify Cloudのログイン方法との違いは「Difyのログイン方法」で説明しています。
Difyにほかのメンバーを追加する
環境変数 ALLOW_REGISTER の初期値は false で、ほかの人が自分でアカウントを作ることはできません。メンバーは、オーナーか管理者が「設定」→「メンバー」から招待します。公式ドキュメントでは、招待の前提として次の2つが挙げられています。
CONSOLE_WEB_URLに、招待する相手がアクセスできるアドレスを設定する(localhostは指定しない)。招待リンクはこの値から作られますMAIL_TYPEでメールの送信方法を設定する。設定しないと招待メールは送られません
メールを設定していない場合でも、招待を送ったあとに表示される画面から招待リンクをコピーして、相手に直接渡せます。招待リンクの有効期限は、初期設定で72時間です。メンバーの役割は、オーナー・管理者・エディター(アプリとナレッジの作成・編集)・メンバー(公開済みのアプリの利用だけ)の4つです。
DifyのセルフホストでAIモデルを設定する
公式ドキュメントでは、すべてのDifyのアプリに、少なくとも1つのモデルプロバイダー(AIモデルの提供元との接続設定)が必要とされています。公式ドキュメントの手順では、次のように設定します。
- 「統合」→「モデルプロバイダー」で、使いたい提供元(OpenAI、Anthropicなど)のプロバイダーをインストールする。一覧に無いものは、Difyのマーケットプレイスから探す
- プロバイダーのカードの「セットアップ」から、提供元で発行したAPIキーを入力する。Difyが認証情報を確認してから使えるようになる
- 「システムモデル設定」で、アプリが標準で使うモデル(文章を作るモデル、ナレッジの検索に使う埋め込みモデルなど)を選ぶ
APIキーの利用料は、各提供元のアカウントに直接請求されます。モデルプロバイダーを管理できるのは、ワークスペースのオーナーと管理者だけです。標準のモデルが未設定のままだと、それを使う機能は動かないと案内されています。たとえば、テキストを音声に変換するモデルが未設定だと、アプリの音声読み上げの機能は使えません。
ローカルLLM(Ollama)をDifyで使う場合
Ollamaは、AIモデルを自分のパソコンで動かすためのツールです。Difyの開発元が公開しているOllamaのプラグインの説明では、次の流れで設定します。
- Ollamaの公式サイト(ollama.com/download)からOllamaをインストールする
- 使いたいモデルをOllamaで取得・起動する(下のコマンドは説明に載っている例)
- Difyのマーケットプレイスから、Ollamaのプラグインをインストールする
- モデルプロバイダーのOllamaでモデルを追加し、モデル名と接続先のアドレス(Base URL)を入力する
ollama run gemma3
ollama pull qwen3
ollama pull embeddinggemma
Ollamaを起動すると、パソコンの中で http://localhost:11434 から使える状態になります。ただし、DifyをDockerで動かしている場合は、DifyのコンテナからOllamaに接続するため、プラグインの説明では http://host.docker.internal:11434 か、パソコンのLAN内のIPアドレスを指定するよう案内されています。Difyのトラブル対応のドキュメントでも、Dockerのコンテナからは 127.0.0.1 でパソコン側のサービスに接続できないと説明されています。
ローカルのOllamaを使う場合、APIキーは不要です。プラグインのインストールにはマーケットプレイスへの接続が必要なため、インターネットにつながる状態で設定します。
Difyのアップデートとバックアップ
セルフホストでは、Difyのアップデートとバックアップを自分で行います。公式ドキュメントでは、アップデートの前に必ずバックアップを作るよう案内されています。
Difyのバックアップを作る
公式ドキュメントのFAQでは、アップデート前のバックアップとして、dify フォルダ全体を日時付きの名前でコピーする次のコマンドが紹介されています。dify フォルダがある場所で実行します。
cp -r dify "dify.bak.$(date +%Y%m%d%H%M%S)"
公式ドキュメントでは、Docker Composeで動かしている場合にバックアップする対象を、dify/docker/volumes フォルダ全体としています。
Difyをアップデートする
アップデートの手順はリリースによって異なるため、公式ドキュメントでは、GitHubのDifyのリリースページにある、更新先のバージョンのアップグレード手順に従うよう案内されています。Docker Composeのイメージで動かしている場合の基本のコマンドとして、公式ドキュメントには次のコマンドが載っています。
docker compose pull
docker compose up -d
アップデートのあとは、次の2点も確認します。
- 設定ファイルの差分:新しい
.env.exampleと自分の.envを見比べて、追加・変更された設定項目を反映する - docker-compose.yamlの変更:自分で
docker-compose.yamlを書き換えている場合は、古いファイルを使い続けず、新しいリリースのファイルに変更を反映し直す。リリースによっては、Difyの動作に必要なサービスが追加されるためです
環境変数の初期設定(MIGRATION_ENABLED=true)では、コンテナの起動時にデータベースの構造の更新が自動で実行されます。.env の設定を変えたときは、docker compose down のあとに docker compose up -d を実行して再起動すると反映されます。
Difyのセルフホストを外部に公開するときの注意点
自分のパソコンだけで試す場合と違い、インターネットからアクセスできるサーバーで動かす場合は、公開する前に設定を見直します。公式ドキュメントの環境変数の説明などから、主な項目をまとめると次のとおりです。
| 項目 | 公式ドキュメントの説明と見直す点 |
|---|---|
| SECRET_KEY | ログイン状態の管理や認証情報の暗号化に使う鍵。.env.example には値が入っているが、本番環境では置き換える必要がある。最初の起動前に openssl rand -base64 42 で作る。運用を始めてから変えると、全員がログアウトされ、OAuthを使う連携の認証情報が復元できなくなる |
| データベースなどのパスワード | DB_PASSWORD・REDIS_PASSWORD の初期値は、環境変数の一覧に公開されている値(difyai123456)。外部から接続できるサーバーでは、推測されない値に変える |
| HTTPS(暗号化された接続) | NGINX_HTTPS_ENABLED を true にし、SSL証明書と鍵を ./nginx/ssl/ に置く。Let’s Encryptの証明書を使うための CERTBOT_ で始まる設定もある。HTTPSにしたら、CONSOLE_WEB_URL などのURLも https:// に変える |
| アカウントの登録 | ALLOW_REGISTER を false(初期値)のままにすると、招待されたメンバーだけが使える |
| 管理者の初期設定 | INIT_PASSWORD を設定すると、/install の画面で管理者アカウントを作る前にこのパスワードを求められる。外部から接続できるサーバーで、ほかの人に先に初期設定されるのを防ぐ。初期値は空で、30文字まで。初期設定が終わったあとは使われない |
| 独自のドメイン | 独自のドメインやリバースプロキシを使う場合は、CONSOLE_API_URL・CONSOLE_WEB_URL などのURLを設定する。外部のサービスからワークフローを動かすWebhookを使う場合、TRIGGER_URL は外部から届くアドレスにする |
| Cloudflareなどの経由 | バージョン1.18.0から、Cloudflareやロードバランサーを経由すると、ログイン用のコードやパスワード再設定のメールを全員が受け取れなくなる場合がある。公式ドキュメントのFAQに、訪問者のIPアドレスを正しく受け取るためのNginxの設定が載っている |
| ポート番号 | ほかのソフトが80番ポートを使っている場合は、.env の EXPOSE_NGINX_PORT で別の番号に変更できる |
また、ライセンスの条件にも注意が必要です。Difyのライセンスでは商用利用が認められていますが、複数のワークスペースを分けて提供するマルチテナントの運営と、Difyの画面のロゴ・著作権表示の削除・変更には、開発元の商用ライセンスが必要です。条件の詳細は「Difyとは?」の「商用利用とライセンスの条件」で説明しています。
Difyのセルフホストの費用
セルフホストのCommunity Editionは無料で、ライセンスキーも不要です。ただし、Difyを動かす環境とAIモデルの費用は自分で負担します。2026年10月時点の公式情報をもとにすると、かかる費用は次のとおりです。
| 費用の項目 | 内容 |
|---|---|
| Dify本体(Community) | 無料。GitHubで公開されているコア機能。ワークスペースは1つ |
| パソコン・サーバー | 自分で用意する。クラウドの仮想サーバーを借りる場合は、その利用料がかかる |
| AIモデル | APIキーを使う場合は、OpenAIなどの提供元の利用料が提供元から請求される。Ollamaなどで手元のパソコンで動かす場合は、APIの利用料はかからない |
| Docker Desktop(Mac・Windows) | Docker社の案内では、従業員250人未満かつ年間売上1,000万ドル未満の企業、個人、教育、非商業のオープンソースでの利用は無料。それ以外の企業や官公庁での業務利用には有料のサブスクリプションが必要 |
| Enterprise | 個別見積もり(営業担当に問い合わせ)。複数のワークスペースの管理、SSO(社内のアカウントでのログイン)、Kubernetesでの冗長構成、商用ライセンス、企業向けのサポートなど |
Difyの料金ページでは、Communityは「オープンソース愛好者、個人開発者、非商業プロジェクト向け」と案内されています。一方で、ライセンスの本文では、上で説明した2つの条件に当たらなければ商用利用が認められています。料金や提供内容は変わることがあるため、Difyの料金ページで最新の内容を確認してください。
Dify Cloudの各プランの料金と上限は「Difyの料金プラン」で説明しています。
Difyのセルフホストに関するよくある質問
Difyはローカル環境なら無料で使えますか?
セルフホストのCommunity Editionは無料です。手元のパソコンで動かし、AIモデルもOllamaなどで手元で動かせば、Difyの料金とAPIの利用料はかかりません。OpenAIなどのAPIキーを使う場合は、提供元の利用料がかかります。MacやWindowsで使うDocker Desktopは、企業の規模によって有料になる場合があります(上の「Difyのセルフホストの費用」の表を参照)。
DifyはWindowsでも動かせますか?
公式ドキュメントでは、WSL 2を有効にしたWindowsで、Docker Desktop(Docker Compose 2.24.0以上)を使う方法が案内されています。ソースコードとデータは、WindowsのフォルダではなくLinux側のファイルシステムに置くよう書かれています。
「Remote branch null not found」と表示されてソースコードを取得できません
公式ドキュメントのFAQによると、最新バージョンの番号をGitHubから取得できなかった場合(主にGitHubの利用回数の制限が原因)に表示されます。Difyのリリースページで最新のバージョン番号を確認し、git clone --branch <version> https://github.com/langgenius/dify.git の <version> をその番号に置き換えて実行します。
Difyの管理者のパスワードを忘れたときは?
Docker Composeで動かしている場合、公式ドキュメントでは次のコマンドでパスワードを再設定する方法が案内されています。実行すると、アカウントのメールアドレスと新しいパスワードの入力を求められます。
docker exec -it docker-api-1 flask reset-password
DifyのセルフホストとDify Cloudはどちらを選べばよいですか?
サーバーの管理をしたくない場合や、まず機能を試したい場合はDify Cloud、データを自分の環境に置きたい場合や、ローカルLLMと組み合わせたい場合はセルフホストが向いています。セルフホストでは、アップデート・バックアップ・セキュリティの設定を自分で行う必要があります。
まとめ
Difyのセルフホストは、公式ドキュメントのDocker Composeの手順で、自分のパソコンやサーバーに導入できます(2026年10月時点)。
- 最小要件はCPU 2コア以上・メモリ4GiB以上、Docker Compose 2.24.0以上。MacはDockerに2vCPU以上・メモリ8GiB以上を割り当てる
- 導入は、ソースコードの取得、
.envの作成、Agentサンドボックス用のトークンの設定、docker compose up -d、状態の確認の5つの手順 - 起動後は
http://localhost/installで管理者アカウントを設定し、モデルプロバイダーにAPIキーかOllamaのモデルを設定する - アップデートの前に
dify/docker/volumesを含むバックアップを作り、外部に公開する前にSECRET_KEY・パスワード・HTTPSの設定を見直す - Communityは無料。サーバーとAIモデルの費用は自分で負担し、Enterpriseは個別見積もり
まずは手元のパソコンで公式ドキュメントの手順どおりに起動し、管理者アカウントとAIモデルを設定してみてください。チームで使う場合や外部に公開する場合は、メンバーの招待とセキュリティの設定を確認してから進めることをおすすめします。
n8nを同じくDockerで動かす手順は「n8nのセルフホスト手順」で説明しています。
Dify・n8n・Zapierの違いと料金の数え方は「AI自動化ツールの選び方」で比べています。

