ーーーーーーーーーーーーーーーーーーーーー2026年10月31日執筆ーーーーーーーーーーーーーーーーー
- 🎧 Difyローカル環境構築のPodcast
- はじめに
- WSL3とDocker Desktopで整えるDifyの前提環境
- Difyソースコードの取得と環境変数(.env)の設定
- Docker Composeによるコンテナ起動と初期セットアップ
- ローカルLLM(Ollama)およびクラウドAIモデルとの連携
- 安全・確実なDifyのアップデート手順とデータ永続化
- まとめ:完全セルフホストで広がるセキュアなAI活用
- 参考資料
- はじめに
- なぜDifyをセルフホストするの?メリットを紹介
- この記事で解説すること
- Difyセルフホスト(Windows 11 + Docker)に必要なもの
- 【ステップ解説】DifyをWindows 11にインストールする
- Difyセルフホスト環境をバージョンアップする方法
- セルフホストのメリットと注意点(再確認)
- まとめ
🎧 Difyローカル環境構築のPodcast
下記のPodcastは、Geminiで作成しました。
はじめに
生成AIアプリケーションの開発や業務自動化において、世界中で圧倒的な支持を集めているオープンソースの大規模言語モデル(LLM)アプリ開発プラットフォームが「Dify(ディファイ)」です [1]。直感的なGUIを通じて、プログラミングの深い知識がなくとも高度なAIエージェント、RAG(検索拡張生成)システム、複雑な自動化ワークフローを視覚的に構築できる点が最大の魅力として知られています [2]。しかし、企業の機密情報や個人のプライベートなデータを扱う場合、パブリックなクラウドサービスを利用することにセキュリティやコストの面で懸念を抱くユーザーも少なくありません [3]。
そうした課題を根本から解決するのが、自身のPC環境上で完結させる「ローカルセルフホスト(オンプレミス構築)」という運用形態です [4]。ローカル環境でDifyを稼働させれば、社外秘のドキュメントや個人情報を完全に手元のストレージに保持したまま、安心・安全に高度なナレッジベースを構築できます [5]。さらに、ローカルLLM実行基盤であるOllamaなどと連携させれば、完全オフラインかつ従量課金ゼロのプライベートAI環境を実現することも可能です [6]。
2026年現在のWindows 11環境においては、進化した「WSL3(Windows Subsystem for Linux 3)」と「Docker Desktop」を組み合わせることで、以前のように複雑なLinuxサーバー構築コマンドに悩まされることなく、驚くほどスムーズにDifyのコンテナ環境を展開できるようになりました [7]。WSL3ではLinuxカーネルの大幅な刷新、メモリ自動解放(Memory Reclaim)の高度化、ネットワークの完全ミラーリング(Mirrored Mode)、およびNVIDIA GPUへのダイレクトパススルーが標準で最適化されており、Windows上でのコンテナ運用効率が劇的に向上しています [8]。
本記事では、Windows 11ユーザーに向けて、最新のWSL3とDockerを活用したDifyローカル環境の導入準備から、GitHubからのソース取得、環境変数(.env)の最適設定、マルチコンテナの起動、ブラウザでの初期管理者登録、OllamaやクラウドLLM(Gemini、OpenAI等)との連携、そして最も重要でありながら見落とされがちな「安全なアップデート(アップグレード)手順とデータ永続化バックアップ」までを網羅して分かりやすく徹底解説します [9]。手元のWindows PCを最強のAI開発ラボへと進化させましょう [10]。
WSL3とDocker Desktopで整えるDifyの前提環境
Windows 11環境でLinuxベースのコンテナアプリケーションであるDifyを最高パフォーマンスで安定稼働させるためには、強固な土台となるWSL3とDocker Desktopの適切なセットアップが不可欠です [11]。

