ローカル環境でDifyを動かすメリット
Difyをローカル環境で動かすと、インターネット接続を介さずに操作できるため、特定の機能でクラウド版よりも速く動作することがあります。また、アカウントの登録が不要で、無料で使用することが出来ます。ただし、クラウド版と異なり、外部へのアクセスやデータのバックアップ機能など、限定される機能もある点にご注意ください。
ローカル環境とは、自分のパソコンにソフトウェアをインストールして使う方法です。クラウド版とは、インターネット経由で提供されるサービスを使う方法で、インストール不要で、どこからでもアクセスできる利便性があります。
スピーディな開発とデバッグ
ローカル環境であれば、インターネット環境やサーバーの状態に左右されることなく、迅速にDifyの動作確認やコードの修正が行えます。また、Dockerを使用することで、依存関係の設定やライブラリの管理も簡単に統一できるため、トラブルシューティングもスムーズです。
Dockerは、ソフトウェアを仮想的な環境で動かすツールです。異なるパソコンでも同じ環境を再現できるため、開発やデバッグがしやすくなります。依存関係やライブラリの設定も一括で管理でき、スムーズに動作確認が行えます。平たく言うと、Difyを動かすための「どこでも同じ環境を再現できる入れ物」のようなソフトウェアです。
安全なテスト環境
ローカル環境は、公開サーバーや他のユーザーに影響を与えることがないため、プライバシーやセキュリティの面で安全です。機密性の高いデータやAPIキーなどを使用する場合も、第三者に漏れるリスクを軽減できます。
コスト削減
サーバーを利用せずローカル環境のみでDifyを動作させることで、サーバー維持費用やクラウドサービスの利用コストを抑えられます。初期開発やプロトタイプ段階では特に効果的です。
オフラインでの利用
ローカル環境で動作させることで、インターネット接続がなくてもDifyの機能や動作確認ができるため、オフラインの環境でも作業を続けられます。特に出先やインターネットが不安定な状況で便利です。
手順
公式サイトの下記ページを参考にしています。手順は変更される場合がありますのでご注意ください。
https://docs.dify.ai/ja-jp/getting-started/install-self-hosted/docker-compose
Difyの最小インストール要件
・ CPU : 最低2コア
・ RAM : 最低4GB
Docker Desktopは基本的に64ビット環境専用となります。32ビットPCでDifyをローカル実行するのは難しいかもしれません。本手順は、64ビット版WindowsPCでDifyを動かす前提で進めます。
「設定」から確認する方法(初心者向け)
1.画面左下の「スタートボタン」 をクリック。
2.「設定(歯車アイコン)」 を選択。
3.表示された設定画面から 「システム」 をクリック。
4.左側メニューの一番下にある 「詳細(バージョン)情報」 を選択。
5.画面右側にプロセッサ(現在のCPUの名前と種類)、実装されているRAM( 合計のRAM容量)が表示される。
1. 必要なツールのインストール
a. Gitのインストール
Gitは、バージョン管理を行うためのシステム(ソフトウェア)そのものです。Gitを使うと、ソースコードの履歴管理や変更の追跡、複数の人との共同作業が効率的に行えます。
※ Git自体はコマンドラインで操作するツールで、コマンドを実行するための「ターミナル」や「シェル」を必要とします。
- Git公式サイトにアクセスし、「Download for Windows」をクリックしてインストーラーをダウンロードします。
- ダウンロードしたインストーラーを実行し、画面の指示に従ってインストールを完了します。


Git Bashは、Windows上でGitを操作するためのコマンドライン環境(シェル)です。これにより、LinuxやMacのようなUNIX系のコマンドライン操作が可能になります。Git Bashは、Gitコマンドを簡単に使える環境を提供し、ファイル管理やスクリプトの実行を効率化します。
GitとGit Bashの違い
・Git: バージョン管理システムそのもの。リポジトリの管理やバージョンの追跡を行います。
・Git Bash: WindowsでGitを快適に使用するためのコマンドライン環境。UNIX系コマンドが使える利便性があります。
DifyをWindowsローカル環境で動かす場合
DifyをWindowsローカル環境で動かすには、Gitが必須です。
Git BashはUNIX系コマンドを使用する際に便利ですが、必須ではありません。たとえば、WindowsのコマンドプロンプトやPowerShellでも同様の操作が可能です。
通常、「Git for Windows」をインストールすると、GitとGit Bashが一緒にインストールされるため、別々にインストールする必要はありません。
Gitをインストールする際に表示される「Only show new option」 というのは、Gitをアップグレードする際にチェックすると、新しいバージョンで追加された設定項目のみをインストーラーが表示するようにするオプションです。通常はチェック有で問題ありません。

「Choosing the SSH executable」の画面では、SSHについて選択します。
Use bundled OpenSSH
Gitに付属のSSHクライアントを使用します。設定が簡単で、特に理由がない場合はこちらで問題ありません。
Use external OpenSSH
システムにインストール済みのSSHクライアントを使用します。他のツールと同じSSH設定を使いたい場合に適しています。

