ローカルサーバーにソースコードをgit cloneし、Dockerを使ってDify一式を構築し、docker-compose.yaml内のすべてのリソースを参照したいのですが、その際の基本的な構成要件はどのくらいになりますか?
ソースコードはどこからダウンロードしたのですか?上に説明がありますよ、もう一度見てください。
こんにちは!ローカルでソースコードと Docker Compose を使用して完全な Dify をデプロイするには、公式ドキュメントには厳密な「最小構成表」は記載されていませんが、コミュニティの経験とコンテナコンポーネントの実際の消費量に基づき、以下に推奨される構成要件を示します。
基本構成要件
Dify の docker-compose.yaml は、同時に約 9 つのコンテナを起動するため(API、Worker、フロントエンド、PostgreSQL、Redis、Weaviate/Qdrant ベクトルデータベース、Sandbox などを含む)、メモリに一定の要件があります。
- CPU: 推奨 2 vCPU 以上(パフォーマンス向上のため 4 vCPU を推奨)。
- メモリ (RAM):
- 最小起動: 4 GB(動作が遅くなったり、OOM (Out Of Memory) エラーが発生しやすくなる可能性があります)。
- 推奨構成: 8 GB 以上(PostgreSQL とベクトルデータベースの安定稼働を保証するため、特にドキュメントをアップロードしてインデックスを作成する場合)。
- ストレージ: 30 GB - 50 GB 以上のスペースを確保することを推奨します(Docker イメージ、ログ、データベースデータ、アップロードされたファイルの保存用)。
ソフトウェア環境要件
- オペレーティングシステム: Linux (Ubuntu 20.04/22.04 など), macOS, または Windows (WSL2)。
- Docker: 最新版の Docker Desktop または Docker Engine のインストールを推奨します。
- Docker Compose: Docker Compose V2 の使用を推奨します。
これらのリソースが必要な理由
完全なデプロイには以下の主要コンポーネントが含まれており、それぞれリソースを消費します。
- Web & API: Python (Flask) アプリケーション、リクエストを処理します。
- Worker: 非同期タスクキュー、複雑なエージェント推論とファイル解析を処理します。
- PostgreSQL: ビジネスデータを保存します。
- Redis: キャッシュとセッションストレージ。
- Weaviate/Qdrant: ベクトルデータベース(これは通常、特にナレッジベースのデータ量が増加すると、メモリ消費の大部分を占めます)。
- Sandbox: コード実行サンドボックス。
もしサーバーのリソースが限られている場合は、docker-compose.yaml の設定を変更するか、Worker のレプリカ数を減らすことを検討してください(デフォルト設定は通常すでに非常に簡素化されています)。
関連ドキュメント:
これがお役に立てば幸いです!