ローカル環境で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を操作するためのコマンドライン環境(シェル)です。Git Bashを使うと、LinuxやMacのようなUNIX系のコマンドライン操作が可能になります。Git BashはGitコマンドを簡単に使える環境を提供し、ファイル管理やスクリプトの実行がしやすくなります。
・Git:バージョン管理システムそのもの
・Git Bash:WindowsでGitを使うためのコマンドライン環境
つまり、Gitを実行するための「使いやすい操作環境」としてGit Bashが提供されています。GitとGit Bashは別物ですが、セットで利用することでWindowsでも快適にGit操作ができるようになっています。
DifyをWindowsローカル環境で動かすには、GitとGit Bashの両方をインストールする必要がありますが、通常、「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ディレクトリ内にある.env.exampleファイルをコピーして、.envという名前のファイルを作成しますcp .env.example .env
difyディレクトリ内にある.env.exampleファイルは、環境変数のサンプルファイルです。このファイルには、Difyが動作するために必要な設定項目が書かれていますが、値が未設定またはサンプル値のままになっています。
.envファイルは、実際にDifyを動かす際に使う設定ファイルです。.env.exampleをそのまま使うのではなく、新たに.envという名前でコピーを作成し、必要な設定情報を書き込むことで、Difyがローカル環境で正しく動作するようになります。
cp:ファイルをコピーするコマンド(Windows環境での copy コマンド。cpはUnix系のオペレーティングシステムで使用されるファイルコピー用のコマンド。)
.env.example:コピー元のファイル名
.env:コピー先のファイル名(新しく作成されます)
コマンドが成功すると、difyディレクトリ内に.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」(稼働中)状態にあることを確認します。
初回の起動には数分かかることがありますので、少し待ってから確認してください。
※注記: Docker Composeの実行中にエラーが出る場合、まずはDocker Desktopの設定を確認してください。また、この説明はWSL 2を使用しない前提で行っていますが、エラーメッセージが続く場合は、WSL 2の利用を検討することも有効です。WSL 2はWindows上でLinux環境を効率的に利用するためのシステムで、特にDockerのようなツールの性能を向上させることが期待されます。
5. Difyへのアクセス
Difyが正常に起動したら、ウェブブラウザで以下のURLにアクセスして、Difyのローカル環境を初期設定します。
管理者初期化ページにアクセスして管理者アカウントを設定します。http://localhost/install
初期設定が完了した後、以下のURLでDifyのウェブインターフェースにアクセスできます。http://localhost
これで、Difyのローカル環境が利用可能になります。