「Install」ボタンをクリックすると、インストールが開始されます。

「Completing the Git Setup Wizard」画面ですが、
Launch Git Bash → チェックを入れると、すぐにGitを試すことができます。
View Release Notes → 必要に応じてチェックしますが、通常は外して問題ありません。
インストール後にGit Bashやリリースノートを開けるので、どちらも必須ではありません!
「Finish」ボタンをクリックして、インストールを終了します。
b. Docker Desktopのインストール
Dockerは、アプリケーションをコンテナとして実行するためのプラットフォームです。
Docker公式サイトにアクセスし、「Docker Desktop for Windows – x86_64」をクリックしてインストーラーをダウンロードします。

ダウンロードしたインストーラーを実行します。

Use WSL 2 instead of Hyper-V (recommended)・・・Docker Desktop がコンテナを実行するためにどの仮想化技術を使用するかを指定します。
Add shortcut to desktop・・・Docker DesktopのショートカットアイコンがWindowsのデスクトップに作成されます。
両方とも、チェックしたままで問題ありません。
右下のOKボタンをクリックして進みます。

インストールが始まります。少し時間がかかります。

close and restart ボタンを押すと、Windowsが再起動します。

再起動が完了すると、「Docker Subscription Service Agreement」という画面が開きます。これは、Dockerの使用に関する契約条件を記載した公式の利用規約です。この規約は、Docker Desktopを使う際に、どのような条件で使用できるか、使用料の支払い義務が発生する条件などを説明しています。
Docker Desktopは基本的に個人利用や小規模な企業(従業員50人未満、または年間売上1,000万ドル未満)では無料で使用できます。
それ以上の規模の組織や商業的利用では、有料のサブスクリプション (Pro, Team, Businessプラン) が必要です。
“Accept” ボタンは規約に同意し、Docker Desktop の使用を開始することを意味します。個人利用や小規模な非商用利用であれば、特に問題なく “Accept” をクリックして進めてください。

デフォルト設定(Use recommended setting)で「Finish」ボタンを押して完了します。

「このアプリがPCに変更を加えることを許可しますか?」というダイアログの後に、”Welcome to Docker” という画面が表示されます。
これは、アカウントでサインインすることを推奨する画面です。Docker Hub にサインインすると、次のような機能が利用可能になります。
・Docker Hub で公開されている公式・カスタムイメージの利用
・イメージやコンテナの管理
・Docker Desktop の無料または有料サブスクリプションの認証
アカウント無しでも使用することが可能なので、今回は「Skip」をクリックします。

Welcome Survey の画面は、Docker Desktop がユーザーにアンケートを依頼するものです。必須では無いため、今回は「Skip」します。

