ガイド

Difyのローカル環境構築【2026年最新】:Mac・Windows・Linuxでの手順を完全解説

室谷東吾
監修者室谷東吾(@0x__tom

株式会社MYUUU 代表取締役 / 日本最大級AIコミュニティ「.AI」創設者(累計2,000名超)/ セプテーニ・ホールディングス(電通グループ)と資本業務提携 / 著書「お金を使わず、AIを働かせる『Dify』活用」(ぱる出版、3刷)/ Xフォロワー約2万人

テキトー教師
監修者テキトー教師(@tekitoo_T_cher

.AI 認定講師 / 教育×AIの専門家 / 累計300名以上にAI活用を指導 / 「テキトーに学ぶ」がモットーの実践派講師 / Xアカウント

Difyのローカル環境構築【2026年最新】:Mac・Windows・Linuxでの手順を完全解説

Difyをローカルで動かすメリットとデメリット

室谷室谷
今回はDifyのローカル環境構築について話しましょう。これ、.AI(ドットエーアイ)コミュニティでもよく聞かれるテーマなんですよね。

「クラウド版じゃダメなの?」という声がある一方で、「絶対ローカルで動かしたい」という人も多くて・・・
テキトー教師テキトー教師
講座でも序盤に必ずこの話が出ます。「無料で使い続けたい」「社内の機密データを外に出したくない」という理由でローカル構築を選ぶ受講生さんが多いですね。
室谷室谷
ローカルで動かす最大のメリットはやっぱりコストとプライバシーです。Difyのクラウド版(dify.ai)はSandboxプランだと機能制限があるし、Professionalプラン以上は月額費用がかかります。

ローカルならその費用が不要です。
テキトー教師テキトー教師
ただし、ローカルで動かす場合も、接続するLLMのAPIキー(OpenAIやAnthropicなど)の利用料は別途かかります。「Difyがタダで動く=全部タダ」ではないので、ここは受講生さんに必ず説明するポイントです(笑)
室谷室谷
そうなんですよね。整理するとこういうイメージです。

ローカルのDify自体は無料ですが、LLMへのAPIコールは従量課金で発生する。ローカルLLM(Ollamaなど)と組み合わせれば、そこも含めて完全無料にできる、という構造ですね。
テキトー教師テキトー教師
Ollamaとの連携については別記事で詳しく解説していますが、まずは今回のローカル環境構築自体を理解してもらうのが先決です。デメリットで言うと、セルフホストする分、アップデートやメンテナンスを自分でやる必要があるという点もありますね。
室谷室谷
それと、DockerやGit、コマンドライン操作に慣れていないと最初はちょっとハードルを感じるかもしれません。ただ、手順自体はかなりシンプルで、Difyの公式ドキュメントも整備されているので、今回の記事を見ながら進めれば初心者でも大丈夫です。

必要な環境と事前準備

テキトー教師テキトー教師
構築を始める前に確認しておくべき要件を整理しましょう。ここをすっ飛ばして「動かない」と悩む方が多いんですよ(笑)
室谷室谷
ハードウェアの最低要件は「CPUが2コア以上、RAM 4GB以上」ですね。公式にはこう定義されています。

ただ、快適に動かすなら8GB以上のRAMがおすすめです。MYUUUでは16GBのマシンで動かしていますが、普通に余裕があります。
テキトー教師テキトー教師
ソフトウェア面では、OS別に必要なものが違います。まとめるとこうなります。
OS必要なソフトウェア補足
macOS 10.14以降Docker Desktop仮想CPUを2コア、メモリを8GB以上に設定する
Linux系ディストリビューションDocker 19.03+ / Docker Compose 1.28+Docker EngineとDocker Compose個別にインストール
Windows(WSL 2有効化済み)Docker DesktopソースコードはLinuxファイルシステム側に置く
室谷室谷
WindowsはWSL 2(Windows Subsystem for Linux)が必要です。これが有効化されていないと動かないので注意です。
テキトー教師テキトー教師
WSL 2の有効化方法も含めて説明します。Windowsの場合はここが最初の難所になります。

macOSの事前準備

室谷室谷
macOSはDocker Desktopをインストールするだけです。からダウンロードしてインストールしてください。

インストール後にDocker Desktopを起動し、設定でCPU 2コア以上、メモリ8GB以上に変更するのを忘れずに。
テキトー教師テキトー教師
受講生さんでよくあるのが「Dockerはインストールしたけどメモリの割り当てを変更していなかった」という話です。デフォルト設定だと2GBしか割り当てられないことがあるので、Docker Desktopの「Settings → Resources」でメモリを増やしておきましょう。

WindowsのWSL 2設定

WindowsでのWSL 2とDockerの関係を示す図解(公式サイトより)

室谷室谷
WindowsはWSL 2の設定が必要ですが、最近のWindows 10/11なら比較的簡単に有効化できます。PowerShellで wsl --install を実行するだけで、WSL 2とUbuntuが一緒にインストールされます。
テキトー教師テキトー教師
その後にDocker Desktopをインストールして、Docker Desktopの設定で「Use the WSL 2 based engine」にチェックが入っていることを確認すればOKです。この設定が入っていないと、後述のDockerコマンドがWSL側で動かないことがあります。
室谷室谷
また、重要な注意点として、DifyのファイルはWindowsファイルシステム側(C:\Users...)ではなく、Linuxファイルシステム側(WSLのホームディレクトリ等)に置く必要があります。Windows側に置くとパフォーマンスが極端に落ちます。

Mac・LinuxでのDifyローカル環境構築

DifyをDocker Composeで起動したときのコンテナ一覧(公式サイトより)

テキトー教師テキトー教師
では実際の構築手順を見ていきましょう。Mac・Linuxは基本的に同じ手順です。
室谷室谷
手順は全部で4ステップです。コマンドを順番に打つだけで動くので、複雑さはないですよ。

Step 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
室谷室谷
このコマンドはGitHub APIで最新のリリースタグを自動取得してクローンしています。jqコマンドが必要なので、入っていない場合は先にインストールしてください。

macOSなら brew install jq で入ります。
テキトー教師テキトー教師
jqが入っていない場合は、単純に git clone https://github.com/langgenius/dify.git でもクローンできます。ただしmainブランチになりますので、安定版を使いたい場合はjqを入れる方がいいですね。

Step 2: dockerディレクトリに移動して設定ファイルをコピー

cd dify/docker
cp .env.example .env
室谷室谷
.env.example.envにコピーするだけです。デフォルト設定のままでも動きます。

後で必要に応じてAPIキーなどをここに書き込みます。
テキトー教師テキトー教師
.envファイルを直接編集してカスタマイズする機会はあとで出てくるので、今の段階ではコピーするだけで大丈夫です。

Step 3: Docker Composeで起動

テキトー教師テキトー教師
Docker Composeのバージョンによってコマンドが違います。
# Docker Compose V2(推奨)
docker compose up -d

# Docker Compose V1(古い環境の場合)
docker-compose up -d
室谷室谷
docker compose versionでバージョンを確認できます。最近のDocker Desktopに入っているのはV2なので、基本的に上のコマンドで大丈夫です。
テキトー教師テキトー教師
起動すると、以下のコンテナが立ち上がります。全部で11コンテナです。
  • コアサービス(5つ): api, worker, worker_beat, web, plugin_daemon
  • 依存コンポーネント(6つ): weaviate, db_postgres, redis, nginx, ssrf_proxy, sandbox
室谷室谷
初回起動は各コンテナのイメージをダウンロードするので数分かかります。ネット回線の速度によっては10分以上かかることもあります。

Step 4: 起動確認とアクセス

テキトー教師テキトー教師
起動後は docker compose ps で全コンテナが Up または healthy になっているか確認します。
docker compose ps
室谷室谷
全部 Up になったら、ブラウザで http://localhost/install にアクセスして管理者アカウントを設定します。設定が終わったら http://localhost でDifyのダッシュボードが開きます。
テキトー教師テキトー教師
ここが「やった!動いた!」の瞬間ですね(笑)。受講生さんがDifyを初めてローカルで動かしたときに「思ったより簡単だった」という反応が毎回返ってきます。

WindowsでのDifyローカル環境構築(WSL 2経由)

室谷室谷
Windowsの場合もDocker Desktopを使いますが、コマンドはWSLのターミナルから実行します。Windows側のコマンドプロンプトやPowerShellからは動かしません。
テキトー教師テキトー教師
これが混乱ポイントなんですよね。「Windowsを使っているのになぜLinuxのコマンドを打つの?」という疑問が出ます。

WSL 2を使うと、Windows上でLinux環境が動いて、その中でDockerが動く、という構造になっているからです。
室谷室谷
WSLを起動したら、Linuxファイルシステム内(例: ~/projects/)にDifyをクローンして、あとはMac・Linuxと同じ手順で進めます。
# WSLターミナルで実行
mkdir -p ~/projects
cd ~/projects
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d
テキトー教師テキトー教師
DifyのWindowsローカル環境構築でよく出る問題は「パスの混在」です。ファイルはWSL内に置く、コマンドもWSLターミナルで実行する、この2点を守れば大抵うまくいきます。
室谷室谷
海外のDocker公式ドキュメントにも「Windows with WSL 2の場合はLinuxファイルシステムにデータを置く」と明記されています。これはDifyに限らずDockerコンテナ全般の話で、Windows側のファイルシステムをマウントするとI/Oが遅くなるのが理由です。

Difyのアップグレード方法

テキトー教師テキトー教師
構築できたら次はアップグレードの話です。Difyは活発に開発されていて、新機能やバグ修正が頻繁にリリースされます。

ローカル環境では自分でアップグレードする必要があります。
室谷室谷
基本的な手順はシンプルです。ただし、大きなバージョンアップのときは追加の手順が必要なことがあるので、を必ず確認してください。
# dockerディレクトリで実行
docker compose down
git pull origin main
docker compose up -d
テキトー教師テキトー教師
アップグレード前に .env.example が更新されていないか確認する習慣をつけると良いですね。新しい設定項目が追加されていることがあります。
室谷室谷
.envファイルは git pull で上書きされないので安心してください。.envはGitignoreされています。

ローカルDifyにngrokで外部からアクセスする

ngrokとDockerを連携させてDifyを外部公開する設定(公式サイトより)

室谷室谷
少し応用的な話ですが、ローカルで動かしているDifyに外部からアクセスしたいケースがあります。例えばLINEボットやSlackボットとDifyのワークフローを連携する場合、DifyのAPIがパブリックなURLで公開されていないとWebhookが届きません。
テキトー教師テキトー教師
そこでngrokを使います。ngrokはローカルのポートを一時的にインターネット上に公開できるツールです。

でアカウントを作ってトークンを取得し、Dockerで連携させることで、外部からアクセスできるURLが発行されます。
室谷室谷
ngrokとDify Dockerの組み合わせはデモや検証環境としてかなり使えます。本番環境にはVPSへのデプロイを推奨しますが、まずローカルで動くことを確認してからサーバーに移す、という流れが開発的に楽ですね。
テキトー教師テキトー教師
ngrokを使う場合の注意点として、無料プランでは毎回URLが変わります。LINEやSlackのWebhook設定を毎回変更する手間があるので、継続的に使うなら有料プランか固定ドメインの設定を検討した方がいいですね。

よくあるエラーと対処法

テキトー教師テキトー教師
最後に、よくハマるエラーと対処法をまとめておきます。知っているかどうかで詰まる時間が全然違うので、事前に読んでおいてください。

コンテナが起動しない / すぐにExitになる

室谷室谷
docker compose ps でコンテナのStateが Exit になっている場合、ログを確認します。
docker compose logs api
docker compose logs db_postgres
テキトー教師テキトー教師
よくある原因はポートの競合です。80番や5432番(PostgreSQL)が別のプロセスで使われていると起動できません。

lsof -i :80 で確認して、競合しているプロセスを停止してください。

http://localhost にアクセスできない

室谷室谷
全コンテナが Up になっているのに localhost にアクセスできない場合、nginxコンテナのログを確認します。Macでよくあるのが「Docker Desktopのメモリ設定が足りなくて一部コンテナが落ちている」というケースです。

Docker Desktopの設定で8GB以上に設定し直してから docker compose restart してみてください。
テキトー教師テキトー教師
受講生さんから「全部Upなのにアクセスできない」という相談が来たとき、まずこれを確認してもらうと8割くらいは解決しています(笑)

Windowsで Permission denied エラーが出る

室谷室谷
Windowsユーザーによくあるケースです。DifyのファイルをWindowsファイルシステム側(/mnt/c/...)に置いているときに起きます。

WSLのホームディレクトリ(~/以下)にファイルを置き直して、再度 docker compose up -d を実行してください。これで解消します。
テキトー教師テキトー教師
これはDify固有の問題というより、Dockerコンテナ全般でWindowsファイルシステムをマウントするときに起きる権限問題です。開発環境で詰まったときの定番の対処法として覚えておいてください。

まとめ

テキトー教師テキトー教師
今回はDifyのローカル環境構築について、Mac/Linux/Windowsそれぞれの手順を解説しました。ポイントをまとめます。
  • Docker Composeを使えば git clonecp .env.example .envdocker compose up -d の3ステップで動く
  • DifyローカルのWindows環境構築では、WSL 2を経由してLinuxファイルシステム側にファイルを置く
  • ローカルDify自体は無料だが、LLMのAPIコールは別途費用がかかる
  • アップグレードは docker compose downgit pulldocker compose up -d の順
室谷室谷
ローカル環境で動かすことで、クラウド版では試しにくい設定変更や独自のプラグイン追加も自由にできます。DifyはGitHubで13万5,000スター以上を持つOSSで、開発が速いです。

まずローカルで自由に触りながら最新機能をキャッチアップするのが個人的なおすすめです。
テキトー教師テキトー教師
ローカル環境が整ったら、ぜひワークフローやエージェントの構築に進んでみてください。やも合わせてご覧ください。

出典

.AI TIMES一覧に戻る