Dify

Dify ローカルインストール手順と環境設定ガイド

ⓘ本ページはプロモーションが含まれています

DXの導入や効果にお悩みの担当者へ

スポンサードリンク
 状況別に選べる  

DXを前に進めたい、あなたの立場と目的は?

DXの推進には社内政治や人々のリテラシーなど組織の様々な壁が立ちはだかります。導入後も部署・全社のAIリテラシーを底上げしていき浸透させていく運用が重要です。目的に合った本を選びやり方を学ぶことでDXの成功と会社の成長をもたらすことができますよ。

▷ 硬直的な組織でDXを導入したいなら

【イノベーションOps 組織を動かすDX&AI導入プロセスのすべて】を購入する

机上の空論にならない実践的導入ができるようになります

▷ さらに様々な事例を学びAIリテラシーを底上げしたいなら

Kindle Unlimited 30日間無料で200万冊が読み放題 Kindle Unlimited をサブスクする

月額980円だけで読み放題。30日間無料なので、合わなければ解約してもOK

▶ その他では 【AIエージェント時代のDX ビジネスオーケストレーションの衝撃】を購入する / 生成AIカテゴリー が参考になります。


スポンサードリンク

インストール前提条件と環境準備

この章では、Dify をローカルで快適に動作させるために最低限必要なソフトウェアとハードウェアを確認します。Docker と Git が正しくインストールされていないと、後続の手順で頻繁にエラーが発生するため、ここでしっかりと環境を整えておきましょう。

Docker のインストール