これで、Docker Desktopが使える状態となりました。
2. Difyのソースコードを取得
Gitを使用して、Difyのソースコードをローカルにクローンします。
簡単に言うと、「Difyのソースコードをローカルにクローンする」とは、インターネット上のDifyのファイルを自分のPCにコピーして準備する作業です。
1:コマンドプロンプトを起動します。
・キーボードの[Windows]キーと[R]キーを同時に押します。すると、「ファイル名を指定して実行」ダイアログが開きます。
・表示されたダイアログのテキストボックスに「cmd」と入力し、Enterキー、またはOKボタンを押します。
2:以下の git cloneコマンドを入力して、Difyのリポジトリをクローンしますgit clone https://github.com/langgenius/dify.git
コマンドプロンプトに表示されている C:\Users\○○○> の横に続けてコマンドを入力し、Enterキーを押してください。これにより、DifyのファイルがC:\Users\○○○\dify フォルダにダウンロードされます。
もし他のフォルダにダウンロードしたい場合は、cd コマンドを使って目的のフォルダに移動してから、git cloneコマンドを実行してください。
3:クローンが完了したら、以下のコマンドでディレクトリを移動しますcd dify/docker
下記3、4のステップで、環境変数ファイル(.env)の設定と、「docker-compose up -d」でDifyを起動します。
「dify/docker」ディレクトリに移動する理由は、Difyの起動に必要な設定ファイルやスクリプトがそのディレクトリ内にあるからです。このディレクトリに移動することで、環境変数の設定やその後のDifyの起動に必要な操作が適切に行えます。
3. 環境変数ファイルの設定
Difyの動作に必要な環境変数を設定します。
「環境変数」とは、プログラムが動作するために必要な設定情報を保存するためのファイルです。たとえば、Difyに関するURLや接続先の情報(APIキーやデータベース情報)が含まれます。これらの情報を設定することで、Difyが正しく動作します。
1、Difyをローカル環境で動かすには、difyディレクトリ内にある.env.exampleファイルをコピーして.envという名前のファイルを作成します。このファイルには、Difyが動作するために必要な設定情報を記載します。
コマンド例:cp .env.example .env
このコマンドを実行すると、以下のような動作が行われます。
.env.example: 環境変数のサンプルファイル。必要な設定項目が記載されていますが、値が未設定またはサンプル値のままです。
.env: 実際に使用する設定ファイル。このファイルを基に、Difyが動作します。
エラーが発生した場合の対応
Windows環境では、cpコマンドが使用できない場合があります。以下のようなエラーが表示されることがあります。
‘cp’ は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。
このエラーですが、cpコマンドはUnix系のOS用で、cpはLinuxやMacで使用されるコマンドで、Windowsのコマンドプロンプトではサポートされていません。Windowsのコマンドプロンプトではcopyコマンド、または手動操作で対応する必要があります。
エラーが発生する場合、difyディレクトリ(例: C:\Users\あなたのユーザー名\dify)をエクスプローラーで開き、手動で.envファイルを作成する方法があります。
エクスプローラーでdifyディレクトリを開く
difyディレクトリ(例: C:\Users\あなたのユーザー名\dify/docker)をエクスプローラーで開きます。
.env.exampleをコピー
.env.exampleファイルを右クリックして「コピー」を選択します。
名前を変更
同じディレクトリ内に貼り付け、ファイル名を.envに変更します。
2、作成した.envファイルをテキストエディタで開き、必要に応じて設定を確認・変更します。
.envファイルは、git cloneコマンドを入力して、Difyのリポジトリをクローンした際に、コマンドプロンプトに表示されていた C:\Users\○○○\dify/dockerフォルダ内にあります。
そして、.envファイルをVisual Studio Code(VS Code)等のテキストエディタで開き、設定を確認・変更してください。
.env ファイルの設定例(全てではなく、適宜、設定が必要)
1、データベース接続情報の設定
DB_HOST=localhost … データベースサーバーのホスト名。
DB_PORT=5432 … データベースサーバーのポート番号。
DB_USER=username … データベースのユーザー名。
DB_PASSWORD=password … データベースのパスワード。
DB_NAME=mydatabase … データベースの名前。
2、APIキーの設定
API_KEY=your_api_key_here … 外部サービスを利用するためのAPIキー。
3、ポート番号の設定
PORT=3000 … アプリケーションがリッスンするポート番号。
4、ログレベルの設定
LOG_LEVEL=debug … アプリケーションのログレベル。info, warn, error, debug などが設定可能です。
これらの変数は、アプリケーションが外部リソースへの接続や特定の設定を行う際に利用します。.env ファイルを編集する際は、各環境変数が何を意味するのかを理解し、必要に応じて適切な値に変更することが重要です。設定が不適切だと、アプリケーションが正しく動作しない原因となります。
4. Difyの起動
Docker Composeを使用して、Difyを起動します。
- difyディレクトリ内で、以下のコマンドを実行します
docker-compose up -d
- コンテナが正常に起動しているかを確認するために、以下のコマンドを実行します
docker compose ps
- 稼働中のすべてのコンテナの状態を表示し、各コンテナが「Up」(稼働中)状態にあることを確認します。
初回の起動には数分かかることがありますので、少し待ってから確認してください。
エラーが発生した場合の対応
Windowsでは、Docker Desktopを起動しないとDocker Engineが動作しません。そのため、Docker Compose実行時に以下のようなエラーが出る場合があります。
The system cannot find the file specified.
解決方法
Docker Desktopを起動する
Docker Desktopがインストールされているか確認します。
・スタートメニューで「Docker Desktop」を検索。
・見つかった場合は起動してください。
Docker Desktopを起動すると、システムトレイ(画面右下)にDockerのアイコンが表示されます。このアイコンが「緑のチェックマーク」になっていることを確認してください。
・緑のチェックマーク → Docker Engineが正常に動作中。
・赤やオレンジ → 問題がある可能性。
設定や再起動を確認
Docker Desktopが起動しない、または正常に動作していない場合は、以下を確認してください。
・WSL 2が有効か確認する(必要に応じてインストール)。
・Docker Desktopを再起動。
5. Difyへのアクセス
Difyが正常に起動したら、ウェブブラウザで以下のURLにアクセスして、Difyのローカル環境を初期設定します。
- 初回アクセス時は、以下のURLにアクセスして管理者アカウントを設定してください。
http://localhost/install
管理者アカウントを作成し、必要な初期設定を完了させます。 - 初期設定が完了した後は、以下のURLでDifyのウェブインターフェースにアクセスできます。
http://localhost
2回目以降のアクセスでは、ログイン画面が表示されますので、初回設定で作成した管理者アカウントでログインしてください。
Dockerが起動していない場合、Difyにはアクセスできません。アクセスできない場合は、まずDocker Desktopを確認し、起動していない場合はDockerを実行してください。
- Difyが停止している場合の対応
再度アクセスする前に、以下のコマンドでDifyを起動してください。docker compose up -d
これで、Difyのローカル環境をいつでも利用できるようになります。