Difyトップに戻る

Difyローカル環境構築ガイド|Docker・Ollama連携・自社サーバー運用

2025年12月4日
15分で読了
中級
dify ローカルdify 自社サーバーdify オンプレミスdify セルフホスト

Difyをローカル環境・自社サーバーで動かす方法を解説。Docker Composeでの構築手順から、Ollamaとの連携によるローカルLLM活用まで詳しく説明します。Difyとは?料金比較もあわせてご確認ください。

ローカル環境でDifyを使うメリット

Difyをローカル環境で運用することで、以下のメリットが得られます。

  • データプライバシー: 機密データが外部に出ない
  • コスト削減: クラウドAPI利用料を抑制
  • カスタマイズ性: 環境を自由に構成可能
  • オフライン利用: インターネット接続なしで利用可能
  • コンプライアンス: データの所在地を管理

システム要件

最小要件

CPU 2コア以上
メモリ 4GB以上
ストレージ 20GB以上
OS Linux / macOS / Windows (WSL2)
Docker Docker 24.0+ / Docker Compose 2.0+
CPU 4コア以上
メモリ 8GB以上(ローカルLLM使用時は16GB以上)
ストレージ 50GB以上(SSD推奨)
GPU ローカルLLM使用時はNVIDIA GPU推奨

Docker Composeでのセットアップ

Step 1: リポジトリをクローン

GitHubリポジトリからソースコードを取得します:

git clone https://github.com/langgenius/dify.git
cd dify/docker

Step 2: 環境変数を設定

# テンプレートをコピー
cp .env.example .env

# 必要に応じて.envを編集
nano .env

主要な環境変数:

変数名 説明
SECRET_KEY セッション暗号化キー(自動生成可)
CONSOLE_WEB_URL 管理画面のURL
APP_WEB_URL アプリ公開URL
DB_USERNAME PostgreSQLユーザー名
DB_PASSWORD PostgreSQLパスワード

Step 3: サービスを起動

# 起動
docker compose up -d

# ログを確認
docker compose logs -f

Step 4: アクセス確認

起動後、以下のURLにアクセスできます:

  • 管理画面: http://localhost/install
  • API: http://localhost/v1

初回アクセス時にセットアップウィザードが表示されます。

Ollamaとの連携(ローカルLLM)

Ollamaを使用すると、完全にローカル環境でLLMを動かすことができます。

Ollamaのインストール

# macOS / Linux
curl -fsSL https://ollama.ai/install.sh | sh

# Windows
# https://ollama.ai/download からインストーラーをダウンロード

モデルのダウンロード

# Llama 3.2(軽量・高性能)
ollama pull llama3.2

# Code Llama(コード生成向け)
ollama pull codellama

# 日本語対応モデル
ollama pull gemma2

Difyへの接続設定

  1. Dify管理画面にログイン
  2. 「設定」→「モデルプロバイダー」を開く
  3. 「Ollama」を選択
  4. Base URLに「http://host.docker.internal:11434」を入力
  5. モデル名(llama3.2など)を指定して保存

ポイント: Dockerコンテナからホストマシンのサービスにアクセスするには、host.docker.internalを使用します。

ローカルEmbeddingモデル

RAG機能を完全ローカルで動かすには、Embeddingモデルもローカルで動かす必要があります。

Xinferenceを使用する方法

# Xinferenceをインストール
pip install xinference

# サーバーを起動
xinference-local --host 0.0.0.0 --port 9997

# Embeddingモデルをデプロイ
curl -X POST 'http://localhost:9997/v1/models' \
  -H 'Content-Type: application/json' \
  -d '{"model_name": "bge-base-en-v1.5", "model_type": "embedding"}'

Difyでの設定

  1. 「設定」→「モデルプロバイダー」→「Xinference」を選択
  2. Server URLに「http://host.docker.internal:9997」を入力
  3. デプロイしたモデルを選択して保存

本番環境の構成

SSL/HTTPS対応

本番環境ではSSL証明書を設定します。

# Nginx設定例(docker/nginx/conf.d/default.conf)
server {
    listen 443 ssl;
    server_name your-domain.com;

    ssl_certificate /etc/nginx/ssl/cert.pem;
    ssl_certificate_key /etc/nginx/ssl/key.pem;

    location / {
        proxy_pass http://web:3000;
        proxy_set_header Host $host;
    }
}

バックアップ戦略

# PostgreSQLのバックアップ
docker compose exec db pg_dump -U postgres dify > backup.sql

# ボリューム全体のバックアップ
docker run --rm -v dify_db_data:/data -v $(pwd):/backup \
  alpine tar cvf /backup/db_backup.tar /data

モニタリング

本番環境では以下の監視を推奨します:

  • Docker containers: Portainer / Watchtower
  • システムリソース: Prometheus + Grafana
  • ログ管理: ELK Stack / Loki

よくあるトラブルと解決策

メモリ不足エラー

# Docker Desktopのメモリ割り当てを増やす
# Settings → Resources → Memory を 8GB以上に設定

ポート競合

# 使用中のポートを確認
lsof -i :80
lsof -i :5432

# .envでポートを変更
EXPOSE_NGINX_PORT=8080

Ollama接続エラー

# Ollamaが起動しているか確認
ollama list

# 外部からの接続を許可
OLLAMA_HOST=0.0.0.0 ollama serve

よくある質問

Q: ローカル環境でもクラウドLLM(GPT-4など)は使えますか?

はい、環境変数でAPIキーを設定すれば、ローカル環境からクラウドLLMを呼び出せます。API連携ガイドでAPIの設定方法を詳しく解説しています。ハイブリッド構成も可能です。

Q: Windows環境での注意点は?

WSL2を使用してください。Windows Subsystem for Linux 2上でDockerを動かすのが最も安定した方法です。

Q: アップデートの方法は?

git pullで最新版を取得し、docker compose up -d --buildで再構築します。データはボリュームに保持されます。

Q: GPUを使うにはどうすればよいですか?

NVIDIA GPUの場合、nvidia-dockerをインストールし、docker-compose.ymlにGPU設定を追加します。

ローカル環境構築のご相談

Difyのローカル環境構築・運用をサポートします。
セキュリティ要件に合わせた最適な構成をご提案します。

無料相談を申し込む

まとめ

Difyをローカル環境で運用することで、データプライバシーの確保やコスト削減が可能になります。

  • ✅ Docker Composeで簡単セットアップ
  • ✅ Ollamaで完全ローカルLLM環境
  • ✅ Xinferenceでローカルエンベディング
  • ✅ SSL対応・バックアップで本番運用
  • ✅ GPUサポートで高速推論

GitHubリポジトリガイド料金プランもあわせてご確認ください。外部サービスとの連携はn8n連携ガイドMCP連携ガイドで解説しています。最新情報はDify最新ニュースでチェックできます。