「Difyを社内で試したいが、クラウド版にデータを置くのは不安がある」「Dockerで構築できると聞いたものの、手順やエラーの対処がわからない」。生成AIの業務活用を検討している企業から、こうした相談をよくいただきます。
Difyは、Docker Composeを使えば数個のコマンドで自社のPCやサーバーに構築できるオープンソースのAIアプリ開発基盤です。一方で、バージョンアップのたびに構成が変わることもあり、古い手順のまま進めて起動に失敗するケースも少なくありません。
本記事では、2026年10月時点の公式ドキュメントをもとに、DifyをDockerで構築する前の準備から、起動の手順、初期設定、アップデートやバックアップの方法、よくあるエラーの対処法までを整理します。社内で本格的に運用する際の注意点や、業務での活用例もあわせて紹介します。
| 確認したいポイント | 結論 | 詳細 |
| DifyをDockerで動かすには何が必要? | DockerとDocker Composeが必要 | CPU2コア・メモリ4GiB以上のマシンに、Docker Compose 2.24.0以上を用意します。Macは仮想マシンに8GiBの割り当てが推奨です。 |
| 起動までの手順は? | クローン→.env作成→compose up | ソースコードを取得し、dockerフォルダで.envを作成してdocker compose up -dを実行。/installで管理者を登録します。 |
| アップデートはどうする? | リリースごとの手順を確認して行う | 手順はバージョンで異なるため、公式のリリースページの案内に従います。更新後は.env.exampleとの差分も確認します。 |
| 社内で使うときの注意点は? | 公開範囲・データ管理・更新体制を決める | HTTPS化やアクセス制限、機密情報を送るLLMの選定、バックアップとアップデートの担当を決めてから本格運用します。 |
この記事でわかること
- DifyをDockerで動かす仕組みと、クラウド版との違い
- 構築に必要なマシンのスペックと、OS別に必要なソフトウェア
- ソースコードの取得から管理者アカウントの登録までの起動手順
- 停止・再起動・アップデート・バックアップの方法と、よくあるエラーの対処法
- 社内で本格運用するときのセキュリティやライセンスの注意点と、業務での活用例
| 生成AIの社内活用を検討している企業の方へ ネクストスケールでは、AI活用の戦略設計から、Difyなどを使った業務自動化の構築、社員研修、現場への定着までを一気通貫で支援しています。支援内容や料金、導入事例をまとめた資料を無料でお送りします。 資料請求はこちら |
DifyをDockerで動かすとは?セルフホストの基本
構築の手順に入る前に、DifyとDockerの関係を整理しておきましょう。仕組みを理解しておくと、エラーが起きたときにどこを確認すればよいかがわかりやすくなります。
Difyとは
Difyは、ChatGPTやClaude、Geminiなどの大規模言語モデル(LLM)を使ったAIアプリを、画面上の操作で作成できるオープンソースの開発基盤です。チャットボット、社内文書を検索して回答するRAG(検索拡張生成)、複数の処理をつなぐワークフローなどを、プログラミングの知識が少なくても組み立てられます。
作成したアプリはWeb画面として公開したり、APIとして他のシステムから呼び出したりできます。オープンソースで公開されているため、提供元のクラウド版を使うだけでなく、自社の環境に構築して使うこともできます。
Docker Composeで複数のサービスをまとめて起動する仕組み
Difyは、画面を表示するWebサービス、処理を担うAPIサーバー、データベース、ベクトルデータベース、キャッシュなど、複数のサービスが連携して動くアプリケーションです。これらを1つずつ手作業でインストールするのは手間がかかります。
Docker Composeを使うと、Difyが用意している設定ファイルに従って、必要なサービスをそれぞれ独立した「コンテナ」としてまとめて起動できます。PCやサーバーの環境を汚さずに構築でき、不要になればコンテナごと削除できる点もメリットです。
クラウド版とセルフホスト版の違い
Difyには、提供元が運用するクラウド版と、自社で構築するセルフホスト版があります。手軽さを重視するならクラウド版、データの置き場所や設定の自由度を重視するならセルフホスト版が向いています。主な違いは次のとおりです。
| 比較項目 | クラウド版(Dify Cloud) | セルフホスト版(Docker) |
|---|---|---|
| 始めやすさ | アカウント登録だけですぐ使える | Dockerの準備と構築作業が必要 |
| サーバーの管理 | 提供元が運用する | 自社で運用・更新・バックアップする |
| データの置き場所 | 提供元のクラウド | 自社のPCやサーバー、自社契約のクラウド |
| カスタマイズ | 提供されている設定の範囲内 | 設定や連携先を柔軟に変更できる |
セルフホスト版では、Difyそのものの利用料はかかりませんが、サーバーの費用や運用の手間は自社で負担します。また、外部のLLMを使う場合は、そのLLMの利用料が別途かかる点にも注意しましょう。
どちらにするか迷う場合は、まずクラウド版の無料プランで操作感や作れるアプリを試し、業務での使い道が見えてきた段階でセルフホスト版に移るという進め方も現実的です。最初から環境づくりに時間をかけすぎず、使い道を先に確かめることで、構築の手戻りを防げます。
DifyをDockerで構築する前の準備
Difyは複数のコンテナを同時に動かすため、ある程度のスペックが必要です。準備不足のまま進めると、起動の途中で止まったり動作が極端に遅くなったりするため、事前に環境を確認しておきましょう。
必要なPC・サーバーのスペック
公式ドキュメントでは、最低限のハードウェア要件としてCPUは2コア以上、メモリは4GiB以上が示されています。これはあくまで最低限の目安で、複数人で使う場合や大きな文書を扱う場合は、余裕のあるスペックを用意したほうが安定します。
あわせて、ストレージにも余裕を持たせておきましょう。コンテナのイメージに加えて、ナレッジとして登録した文書やデータベースのデータが保存されるため、使い続けるほど容量が増えていきます。
OS別に必要なソフトウェア
Difyの構築にはDocker Compose 2.24.0以上が必要です。OSごとに必要なソフトウェアと注意点は次のとおりです。
| OS | 必要なソフトウェア | 注意点 |
|---|---|---|
| macOS 10.14以降 | Docker Desktop(Docker Compose 2.24.0以上) | Dockerの仮想マシンに2つ以上の仮想CPUと8GiB以上のメモリを割り当てる |
| Linux | Docker 19.03以上、Docker Compose 2.24.0以上 | Docker EngineとDocker Composeをそれぞれインストールする |
| Windows(WSL 2) | Docker Desktop(Docker Compose 2.24.0以上) | ソースコードやデータはWindows側ではなくLinuxのファイルシステムに置く |
ソースコードの取得にはGitを使います。公式の手順では最新版を自動で取得するためにcurlとjqというツールも使うため、あらかじめインストールしておくとスムーズです。インストール済みのバージョンは、ターミナルで次のコマンドを実行すると確認できます。
docker –version
docker compose version
Windowsで構築する場合の注意点
Windowsでは、Docker DesktopをインストールしてWSL 2(Windows Subsystem for Linux)を有効にした状態で作業します。公式ドキュメントでは、ソースコードやデータをWindows側のフォルダではなく、Linuxのファイルシステムに保存するよう案内されています。
Windows側のフォルダにソースコードを置くと、ファイルの読み書きが遅くなったり、設定ファイルのマウントでエラーが起きたりすることがあります。WSL 2のターミナルを開き、Linux側のホームディレクトリなどで作業を進めましょう。
DifyをDockerで起動する手順
準備ができたら、Difyを起動していきます。ここで紹介するのは、公式ドキュメントで案内されているDocker Composeでの構築手順です。手順はバージョンによって変わることがあるため、作業前に公式ドキュメントも確認しておきましょう。
手順1|Difyのソースコードを取得する
ターミナルを開き、作業したいフォルダで次のコマンドを実行します。公開されている最新のリリース版を指定して、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
「Remote branch null not found」と表示されて取得に失敗した場合は、GitHubのリリースページで最新のバージョン番号を確認し、「git clone –branch バージョン番号 https://github.com/langgenius/dify.git」のように直接指定して取得し直します。
手順2|環境設定ファイルを作成する
取得したソースコードの中にあるdockerフォルダに移動し、ひな型の.env.exampleをコピーして、起動に必要な環境設定ファイル(.env)を作成します。
cd dify/docker
cp .env.example .env
最初はひな型のままで起動できます。ポート番号やファイルのアップロード上限などを変えたい場合は、起動後にこの.envファイルを編集します。設定の変更方法は後の章で紹介します。
手順3|コンテナを起動する
dockerフォルダで次のコマンドを実行すると、Difyに必要なコンテナがまとめてダウンロードされ、起動します。初回はイメージのダウンロードに時間がかかるため、完了するまで待ちましょう。
docker compose up -d
公式ドキュメントによると、APIサーバーやWeb画面などの中核となるサービスに加えて、データベース、ベクトルデータベース、キャッシュ、Nginx、サンドボックスなどの関連コンポーネントが起動します。
手順4|コンテナの状態を確認する
起動が終わったら、次のコマンドで各コンテナの状態を確認します。すべてのコンテナが「Up」または「healthy」になっていれば正常です。
docker compose ps
なお、保存先の権限を設定するためのinit_permissionsというコンテナは、処理が終わると停止するため「Exited」と表示されますが、これは想定どおりの動作です。ほかのコンテナが起動していない場合は、後述するエラーの対処法を確認してください。
手順5|管理者アカウントを登録してログインする
ブラウザで「http://localhost/install」を開き、管理者アカウントを登録します。サーバーに構築した場合は、「localhost」の部分をサーバーのIPアドレスに置き換えます。
登録が終わったら「http://localhost」からログインできます。これでDifyの構築は完了です。手順の詳細は、Dify公式のDify Docs「Deploy Dify with Docker Compose」でも確認できます。
| Difyの構築や業務への組み込みで迷っている方へ 構築する環境の選び方から、Difyで自動化できる業務の洗い出し、社内での運用ルールまで、貴社の状況を伺いながら無料で整理します。オンラインで30分からご相談いただけます。 相談予約はこちら |
Difyの起動後に行う初期設定
Difyを起動しただけでは、まだAIアプリを動かすことはできません。使いたいLLMの設定や、必要に応じた環境設定の変更を行って、はじめて業務で使える状態になります。
LLMのモデルプロバイダーを設定する
ログイン後、設定画面のモデルプロバイダーから、OpenAIやAnthropic、GoogleなどのLLMを選び、各社で発行したAPIキーを登録します。Difyのバージョンによっては、モデルプロバイダーをプラグインとしてインストールしてから設定する形になっています。
APIキーを登録すると、チャットボットやワークフローを作成するときに、そのLLMを選べるようになります。外部のLLMを使う場合は、DifyをPCに構築していてもインターネットへの接続が必要で、APIの利用料もかかる点に注意しましょう。
ローカルのLLMと接続する場合
外部にデータを送りたくない場合は、Ollamaなどを使って自社のPCやサーバーで動かしているLLMとDifyを接続する方法もあります。この場合、接続先のアドレスに「127.0.0.1」や「localhost」を指定すると、Dockerのコンテナの中から接続できないことがあります。
公式のFAQでも、接続先にはホストのローカルネットワークのIPアドレスを指定するよう案内されています。ローカルのLLMは、マシンの性能によって回答の速さや品質が大きく変わるため、業務で使えるかを事前に試しておきましょう。
.envファイルで設定を変更する
ポート番号やアップロードできるファイルの大きさ、メールの送信設定などは、dockerフォルダにある.envファイルを編集して変更します。最近のバージョンでは、ベクトルデータベースの種類など任意の設定のひな型がdocker/envsフォルダにまとめられており、必要なものをコピーして編集する形になっています。
.envファイルの値は、docker/envsフォルダ内の設定よりも優先されます。設定を変更したら、次のコマンドでDifyを再起動して反映させましょう。
docker compose down
docker compose up -d
Difyの停止・再起動・アップデート・バックアップ
Difyを継続して使うには、停止や再起動、アップデート、バックアップといった日々の運用が欠かせません。特にアップデートとバックアップは、データを失わないために手順を決めておくことが大切です。
停止と再起動
Difyを停止するときは、dockerフォルダで「docker compose down」を実行します。このコマンドではコンテナは削除されますが、データはdocker/volumesフォルダに残るため、再び「docker compose up -d」を実行すれば、前回の状態から使い始められます。
PCやサーバーを再起動したあとにDifyへ接続できない場合も、一度停止してから起動し直すと解決することがあります。すべてのコンテナが正常な状態になるまで待ってからアクセスしましょう。
アップデートの方法
Difyは更新の頻度が高く、新しい機能や不具合の修正が次々に追加されます。公式ドキュメントでは、アップデートの手順はリリースごとに異なるため、GitHubのリリースページで目的のバージョンの案内を確認するよう示されています。
アップデートのあとは、.env.exampleと自分の.envを見比べて、新しく追加された設定や変更された設定がないかを確認します。docker-compose.yamlを独自に変更している場合は、古いファイルを使い続けるのではなく、新しいバージョンのファイルに変更点を反映し直す必要があります。
バックアップの方法
Docker Composeで構築したDifyのデータは、dockerフォルダ内のvolumesフォルダに保存されています。アップデートの前や定期的なタイミングで、このフォルダをまとめてバックアップしておきましょう。
バックアップの際は、データの書き込み中にコピーして不整合が起きないよう、Difyを停止してから行うと安心です。あわせて.envファイルも保存しておけば、別のマシンで環境を戻すときにも役立ちます。
| Difyを使った業務自動化の進め方を知りたい方へ ネクストスケールの支援内容や業務自動化の進め方、料金プラン、導入事例をまとめた資料をご用意しています。社内での検討資料としてもご活用ください。 資料請求はこちら |
DifyのDocker構築でよくあるエラーと対処法
DifyをDockerで構築する際には、いくつか典型的なつまずきがあります。ここでは、公式ドキュメントのFAQやトラブルシューティングで案内されている代表的なエラーと対処法を紹介します。
ポート80が使われていて起動できない
ほかのWebサーバーなどがすでにポート80を使っていると、Difyの起動に失敗します。この場合は、ポート80を使っているサービスを止めるか、.envファイルのEXPOSE_NGINX_PORTを別の番号に変更します。
たとえばEXPOSE_NGINX_PORTを8080に変更すると、「http://localhost:8080」でアクセスできるようになります。HTTPSで使うポート443が重なる場合は、EXPOSE_NGINX_SSL_PORTもあわせて変更しましょう。
コンテナが起動しない・停止してしまう
一部のコンテナが起動しない場合は、まず「docker compose ps」で状態を確認し、「docker compose logs サービス名」でエラーの内容を確認します。メモリ不足や、古い手順で取得したファイルが原因になっていることがよくあります。
Macの場合は、Docker Desktopの設定で仮想マシンに割り当てているメモリが足りているかも確認しましょう。Docker Composeのバージョンが古い場合も起動に失敗するため、2.24.0以上になっているかを確認してください。
管理者のパスワードを忘れた
管理者のパスワードを忘れた場合は、Difyが起動している状態で次のコマンドを実行すると、メールアドレスと新しいパスワードを入力して再設定できます。
docker exec -it docker-api-1 flask reset-password
コンテナの名前は環境によって異なることがあるため、「docker compose ps」でAPIのコンテナ名を確認してから実行しましょう。パスワードを再設定するために、.envやvolumesフォルダを削除する必要はありません。
ドメインを変更したあとにログインできない
IPアドレスで使っていたDifyに独自のドメインを割り当てたあと、ログイン後に401エラーが出ることがあります。公式ドキュメントでは、CONSOLE_API_URLやCONSOLE_WEB_URL、APP_WEB_URLなど、URLに関係する環境変数を新しいドメインに更新するよう案内されています。
あわせてCORSに関する設定も見直し、変更後はDifyを再起動します。ドメインの変更は影響範囲が広いため、運用を始める前に決めておくのが理想です。
大きなファイルをアップロードできない
ナレッジに登録する文書が大きく、アップロードに失敗する場合は、.envファイルのUPLOAD_FILE_SIZE_LIMITとNGINX_CLIENT_MAX_BODY_SIZEを、どちらも必要な大きさにそろえて変更します。片方だけを変更すると、上限が反映されないことがあります。
ただし、大きなファイルを扱うほどサーバーの負荷も高くなります。文書を分割して登録するなど、運用面の工夫もあわせて検討しましょう。
Difyを社内で本格運用するときの注意点
PCで試すだけであれば手順どおりに構築すれば十分ですが、社内で多くの人が使う場合は、セキュリティや運用体制を整えてから公開することが欠かせません。ここでは5つの注意点を紹介します。
サーバーに構築してHTTPSで公開する
複数人で使う場合は、個人のPCではなく、社内のサーバーやクラウドの仮想サーバーにDifyを構築します。通信を暗号化するためにHTTPSを設定し、IPアドレスではなくドメインでアクセスできるようにしておくと安心です。
サーバーの構成は、後から見直す場面に備えて図にまとめておくと引き継ぎやトラブル対応が楽になります。構成図の作り方は、システム構成図の書き方|種類と記載要素・作成手順とわかりやすくするコツを解説で紹介しています。
関連記事:システム構成図の書き方 種類と記載要素・作成手順とわかりやすくするコツを解説
アクセスできる範囲とアカウントを管理する
Difyの管理画面に、インターネットから誰でもアクセスできる状態は避けるべきです。社内のネットワークやVPNからのみアクセスできるように制限し、利用者ごとにアカウントを発行して権限を管理しましょう。
退職者や異動者のアカウントを速やかに無効にするなど、アカウントの棚卸しも定期的に行います。作成したAIアプリを社外に公開する場合は、公開範囲と利用状況を確認する担当者を決めておくことが大切です。
機密情報の扱いとLLMの選び方を決める
Difyを自社の環境に構築しても、外部のLLMを使う場合は、入力した内容がLLMの提供元に送信されます。社内の機密情報や個人情報を扱う場合は、利用するLLMの規約やデータの取り扱いを確認し、送ってよい情報のルールを決めておきましょう。
セキュリティの要件が厳しい企業では、企業向けのクラウドサービス経由でLLMを使う方法も選択肢になります。Azure上で生成AIを使う方法については、AOAIとは?Azure OpenAI ServiceとChatGPTの違い・導入の進め方を解説もあわせてご覧ください。
関連記事:AOAIとは?Azure OpenAI ServiceとChatGPTの違い・導入の進め方を解説
ライセンスの条件を確認する
Difyはオープンソースとして公開されていますが、Apache License 2.0をもとに追加の条件を設けた独自のライセンスが適用されています。社内での利用だけであれば問題になりにくいものの、Difyを使ったサービスを複数の顧客向けに提供する場合などには条件があります。
ロゴや著作権表示の扱いにも条件があるため、社外向けのサービスに組み込む場合は、公式リポジトリのライセンスを必ず確認しましょう。判断に迷う場合は、法務担当者や提供元に確認しておくと安心です。
アップデートは検証用の環境で試してから行う
Difyは更新の頻度が高く、アップデートによって設定ファイルや動作が変わることがあります。本番で使っている環境をいきなり更新するのではなく、検証用の環境で動作を確かめてから反映すると、業務が止まるリスクを減らせます。
検証用の環境の考え方は、ステージング環境とは?本番・開発・テスト環境との違いと構築時の注意点を解説で詳しく解説しています。アップデートとバックアップの担当者を決め、定期的に作業する体制を整えておきましょう。
関連記事:ステージング環境とは?本番・開発・テスト環境との違いと構築時の注意点を解説
| Difyの社内展開やセキュリティ対策に不安がある方へ 構築環境の設計から、利用ルールやアカウント管理の整備、社員向けの研修まで、生成AIの社内定着を伴走して支援します。現状の課題整理の段階からお気軽にご相談ください。 相談予約はこちら |
Difyで業務を自動化する活用例
構築したDifyは、アイデア次第でさまざまな業務に活用できます。ここでは、中小企業でも取り組みやすい代表的な3つの活用例を紹介します。
社内文書を検索して回答するチャットボット
就業規則や業務マニュアル、製品資料などをDifyのナレッジに登録すれば、社員の質問に社内文書をもとに回答するチャットボットを作れます。同じ質問に何度も答えていた総務や情報システムの担当者の負担を減らせます。
回答の根拠となる文書を表示させる設定にしておけば、社員が内容を確かめやすくなります。登録する文書は、最新の版に更新し続ける運用ルールを決めておきましょう。
定型文書の作成や要約のワークフロー
議事録の要約、問い合わせメールへの返信の下書き、報告書のひな型づくりなど、決まった形式の文書を作る作業は、Difyのワークフローで効率化しやすい業務です。入力の項目と出力の形式をあらかじめ決めておけば、誰が使っても品質がそろいます。
社員が自分の業務に合わせてワークフローを作れるようになると、活用の幅が一気に広がります。そのためには、生成AIの使い方を実務に沿って学ぶ機会を設けることが効果的です。ネクストスケールの法人向けAI研修では、こうした実践的な使い方を学べます。
他のシステムと連携した業務の自動化
DifyはAPIで外部のシステムとつなげられるため、問い合わせの受付から分類、担当者への通知までを自動で進めるといった、複数の工程にまたがる業務の自動化にも使えます。
判断を含む業務をAIに任せるときは、人が最終確認する工程を残しておくことが大切です。AIエージェントを使った業務自動化の進め方は、AIエージェント 自動化|RPAとの違い・自動化の5段階・失敗しない設計手順で詳しく解説しています。
関連記事:AIエージェント 自動化 RPAとの違い・自動化の5段階・失敗しない設計手順【2026年版】
まとめ|DifyをDockerで構築して自社に合うAI活用を始めよう
Difyは、Docker Composeを使えば、ソースコードの取得、.envの作成、docker compose up -dの実行という手順で自社の環境に構築できます。CPU2コア・メモリ4GiB以上のマシンとDocker Compose 2.24.0以上を用意し、Windowsではファイルの置き場所にも注意しましょう。
構築後は、LLMの設定や.envの調整を行い、アップデートとバックアップの手順を決めておくことが大切です。社内で本格的に運用する場合は、HTTPS化やアクセス制限、機密情報の扱い、ライセンス、検証環境での事前確認まで整えてから公開しましょう。
ネクストスケールでは、生成AIの活用方針の設計から、Difyなどを使った業務自動化の構築、社員研修、現場への定着までを一気通貫で支援しています。システムとしての構築を任せたい場合はAIシステム開発、活用の進め方から相談したい場合はAIコンサル・AX伴走支援のページもご覧ください。
AIコンサル・AX伴走支援サービスご紹介資料
この資料でこんなことがわかります!
- 社外AI役員とは
- 支援内容
- 導入の進め方
- 導入実績・効果
\3ステップで簡単入力/
| Difyを使った業務の自動化を一緒に進めませんか 自動化する業務の選定から、Difyの構築・ワークフローの設計、セキュリティを考えた運用ルールづくり、現場への定着までをご支援します。しつこい営業はいたしませんので、まずは無料相談をご利用ください。 相談予約はこちら |