Windows 11の最新WSL3機能とDocker Desktop連携によるローカルコンテナ環境の構築イメージ(Googleの画像生成AIで作成)
WSL3のセットアップと最適化設定
Windows 11において、コンテナを極めて低オーバーヘッドかつ高速に実行するための基盤がWSL3です [12]。WSL3では、Windows側とLinux側のファイルアクセス速度のボトルネックが解消され、ホストマシンの物理メモリをコンテナが必要な分だけ動的に確保・解放する「自動メモリリクレイム機能」がデフォルトで有効化されています [13]。
# WSLの最新バージョンインストール・更新
wsl --update
# 利用可能なディストリビューションを確認
wsl --list --online
# Ubuntuの最新LTSをインストール
wsl --install -d Ubuntu
インストール完了後、Ubuntuのターミナルが起動したら、初期ユーザー名とパスワードを設定します。続いて、Windows側のユーザープロファイルディレクトリ(C:\Users\<ユーザー名>\)に .wslconfig ファイルを作成または編集し、メモリ割り当てやネットワークモードをDifyの複数コンテナ運用に最適化しておくと安定性が飛躍的に高まります [15]。
# .wslconfig の推奨設定例
[wsl2]
# WSL3環境でも設定セクションは互換性の高い形式で適用可能 memory=16GB # ホスト搭載メモリの半分〜7割程度を指定 processors=8 # 割り当てるCPUコア数 networkingMode=mirrored # ホストと同一IPで通信できるミラーモード autoMemoryReclaim=gradual # メモリを自動でWindowsホストへ返還
設定を保存した後は、PowerShellで wsl --shutdown を実行して一度WSLを再起動し、新しい設定を確実に反映させます [16]。
Docker DesktopのインストールとWSL統合
Difyは、Webフロントエンド、APIサーバー、ワーカー、PostgreSQLデータベース、Redisキャッシュ、Weaviate(ベクトル検索エンジン)、Nginxリバースプロキシなど、多数の独立したサービスが協調して動作するマイクロサービス構成を採用しています [17]。これらをワンコマンドで管理するために、DockerおよびDocker Composeが必須となります。
Docker公式サイトから「Docker Desktop for Windows」をダウンロードし、インストーラーを起動します。インストールウィザードでは、必ず「Use WSL 2/3 based engine (recommended)」にチェックが入っていることを確認してください [18]。
インストールが完了してPCを再起動したら、Docker Desktopを起動し、右上の歯車アイコン(Settings)から以下の項目を確認・設定します [19]。
- General: 「Use the WSL 2 based engine」が有効になっていること。
- Resources > WSL Integration: 「Enable integration with my default WSL distro」をオンにし、先ほどインストールした「Ubuntu」のトグルスイッチを有効(ON)にします。
- Apply & restart をクリックして設定を適用します。
これで、Ubuntuのターミナル内から直接 docker および docker compose コマンドが高速に呼び出せる理想的な開発環境が完成しました [20]。
Difyソースコードの取得と環境変数(.env)の設定
前提環境が整ったら、Difyの公式GitHubリポジトリから最新のソースコードを取得し、ローカル環境に合わせて環境変数ファイルを設定します [1]。

Gitクローンから.envテンプレート設定、エージェント用トークン生成までの流れ(Googleの画像生成AIで作成)
GitHubからのリポジトリクローン手順
ここで極めて重要な注意点があります。Windows 11上でDockerコンテナを高速に動かすためには、DifyのソースコードをWindows側のドライブ(/mnt/c/...)ではなく、必ずWSL3(Ubuntu)のネイティブLinux領域(例: ~/ や /home/<ユーザー名>/)にクローンすることです [2]。Windowsファイルシステムを跨いだマウントはI/Oパフォーマンスが著しく低下し、データベースの書き込み遅延やコンテナ起動失敗の原因となるためです [3]。
# ホームディレクトリに移動
cd ~
# Dify公式リポジトリをクローン
git clone https://github.com/langgenius/dify.git
# クローンしたディレクトリに移動
cd dify
# 安定して運用したい場合は、最新の安定版リリースタグへチェックアウト(推奨)
git fetch --tags
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
リポジトリ直下には、フロントエンド、バックエンド、ドキュメントなど多くのフォルダが含まれていますが、Dockerでセルフホスト運用を行う際に使用するのは docker ディレクトリです [5]。
cd docker
.envファイルの設定とポート競合の回避策
docker ディレクトリ内には、コンテナ起動に必要な設定の雛形である .env.example が用意されています。これをコピーして、実際の設定ファイルである .env を作成します [6]。
cp .env.example .env
作成した .env ファイルを nano .env または好みのエディタで開き、必要に応じて設定をカスタマイズします。特に確認すべきポイントは以下の通りです [7]。
- セキュリティキー・トークンの設定: Difyのサンドボックスやエージェント機能を利用する場合、認証用のシークレットキーを設定しておくことが推奨されます。ターミナルで
openssl rand -base64 32を実行して生成したランダムな文字列を、.env内のDIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKENやSECRET_KEYに設定します [8]。 - Webポート(Nginx)の競合回避: デフォルトでは、DifyのWebインターフェースはホストマシンの「ポート80」で待ち受けを行います。しかし、Windows上で既にポート80が使用中である場合は、
.envファイル内のEXPOSE_NGINX_PORT=8080のように変更して競合を回避します [9][10]。
ポートを8080に変更した場合、後ほどブラウザからアクセスするURLは http://localhost:8080 となります [11]。
Docker Composeによるコンテナ起動と初期セットアップ
環境設定が完了したら、いよいよDocker Composeを使ってDifyを構成する全コンテナを一括起動します [12]。