Docker はコンテナ実行基盤として必須です。OS に合わせた公式パッケージを利用すれば、バージョン管理や依存関係の心配なく導入できます。

  • Windows / macOS
  • 公式ダウンロードページ(https://www.docker.com/products/docker-desktop/)から最新版の Docker Desktop を取得してください。インストーラを実行し、指示に従ってインストールします。インストール後は「Docker Desktop」を起動し、ターミナルで docker versiondocker compose version が正常に表示されることを確認します。
  • Ubuntu 20.04 以降
  • Ubuntu 向けの Docker Engine と Compose プラグインは公式リポジトリ経由でインストールできます。以下のコマンドを実行してください。

    bash
    sudo apt-get update
    sudo apt-get install -y ca-certificates curl gnupg lsb-release

    Docker の公式 GPG 鍵とリポジトリを追加

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
    https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

    sudo apt-get update
    sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

    現在のユーザーを docker グループに追加(再ログインが必要)

    sudo usermod -aG docker $USER

  • インストール後は docker versiondocker compose version が正しく表示されることを確認してください。

注意:Ubuntu のデフォルト設定では host.docker.internal が利用できません。Docker Desktop が提供する名前解決が無い環境では、代わりに以下のいずれかを使用します。
1. コンテナ起動時に --add-host=host.docker.internal:host-gateway を付与して名前解決を追加。
2. ホスト側の IP アドレス(例:172.17.0.1)を直接指定する。

Git のセットアップ

Git はリポジトリ取得やブランチ操作に不可欠です。インストール手順はシンプルですが、バージョンが古いと HTTPS 認証でエラーになることがあります。

  • Windows / macOS:公式サイト(https://git-scm.com/downloads)から OS に合ったインストーラをダウンロードし、標準設定のままでインストールします。
  • Ubuntu:次のコマンドで最新版を取得できます。

bash
sudo apt-get install -y git

インストール後は git --version が表示されることを確認してください。

OS 別注意点(CPU・メモリ要件)

OS 推奨 CPU コア数 推奨メモリ 主な留意点
Windows 10/11 (WSL2 必須) ≥4 コア 8 GB以上 WSL2 のディストリビューションは Ubuntu 22.04 を推奨。Docker Desktop の「Resources → Memory」を 6 GB 以上に設定すると安定します。
macOS Ventura+ (Apple Silicon 推奨) ≥4 コア 8 GB以上 Docker Desktop は HyperKit(Apple Silicon)または virtiofs を使用。不要イメージは docker system prune -a で削除してください。
Ubuntu 20.04+ ≥2 コア 4 GB以上 cgroup v2 が有効か確認 (cat /proc/filesystems | grep cgroup2)。Docker Desktop が無い場合は docker compose プラグインを別途インストールしてください。

自己チェックリスト
- Docker のバージョンが表示される ✔️
- Git が利用可能か確認できた ✔️
- 推奨 CPU/メモリを満たしている ✔️


公式リポジトリの取得とブランチ選択

この章では、Dify のソースコードをローカルにクローンし、運用目的に合わせて適切なブランチを選ぶ手順を解説します。安定版と開発版の違いを理解した上で作業すると、予期せぬ破壊的変更に遭遇するリスクが低減します。

Git clone の実行例

stable と main ブランチの特徴と選び方

ブランチ 特徴 推奨シーン
stable(デフォルト) 2025 年末までにタグ付けされた安定リリース。バグ修正のみがマージされるため予測可能性が高い。 本番環境・長期運用、機能追加は後からプラグインで実装したい場合
main 開発中の最新コミットが集約。新機能やモデルサポートが早く利用できるが、破壊的変更が混入する可能性あり。 実験・検証環境、最新プラグインを試したいとき

推奨フロー:まずは stable ブランチでインストールし、動作確認後に必要なら main へ切り替えて機能拡張を行います。


環境変数設定と docker‑compose.yml の主要サービス解説

Dify は .env ファイルで環境依存情報を一元管理し、docker-compose.yml が全コンテナの構成を定義します。この章では .env の正しい作成手順PostgreSQL イメージのバージョン固定 を含めたサービス設定のポイントを詳しく紹介します。

.env ファイルの作成と SECRET_KEY の生成方法

  1. サンプルファイルからコピー
    bash
    cp .env.sample .env

  2. エディタで開く(VS Code, nano など)
    bash
    code .env # VS Code を使用する例

  3. 必須変数を埋める

変数名 説明 推奨記入例
APP_HOST Web UI がバインドするホストアドレス 0.0.0.0
APP_PORT 公開ポート番号 3000
DATABASE_URL PostgreSQL 接続文字列 postgresql://dify_user:dify_pass@postgres:5432/dify_db
REDIS_URL Redis 接続文字列 redis://redis:6379/0
SECRET_KEY Django が使用する暗号化キー(ランダム 32 バイト以上) 生成手順
OPENAI_API_KEY 外部 LLM 利用時の API キー(任意) sk-xxxx...
  1. SECRET_KEY の具体的生成コマンド

bash
# 64 桁の十六進文字列を生成し、.env に書き込む例
SECRET=$(openssl rand -hex 32)
sed -i "s|^SECRET_KEY=.*$|SECRET_KEY=${SECRET}|g" .env

上記コマンドは openssl がインストールされている前提です。生成後、.env の該当行がランダム文字列に置き換わっていることを確認してください。

  1. 最終チェック
    bash
    cat .env | grep -E 'APP_HOST|APP_PORT|DATABASE_URL|REDIS_URL|SECRET_KEY'

docker‑compose.yml のサービス構成とバージョン固定

以下は公式リポジトリに含まれる docker-compose.yml の抜粋です。PostgreSQL のイメージタグを明示的に固定(例: postgres:15-alpine)することで、将来的な互換性問題を回避できます。

カスタマイズ例

サービス 主なカスタマイズ項目 具体的変更例
web ポート、環境変数 "8080:3000" に変更すれば外部と衝突しにくい
worker ワーカー数(スケール) deploy: {replicas: 3} を追加して同時処理を増やす
postgres データベース名・ユーザー POSTGRES_DB: mydifydb に変更したら .envDATABASE_URL も合わせて更新
nginx (本番向け) SSL 証明書マウント ./certs:/etc/nginx/certs をボリュームに追加し、443:443 ポートを公開

Docker Compose 実行・Web UI アクセス・ローカル LLM 連携

この章ではコンテナ起動から管理画面へのログイン、さらにローカルで実行する Ollama と Dify の接続手順までを一気通貫で説明します。各ステップの成功判定ポイントも併せて記載しているので、トラブル時にすぐ対処できます。

コンテナ起動とログ確認

  • 正常時の目安は web_1 | Uvicorn running on http://0.0.0.0:3000 のように「Uvicorn running」メッセージが出ていることです。
  • もし postgres_1 | FATAL: password authentication failed for user "dify_user" が表示されたら、.envdocker-compose.yml の PostgreSQL 環境変数を再確認してください。

初回管理者アカウント作成

  1. ブラウザで http://localhost:${APP_PORT}(例: http://localhost:3000)にアクセス。
  2. 「Create your account」画面が表示されたら、メールアドレスとパスワードを入力し「Sign up」。
  3. ローカル環境ではメール送信は不要です。DJANGO_EMAIL_BACKEND=console.EmailBackend がデフォルトでコンソールに認証コードを出力するため、画面の指示どおりに進めれば管理ダッシュボードへ遷移します。

Ollama のインストールと Dify への登録

  1. Ollama 本体の取得
  2. 公式サイト(https://ollama.com/download)から OS に合わせたバイナリを取得してください。macOS は Homebrew (brew install ollama) 、Ubuntu は curl -fsSL https://ollama.com/install.sh | sh が推奨です。

  3. デーモン起動

bash
ollama serve &

  1. モデルダウンロード(例:Llama 3)

bash
ollama pull llama3

  1. Dify 側でエンドポイントを設定
  2. 管理画面 → 「LLM Providers」 → 「Add Provider」
  3. 名前: Ollama Local、タイプ: OpenAI Compatible(Ollama は OpenAI 互換 API)
  4. エンドポイント URL:

    • Mac / Windowshttp://host.docker.internal:11434/v1
    • Ubuntuhttp://172.17.0.1:11434/v1(Docker のブリッジネットワーク IP)または docker run --add-host=host.docker.internal:host-gateway … で名前解決を追加
  5. API キーは不要なので空欄のままで保存。

  6. モデル登録

  7. 管理画面 → 「Models」 → 「Add Model」
  8. プロバイダーに先ほど作成した Ollama Local、モデル名 llama3 を選択し保存します。

ポイント:Ubuntu 環境で host.docker.internal が解決できない場合は、docker compose up 時に --add-host=host.docker.internal:host-gateway オプションを付与するか、ホスト側のブリッジ IP(通常 172.17.0.1)を直接指定してください。


トラブルシューティング・アップデート・バックアップ

本章では実務で遭遇しやすいエラーとその対処法、さらに安全にバージョンアップする手順と永続データのバックアップ方法をまとめます。予防策を事前に把握しておくことで、ダウンタイムを最小限に抑えることができます。

代表的エラーと対処法

エラーシナリオ 原因例 解決策
ポート競合 (address already in use) 他プロセスが同じポートを使用中 .envAPP_PORT を未使用の番号に変更し、docker compose up -d --build で再起動
メモリ不足(OOM キラー) Docker Desktop のメモリ割り当てが低い Settings → Resources → Memory を 6 GB 以上に増やす。ワーカー数を減らしたい場合は worker コンテナの --concurrency 環境変数で調整
PostgreSQL 接続エラー (password authentication failed) .env とコンテナ内部環境変数が不一致 .envDATABASE_URLPOSTGRES_PASSWORD を合わせ、docker compose down -v && docker compose up -d でボリューム再作成
権限エラー (Permission denied: '/data') ホスト側マウントディレクトリの所有者が root sudo chown -R $USER:$USER ./data または Windows の共有設定でフルアクセスを付与
host.docker.internal が解決できない(Ubuntu) Docker Desktop が無い環境 起動時に --add-host=host.docker.internal:host-gateway を付加、またはブリッジ IP (172.17.0.1) を直接使用

アップデート手順

  1. Git リポジトリを最新化(stable ブランチの場合)

bash
git fetch origin
git checkout stable
git pull origin stable

  1. コンテナの再構築

bash
docker compose down # コンテナ停止、ボリュームは保持
docker compose up -d --build # 再ビルドして起動

  1. マイグレーションが必要な場合(バージョン間で DB スキーマが変わるケース)

bash
docker compose exec web python manage.py migrate

重要docker compose down -v と実行すると永続ボリュームが削除され、データが失われます。必ずバックアップを取得してから実施してください。

Docker Volume のバックアップと復元

バックアップ手順(例:postgres データ)

  • ポイントdify_postgres_datadocker-compose.yml に記載された永続ボリューム名です。上記コマンドは Alpine コンテナを一時的に起動し、データディレクトリ全体を圧縮してホストのカレントフォルダへ保存します。

復元手順

  • 復元後は docker compose up -d でコンテナを再起動し、アプリが正常にデータベースへ接続できることを確認してください。

まとめ

  • 前提条件:Docker Desktop(公式ページから取得)または Ubuntu 向け Docker Engine と Compose プラグインを導入し、CPU ≥4 コア・メモリ ≥8 GB の環境を確保する。Ubuntu 環境では host.docker.internal が利用できない点に注意し、代替手段(--add-host かブリッジ IP)を準備しておく。
  • リポジトリ取得git clone https://github.com/langgenius/dify.gitstable ブランチで作業し、必要に応じて main に切り替えるフローが安全。
  • 環境変数設定.env.sample.env にコピーし、SECRET_KEYopenssl rand -hex 32 等で生成した文字列を直接書き込む手順を明示。
  • docker‑compose.yml:主要サービス(web, worker, redis, postgres, nginx)とカスタマイズポイントを把握し、PostgreSQL のイメージは postgres:15-alpine とバージョン固定することで将来の互換性リスクを回避。
  • コンテナ起動・確認docker compose up -ddocker compose logs -f で正常起動を確認し、ブラウザから管理画面にアクセスして初期ユーザーを作成。
  • ローカル LLM(Ollama)連携:Ollama をインストール・モデル取得後、Dify の「LLM Providers」に OpenAI 互換エンドポイントとして登録。Ubuntu の場合は host.docker.internal が使えないので IP 指定か --add-host が必須。
  • トラブル対策:ポート競合・メモリ不足・DB 認証エラー・権限問題のチェックリストを用意し、適切に設定変更できるようにする。
  • 保守とバックアップgit pulldocker compose down && docker compose up -d --build で安全にバージョンアップし、docker run … tar czf による永続ボリュームの定期バックアップを実施する。

上記手順と注意点を守れば、Docker と Git が扱えるエンジニアは数十分で Dify のローカル環境構築が完了し、オフラインでも高速に生成 AI を体験できるようになります。ぜひ本ガイドをベースに、独自のプラグインやデータパイプラインと組み合わせた高度な活用へとステップアップしてください。

スポンサードリンク

DXの導入や効果にお悩みの担当者へ

スポンサードリンク
 状況別に選べる  

DXを前に進めたい、あなたの立場と目的は?

DXの推進には社内政治や人々のリテラシーなど組織の様々な壁が立ちはだかります。導入後も部署・全社のAIリテラシーを底上げしていき浸透させていく運用が重要です。目的に合った本を選びやり方を学ぶことでDXの成功と会社の成長をもたらすことができますよ。

▷ 硬直的な組織でDXを導入したいなら

【イノベーションOps 組織を動かすDX&AI導入プロセスのすべて】を購入する

机上の空論にならない実践的導入ができるようになります

▷ さらに様々な事例を学びAIリテラシーを底上げしたいなら

Kindle Unlimited 30日間無料で200万冊が読み放題 Kindle Unlimited をサブスクする

月額980円だけで読み放題。30日間無料なので、合わなければ解約してもOK

▶ その他では 【AIエージェント時代のDX ビジネスオーケストレーションの衝撃】を購入する / 生成AIカテゴリー が参考になります。


-Dify