Difyローカル環境構築ガイド|Docker・Ollama連携・自社サーバー運用
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への接続設定
- Dify管理画面にログイン
- 「設定」→「モデルプロバイダー」を開く
- 「Ollama」を選択
- Base URLに「http://host.docker.internal:11434」を入力
- モデル名(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での設定
- 「設定」→「モデルプロバイダー」→「Xinference」を選択
- Server URLに「http://host.docker.internal:9997」を入力
- デプロイしたモデルを選択して保存
本番環境の構成
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をローカル環境で運用することで、データプライバシーの確保やコスト削減が可能になります。
- ✅ Docker Composeで簡単セットアップ
- ✅ Ollamaで完全ローカルLLM環境
- ✅ Xinferenceでローカルエンベディング
- ✅ SSL対応・バックアップで本番運用
- ✅ GPUサポートで高速推論
GitHubリポジトリガイドや料金プランもあわせてご確認ください。外部サービスとの連携はn8n連携ガイドやMCP連携ガイドで解説しています。最新情報はDify最新ニュースでチェックできます。
関連トピック
関連ガイド
Dify MCP連携完全ガイド|Claude Desktop × Dify で AIワークフローを自動化
DifyとMCP(Model Context Protocol)を連携させて、Claude DesktopからDifyワークフローを直接操作する方法を解説。設定手順から実践的な活用例まで網羅。
Dify GitHub完全ガイド|セルフホスト構築からコントリビューションまで
DifyのGitHubリポジトリを徹底解説。Docker Composeでのセルフホスト構築、ローカル開発環境のセットアップ、コントリビューション方法まで網羅。
Dify料金プラン完全ガイド|無料・有料・セルフホストを徹底比較
Difyの料金体系を徹底解説。無料プラン(Sandbox)から法人向けEnterpriseまで、4つのプランの違いとセルフホスト版の費用を比較。最適なプランの選び方をご紹介します。