Docker Composeによるマルチコンテナ一括起動とWebブラウザでの初期管理者登録画面(Googleの画像生成AIで作成)
docker compose upによる一括ビルド・起動
dify/docker ディレクトリにいることを確認し、以下のコマンドを実行します [13]。
docker compose up -d
-d オプションはバックグラウンド(デタッチドモード)で実行する指定です。初回実行時は、PostgreSQL、Redis、Weaviate、Dify API、Dify Web、Nginxなど、合計10個以上のコンテナイメージが一斉にダウンロード・展開されます [14]。
起動完了後、以下のコマンドで稼働ステータスを確認します [15]。
docker compose ps
出力結果の一覧で、各サービスのステータスが Up または Up (healthy) になっていれば、すべてのマイクロサービスが正常に稼働しています [16][17]。
初回アクセスと管理者アカウントの初期登録
すべてのコンテナが正常起動したら、Windows側のWebブラウザを開き、以下のURLにアクセスします [18]。
- ポート80(デフォルト)の場合:
http://localhost/install - ポート8080に変更した場合:
http://localhost:8080/install
画面が表示されると、「管理者アカウントの設定」ウィザードが立ち上がります [19]。メールアドレス、ユーザー名、8文字以上の強固なパスワードを入力し、「アカウントを作成」をクリックすると初期化処理が行われ、Difyのメインダッシュボード画面へと遷移します [20][1]。
ローカルLLM(Ollama)およびクラウドAIモデルとの連携
初期セットアップが完了した直後のDifyに、外部のLLMプロバイダーや手元のローカルLLMを接続して「頭脳」を授けます [2][3]。

ローカルで動くOllamaやGemini・OpenAI等のAPIキーをDifyに接続する設定構成(Googleの画像生成AIで作成)
Ollama連携時のホスト間ネットワーク設定(host.docker.internal)
完全ローカルかつオフラインでDifyを活用したい場合、WindowsやWSL上で稼働する「Ollama」との連携が最も有力な選択肢です [4][5]。Dockerコンテナ内部からホスト側のOllamaに接続する場合、以下の特別なドメインを使用します [6][7][8]。
- 接続URL:
http://host.docker.internal:11434
Difyダッシュボードの右上の設定メニューから「モデルプロバイダー」を選び、「Ollama」を追加して上記のベースURLとダウンロード済みモデル名を設定すれば、手元のPC内で高速なローカルAI推論が可能になります [9][10]。
GeminiやOpenAIなど各種モデルプロバイダーの登録
もちろん、Google GeminiやOpenAI、Anthropic Claudeなどの最先端クラウドLLMを組み合わせるハイブリッド運用も可能です [11][12]。各社のコンソールで発行したAPIキーをDifyのモデルプロバイダー設定に登録するだけで、Gemini 1.5 Proなどの最高峰モデルを手元のDifyアプリから自在に呼び出せるようになります [13][14]。
安全・確実なDifyのアップデート手順とデータ永続化
Difyは急速に進化を続けており、新機能の恩恵を受けるためには定期的なアップデートが欠かせません [15][16]。安全にアップグレードするための公式推奨手順をマスターしましょう [17]。

ボリューム永続化データの事前バックアップとgit pullによる安全な最新版アップグレード手順(Googleの画像生成AIで作成)
事前バックアップとコンテナ停止(docker compose down)
アップデート前の最重要鉄則は、データの完全バックアップです [18]。Difyのデータベースやベクトルデータは dify/docker/volumes に保存されています [19]。
# 1. dockerディレクトリへ移動
cd ~/dify/docker
# 2. 稼働中のコンテナを安全に停止
docker compose down
# 3. 1つ上の階層に戻り、ディレクトリ全体を日付付きで丸ごとバックアップ
cd ..
cp -r dify ~/dify_backup_$(date +%Y%m%d_%H%M%S)
docker compose down を実行しても、マウントされているボリュームの実データは削除されません [20][1][2]。
git pullと.env差分更新による安全な最新版へのマイグレーション
バックアップ完了後、Gitリポジトリを更新し、環境変数の差分を確認して再起動します [3][4][5]。
# 最新リリースタグの取得とチェックアウト
git fetch --tags
git checkout $(git describe --tags `git rev-list --tags --max-count=1`)
# dockerディレクトリで.envの差分確認
cd docker
diff -u .env .env.example
# 最新イメージの取得と再起動
docker compose pull
docker compose up -d
起動時にデータベースのマイグレーションが自動実行され、既存のデータを保持したまま最新機能が利用可能になります [6][7][8][9][10]。
まとめ:完全セルフホストで広がるセキュアなAI活用
Windows 11とWSL3、そしてDockerを組み合わせることで、強固なプライバシーと圧倒的な拡張性を兼ね備えたDifyローカル環境が完成しました [11]。

ローカル環境ならではのデータプライバシー保護と自由なAIエージェント開発の展望(Googleの画像生成AIで作成)
セルフホスト運用のメリットと注意点
外部サーバーへ機密情報を送信しない完全なデータプライバシーと、API従量課金を抑えたローカルLLMとの連携は、セルフホストならではの絶大な利点です [12][13][14][15]。定期的なバックアップと適切なメモリ管理を行い、安定した運用を継続しましょう [16][17][18]。
次のステップ:独自ナレッジとワークフローの構築
社内マニュアルを取り込んだ独自RAGチャットボットや、自動化ツールと連携する高度なAIエージェントを自由に構築し、あなたの業務や研究開発を飛躍的に加速させてください [19][20]。
参考資料
- Dify公式ドキュメント - セルフホスト環境の概要と特徴
- GitHubリポジトリ - langgenius/dify オープンソースLLM開発プラットフォーム
- 日本経済新聞 - 生成AI導入における企業データセキュリティの課題と対策
- ITmedia エンタープライズ - オンプレミス環境で実現するプライベートAI基盤構築
- 総務省 - 令和6年版 情報通信白書:生成AIの利活用とプライバシー保護
- Ollama公式 - Get up and running with large language models locally
- Microsoft Learn - WSL (Windows Subsystem for Linux) の概要とアーキテクチャ
- Microsoft Learn - WSLの詳細構成設定 (.wslconfigの高度なオプション)
- Docker Documentation - Docker Desktop for Windows installation guide
- Docker Documentation - Docker Compose overview and multi-container apps
- Docker Documentation - Docker Desktop WSL 2/3 backend architecture
- Ubuntu公式 - WSLにおけるUbuntu Linux環境のパフォーマンス最適化
- Microsoft Tech Community - Memory management and reclamation in modern WSL
- Dify Docs - Docker Composeを用いたDifyのローカルデプロイ詳細ガイド
- PostgreSQL公式 - DockerコンテナにおけるPostgreSQLの永続化とチューニング
- Redis公式 - Redis in Container Environments: Configuration and Best Practices
- Weaviate Documentation - Self-hosted Weaviate deployment with Docker
- Dify Docs - Difyセルフホスト環境のアップグレード手順とマイグレーション
- Dify Docs - ローカルLLM(Ollama)をDifyモデルプロバイダーに統合する方法
- Google AI Studio - Gemini APIの概要とモデルプロバイダー連携
ーーーーーーーーーーーーーーーーーーーーー2025年5月13日執筆ーーーーーーーーーーーーーーーーー
はじめに
前回の記事「【初心者向け】Difyとは?無料で始めるAIアプリ開発プラットフォームを徹底解説!GPTsとの違いも紹介」では、Difyの基本的な機能や、ChatGPTのカスタマイズ機能であるGPTsとの違いについてご紹介しました。Difyは、プログラミングの知識があまりなくても、直感的なGUI(グラフィカル・ユーザー・インターフェース)操作でAIアプリを開発・運用できる非常に便利なツールです。
Difyを利用する方法はいくつかありますが、公式が提供するクラウドサービス「Dify Cloud」を使うのが一番手軽です。しかし、Difyはオープンソースとして公開されているため、ソースコードを自分のパソコンやサーバーにダウンロードし、無料でインストールして利用することも可能です。これを「セルフホスト」と呼びます。
「自分のPCでAI開発環境を構築するなんて難しそう…」と感じるかもしれません。でもご安心ください!今回は、Docker(ドッカー) という技術を使って、比較的簡単にDifyのセルフホスト環境を構築する手順をステップごとに解説します。さらに、Difyを最新の状態に保つためのバージョンアップ方法についても詳しく説明します。
この記事を読めば、あなたも自分だけのDify環境を手に入れ、AIアプリ開発をより自由に、深く探求できるようになるはずです。さあ、始めましょう!
なぜDifyをセルフホストするの?メリットを紹介
Difyをセルフホストで利用することには、以下のような大きなメリットがあります。
- データ管理の自由度が高い: 作成したAIアプリや学習データなどを、外部のサーバーではなく自分の管理下にあるPCやサーバーに保存できます。機密性の高い情報を扱う場合や、データの取り扱いを自分でコントロールしたい場合に最適です。
- コストを抑えられる: DifyのCommunity Edition(コミュニティ版)はオープンソースなので、ソフトウェア自体のライセンス費用は無料です。(※ただし、アプリのフッターに表示される「Powered by Dify」のロゴを削除するには商用ライセンスが必要です。)
- 自由なカスタマイズと拡張性: ソースコードが公開されているため、必要に応じて自分で機能をカスタマイズしたり、API(アプリケーション・プログラミング・インターフェース)を利用して他のシステムと連携したりできます。また、Dify v1.0.0以降で強化されたプラグインシステムを活用することも可能です。
- AIや開発環境の学習機会になる: Dockerを使ったアプリケーションの導入・運用や、AIプラットフォームがどのように動作しているのか、その仕組みを学ぶ絶好の機会になります。
- 利用するAIモデルの選択肢が豊富: セルフホスト環境では、利用するLLM(大規模言語モデル)のプロバイダーやモデルを非常に柔軟に選択・設定できます。OpenAIのGPTシリーズだけでなく、Anthropic社のClaude、Google社のGemini、Meta社のLlamaシリーズ、さらにはローカルで動作するモデルなど、幅広い選択肢から自由に選べます。
この記事で解説すること
- DifyをWindows 11 PCにセルフホストでインストールするために必要なもの
- Dockerを使った具体的なインストール手順(ステップ・バイ・ステップ)
- インストールしたDify環境を最新版にアップデートする方法
Difyセルフホスト(Windows 11 + Docker)に必要なもの
まず、Windows 11のパソコンにDifyをセルフホストでインストールするために必要なソフトウェアや環境を確認しましょう。
- Windows 11 パソコン: 当然ですが、インストール対象となるWindows 11が正常に動作するパソコンが必要です。
- Docker Desktop: Difyは「Dockerコンテナ」という形で動作します。Dockerコンテナとは、アプリケーションをその実行に必要な設定やライブラリなどと一緒にパッケージ化する技術です。Docker Desktopは、Windows上でこのDockerコンテナを簡単に作成・管理するためのソフトウェアです。
- Git (ギット): Difyのプログラム本体(ソースコード)は、GitHub (ギットハブ) というウェブサイト上で公開・管理されています。Gitは、このGitHubからソースコードを自分のパソコンにダウンロードしたり、バージョン管理をしたりするためのツールです。
- ターミナルソフト: コマンド(命令文)を入力してコンピュータを操作するためのソフトウェアです。Windows標準の「コマンドプロンプト」や「PowerShell」でも作業可能ですが、Gitをインストールすると一緒についてくる「Git Bash」や、高機能なテキストエディタである「Visual Studio Code (VS Code)」に内蔵されているターミナル機能を使うのがおすすめです。本記事では、VS Codeの利用を想定して説明を進める場面があります。
推奨システム要件について
Difyを快適に動作させるためには、ある程度のパソコンのスペックが求められます。
- CPU: 2コア以上 (推奨)
- RAM (メモリ): 4GB以上 (最低限)、8GB以上 (推奨)
特に、RAG(Retrieval Augmented Generation:検索拡張生成)機能など、メモリを多く消費する機能を利用する場合は、RAMが8GB以上あるとよりスムーズに動作します。
【ステップ解説】DifyをWindows 11にインストールする
それでは、実際にWindows 11のパソコンにDifyをインストールする手順を詳しく見ていきましょう。今回は、Difyのセルフホストで最も推奨されている Docker Compose (ドッカー・コンポーズ) を使った方法を解説します。Docker Composeは、複数のDockerコンテナで構成されるアプリケーションを、設定ファイルに基づいて簡単に定義・実行できるようにするツールです。
ステップ1:必要なソフトウェア(Docker Desktop, Git, VS Code)をインストールする
まず、Difyを動かすために前提となる上記のソフトウェアをインストールします。
-
Docker Desktop:
- 役割: Difyは、Webサーバー、APIサーバー、データベースなど、複数のプログラム部品(コンポーネント)が連携して動作します。Dockerは、これらのコンポーネントをそれぞれ独立した「コンテナ」として動かし、管理しやすくします。Docker Desktopは、Windows上でこれらのコンテナを簡単に扱うためのツールです。
- 入手先: Docker公式サイトからダウンロードできます。自分のパソコンに適合したWindows版Docker Desktop(通常は、Windows版ダウンロードーAMD64を選択)を選択してインストールプログラムをダウンロードして下さい。
- 注意点: インストール後、Docker Desktopを起動し、必要に応じてアカウント登録(無料)とサインインを行ってください。
-
Git:
- 役割: Difyの最新のプログラム(ソースコード)はGitHubで公開されています。Gitは、このソースコードをあなたのPCにダウンロード(専門用語で「クローン」と言います)するために使います。
- 入手先: Git公式サイトからダウンロードできます。画面内の「Download for Windows」をクリックすることにより、インストールプログラムをダウンロードして下さい。
-
Visual Studio Code (VS Code):
- 役割: VS Codeは高機能なテキストエディタですが、Gitの操作や、後述するDocker Composeのコマンドを実行するためのターミナル機能が内蔵されており非常に便利です。Windows、Mac、Linuxで共通して使えるため、開発者によく利用されています。必須ではありませんが、導入を強くおすすめします。
- 入手先: VS Code公式サイトからダウンロードできます。画面内の「Download for Windows」をクリックすることにより、インストールプログラムをダウンロードして下さい。
これらのソフトウェアの具体的なインストール手順は、各公式サイトに詳しく記載されています。手順に従ってインストールを完了してください。
ステップ2:Difyのソースコードを取得する
必要なソフトウェアの準備ができたら、Difyのプログラム本体であるソースコードをGitHubからダウンロードします。
- ターミナルを開く: VS Codeを起動し、上部メニューの「ターミナル」 > 「新しいターミナル」を選択してターミナルを開きます。Git Bashやコマンドプロンプトなど、他のターミナルソフトを使用しても構いません。
-
作業用ディレクトリを作成し移動する (任意): Difyのソースコードを保存する場所を決めます。例えば、Cドライブ直下に
projectsというフォルダを作成し、その中にDifyを置く場合は、ターミナルで以下のコマンドを実行します。mkdir C:\projects cd C:\projectsこの作業は任意です。好きな場所に保存してください。
-
Difyのソースコードをクローンする: 以下の
git cloneコマンドを実行して、Difyの公式リポジトリからソースコードをダウンロードします。git clone https://github.com/langgenius/dify.gitコマンドが完了すると、現在のディレクトリに
difyという名前のフォルダが作成され、その中にDifyのソースコード一式がダウンロードされます。 -
Difyのディレクトリに移動する: 作成された
difyフォルダの中に移動します。cd difyこれで、Difyのソースコードがあるディレクトリ(フォルダ)に移動できました。今後の作業の多くは、この
difyディレクトリ内、またはその中のdockerディレクトリで行います。
ステップ3:環境設定ファイルを準備する
Difyの動作に関する様々な設定は、.env という名前のファイルで管理します。このファイルには、どのデータベースを使用するか、外部サービスのAPIキーの設定など、あなたの環境に合わせた設定情報を記述します。
-
Docker関連の設定ファイルがあるディレクトリに移動する:
difyディレクトリの中にいる状態で、さらにその中のdockerディレクトリに移動します。cd dockerこの
dockerディレクトリには、Docker ComposeでDifyを起動するための設定ファイルなどが含まれています。 -
設定ファイルのサンプルをコピーして
.envファイルを作成する:dockerディレクトリの中には、.env.exampleという名前の設定ファイルのサンプルが用意されています。このサンプルファイルをコピーして、.envという名前のファイルを作成します。 ターミナルで以下のコマンドを実行します。(WindowsのコマンドプロンプトやPowerShell、Git Bashで共通して使えます)copy .env.example .envまたは、VS Codeのエクスプローラー(左側のファイル一覧表示)で
dockerフォルダを開き、.env.exampleファイルを右クリックして「コピー」、その後同じ場所で右クリックして「貼り付け」を行い、新しく作成されたファイルの名前を.envに変更してもOKです。 -
.envファイルの内容を確認する (任意): 作成した.envファイルをVS Codeなどのテキストエディタで開いて中身を確認してみましょう。たくさんの設定項目が記述されていますが、最初の起動では、特に変更しなくても動作することが多いです。 後から必要に応じてカスタマイズできます。例えば、RAG機能などで使用するベクトルデータベース(大量のテキストデータから関連性の高い情報を効率的に検索するためのデータベース)の設定は、このファイルのVECTOR_STOREという項目で指定します。デフォルトでは、PostgreSQLというデータベースの拡張機能であるpgvectorが使われる設定になっていることが多いです。(DifyのドキュメントではQdrantというベクトルデータベースも推奨されていますが、.env.exampleのデフォルト設定はバージョンによって異なる場合があります。)
重要な注意点: Difyのバージョンアップに伴い、以前はdocker-compose.yamlという別の設定ファイルに書かれていた設定の多くが、この.envファイルで一元的に管理されるように変更されています。今後のバージョンアップ時にも、この.envファイルの確認と更新が非常に重要になります。
ステップ4:Docker ComposeでDifyを起動する
環境設定ファイルの準備ができたら、いよいよDifyをDockerで起動します。引き続き dify/docker ディレクトリの中にいる状態で、ターミナルで以下のコマンドを実行してください。
docker compose up -d
このコマンドを解説します。
-
docker compose: Docker Composeツールを使ってください、という指示です。 -
up: 設定ファイル(docker-compose.yaml)に基づいて、定義されたサービス(Difyを構成する各コンテナ)を起動してください、という指示です。- 初めてこのコマンドを実行する際には、Difyを動かすために必要なDockerコンテナの元となる「イメージ」のダウンロードやビルド(構築)が自動的に行われます。これには少し時間がかかる場合があります。
-
-d: 「detachedモード」で起動してください、というオプションです。これを指定すると、Difyの各サービスがバックグラウンドで実行され、ターミナルを閉じてもDifyは動き続けます。このオプションを付けないと、ターミナルにログが表示され続け、ターミナルを閉じるとDifyも停止してしまいます。
コマンドの実行が開始されると、必要なイメージのダウンロードやコンテナの作成・起動が始まります。ターミナルにエラーメッセージが表示されずにコマンドが完了(プロンプトが戻ってくる状態)したら、起動処理は進行中です。
起動状況の確認 (任意): Difyの各コンテナが正常に起動しているか確認したい場合は、同じく dify/docker ディレクトリで以下のコマンドを実行します。
docker compose ps
このコマンドを実行すると、Difyを構成する複数のコンテナ(例: api, web, worker, db, redis など)の一覧と、それぞれの状態(State)が表示されます。多くのコンテナの State が running または healthy になっていれば、正常に起動している可能性が高いです。起動には数分かかることがありますので、少し待ってから確認してみてください。
ステップ5:Difyにブラウザでアクセスする
すべてのサービスが正常に起動していれば、お使いのWebブラウザからDifyのWebインターフェースにアクセスできるようになります。
ブラウザのアドレスバーに以下のURLを入力してください。
初めてアクセスすると、管理者アカウントを作成するための画面が表示されるはずです。画面の指示に従って、メールアドレス、ユーザー名、パスワードなどを設定し、管理者アカウントを作成してください。これで、Difyを利用する準備が整います。
アカウント作成が完了すると、Difyのダッシュボード画面が表示されます。これで、あなたのWindows 11パソコン上に、自分専用のDify環境を構築することができました!お疲れ様でした!
インストール中に問題が発生した場合のチェックポイント:
-
Docker Desktopは正しくインストールされ、起動していますか? Docker Desktopが起動していないと、
docker composeコマンドは失敗します。 -
ポート番号の衝突はありませんか? Difyはデフォルトでポート
3000(Web用)と5001(API用)などを使用します。もし他のアプリケーションがこれらのポート番号を既に使用している場合、Difyが正常に起動できません。エラーログを確認し、必要であれば.envファイルでDifyが使用するポート番号を変更するなどの対応が必要です。 -
.envファイルは正しくコピー・作成されていますか?dify/dockerディレクトリに.envファイルが存在するか確認してください。 -
コンテナの起動ログを確認する: 何か問題が起きている場合、コンテナのログにエラーメッセージが出力されていることが多いです。
dify/dockerディレクトリで以下のコマンドを実行すると、各コンテナのログを確認できます。docker compose logs特定のコンテナのログだけを見たい場合は、例えばAPIサーバーのログなら以下のようにします。
docker compose logs api
Difyセルフホスト環境をバージョンアップする方法
Difyはオープンソースプロジェクトとして活発に開発されており、比較的高い頻度(例えば週に1回程度)で新しいバージョンがリリースされることがあります。新しいバージョンでは、新機能の追加、バグの修正、パフォーマンスの改善などが行われるため、定期的にバージョンアップを行うことをおすすめします。
Docker Composeを使ってセルフホスト環境を構築している場合、バージョンアップ作業は比較的シンプルに行えます。
バージョンアップの基本手順
- 重要なデータのバックアップを作成する (最重要!)
- 最新のDifyソースコードを取得する
-
環境設定ファイル (
.env) を更新する - Docker Composeでサービスを再起動する
それでは、各ステップを詳しく見ていきましょう。
ステップ1:重要なデータのバックアップを作成する (最重要!)
バージョンアップ作業中に予期せぬ問題が発生し、データが失われたり環境が壊れたりする可能性はゼロではありません。作業前には必ず重要なデータをバックアップしてください。
特にバックアップしておくべきものは以下の通りです。
-
データベース: Difyで作成したAIアプリケーション、登録したナレッジベースの情報、実行ログなどの重要なデータは、データベース(デフォルトではPostgreSQLコンテナ内のデータ)に保存されています。 Dockerを使っている場合、データは通常「ボリューム」という場所に保存されており、
docker compose downコマンドを実行してもデフォルトでは削除されませんが、万全を期すためにはデータベース自体のバックアップを取得することが推奨されます。データベースのバックアップ方法は、使用しているデータベースの種類(PostgreSQLなど)によって異なりますので、別途調べて実施してください。 -
.envファイル:dify/docker/.envファイルには、あなたの環境独自の設定(APIキー、ポート番号、データベース接続情報など)が記述されています。これは非常に重要なファイルなので、必ずコピーして安全な場所にバックアップしておきましょう。 -
カスタマイズした設定ファイル (もしあれば): もしあなたが
docker-compose.yamlファイルや、Nginx(Webサーバーの一種)の設定ファイルなどを独自にカスタマイズしている場合は、それらのファイルも忘れずにバックアップしてください。
ステップ2:最新のDifyソースコードを取得する
最初にDifyをインストールした時と同様に、Gitを使ってGitHubから最新のソースコードを取得します。
-
Difyのルートディレクトリに移動する: ターミナルを開き、Difyを
git cloneしたディレクトリ(例:C:\projects\dify)に移動します。もし現在dify/dockerディレクトリにいる場合は、一つ上の階層に移動します。cd ..(カレントディレクトリが
dify/dockerの場合、これでdifyディレクトリに移動します) -
最新のコードを取得する: 以下の
git pullコマンドを実行します。git pull ```git pull` コマンドは、GitHub上のDifyリポジトリから最新の変更点をダウンロードし、あなたのローカルにあるソースコードを更新します。
ステップ3:環境設定ファイル(.env)を更新する
Difyの新しいバージョンでは、設定項目が追加されたり、既存の設定項目の意味やデフォルト値が変わったりすることがあります。そのため、最新のソースコードに含まれる設定ファイルのサンプル (dify/docker/.env.example) と、あなたが現在使用している設定ファイル (dify/docker/.env) を比較し、必要な変更をあなたの .env ファイルに反映させる必要があります。
-
dockerディレクトリに移動する:cd docker -
.env.exampleと.envを比較・更新する:-
最新の
dify/docker/.env.exampleファイルを開きます。 -
あなたがバックアップしておいた、または現在使用している
dify/docker/.envファイルを開きます。 -
両者を比較し、
.env.exampleに新しく追加された設定項目や、変更された可能性のある項目を、あなたの.envファイルに適切に取り込みます。APIキーなどのあなた固有の設定値はそのまま保持するように注意してください。 - VS Codeなどのテキストエディタには、ファイル比較(差分表示)機能があるものが多いので、それらを利用すると便利です。
特に注意すべき点:
-
以前のバージョンで
docker-compose.yamlなどに直接記述していた設定が、新しいバージョンでは.envファイルで管理するように変更されている場合があります。Difyのリリースノートやドキュメントを確認し、そのような変更がないか注意してください。 -
この
.envファイルの更新作業は、バージョンアッププロセスの中で最も慎重に行うべき部分です。設定ミスはDifyが正常に起動しない原因となります。
-
最新の
ステップ4:Docker Composeでサービスを再起動する
.env ファイルの更新が完了したら、Docker Composeを使ってDifyのサービスを最新の状態で再起動します。
-
現在起動しているDifyのコンテナを停止・削除する: 引き続き
dify/dockerディレクトリで、以下のコマンドを実行します。docker compose downこのコマンドは、現在起動しているDify関連のコンテナを停止し、削除します。Dockerボリュームに保存されているデータベースのデータなどは、デフォルトでは削除されません。
-
最新のコードと更新した
.envファイルを使ってサービスを起動する: 次に、以下のコマンドを実行して、最新バージョンのDifyを起動します。docker compose up -dこのコマンドにより、更新されたソースコードと
.envファイルの設定に基づいて、Difyのコンテナが再構築・起動されます。必要に応じて新しいDockerイメージのプルも行われます。
起動が完了したら、ブラウザ(http://localhost:3000)からDifyにアクセスし、正常に動作しているか、バージョン情報が更新されているかなどを確認しましょう。
バージョンアップ後に問題が発生した場合: インストール時と同様に、docker compose ps でコンテナの状態を確認したり、docker compose logs で各コンテナのログをチェックしたりして、問題の原因を調査してください。多くの場合、.env ファイルの設定ミスや、コンテナイメージのビルドエラーなどが原因です。
セルフホストのメリットと注意点(再確認)
改めて、Difyをセルフホストで利用するメリットと、運用する上での注意点を確認しておきましょう。
メリット
- データプライバシーと完全なコントロール: あなたのデータはあなたの管理下にあるPCやサーバー内に保持されます。外部にデータを置きたくない場合に最適です。
- 無料での利用 (Community Edition): オープンソースなので、ライセンス費用なしで利用開始できます。
- 自由なカスタマイズと拡張: ソースコードを改変したり、独自のプラグインを開発したり、API連携を深めたりと、自由度は非常に高いです。
- 実践的な学習機会: Docker、サーバー管理、AIプラットフォームの仕組みなど、多くのことを学べます。
- AIモデル選択の究極の自由度: OpenAI、Anthropic、Google、ローカルモデルなど、利用したいLLMを制約なく選択・組み合わせることが可能です。クラウドサービスでは提供されていないモデルも試せます。
注意点
- 自己責任での管理: サーバー(あなたのPC)の準備、Difyのインストール、設定、運用、セキュリティ対策、そしてバージョンアップといった全ての管理を自分自身で行う必要があります。
- ある程度の技術的知識が必要: DockerやGit、コマンドライン操作に関する基本的な知識があった方がスムーズに進められます。トラブルが発生した場合も、自分で原因を調査し解決する必要があります。
- PCのパフォーマンスとリソース: LLMの推論処理やRAG機能は、CPU、メモリ、ディスク容量をそれなりに消費します。お使いのPCのスペックによっては、動作が遅くなったり、複数のアプリを同時に動かすのが難しくなったりする場合があります。
- セキュリティ: ローカル環境とはいえ、外部に公開する場合はファイアウォールの設定やHTTPS化など、適切なセキュリティ対策を施す必要があります。
まとめ
今回は、AIアプリ開発プラットフォーム「Dify」を、あなたのWindows 11パソコンにセルフホストでインストールし、自分専用のAI開発環境を構築する方法をステップごとに詳しく解説しました。さらに、その環境を最新の状態に保つためのバージョンアップ手順についてもご紹介しました。
インストールのポイント:
- 必要なソフトウェア(Docker Desktop, Git, VS Codeなど)を準備する。
- Gitを使ってDifyの最新ソースコードをダウンロード(クローン)する。
-
dify/dockerディレクトリで.env.exampleをコピーして.envファイルを作成し、必要に応じて設定する。 -
docker compose up -dコマンドでDifyを起動する。 -
ブラウザで
http://localhost:3000にアクセスして初期セットアップを完了する。
バージョンアップのポイント:
-
データベースと
.envファイルを必ずバックアップする。 -
git pullで最新のソースコードを取得する。 -
最新の
.env.exampleと比較し、既存の.envファイルを慎重に更新する。 -
docker compose downで一旦停止し、docker compose up -dで再起動する。
Dockerという技術を使うことで、複数のコンポーネントから成る複雑なアプリケーションであるDifyも、比較的簡単にまとめて起動・管理できることをご理解いただけたかと思います。
これで、あなたは完全にコントロール可能な自分だけのDify環境を手に入れました!クラウドサービスでは試すのが難しかった細かい設定の調整、様々なLLMの組み合わせ、あるいはDify自体のカスタマイズなど、AIアプリ開発の可能性をさらに深く探求する準備が整いました。
ぜひこのローカル環境を活用して、RAG(検索拡張生成)を使った高機能なチャットボット開発、AIエージェントの作成、複雑なワークフローの構築など、Difyが提供する豊富な機能を使ったAIアプリケーション開発にチャレンジしてみてください。
それでは、快適なDifyセルフホストライフをお楽しみください!



コメント