Skip to main content

Requirements

If you can scale resources as needed, or refer to our Performance Tuning documentation.
  • Kubernetes Cluster
    • 6 Worker Nodes: 8 CPU, 32 GB RAM each
  • Container Registry (Plugins)
    • AWS ECR (with AK/SK or IRSA) / Azure ACR / Aliyun ACR (with AK/SK) / Tencent TCR (with AK/SK) / Dockerhub / Google Artifact Registry
  • Persistent Storage
    • S3 / AWS S3 (with AK/SK or IRSA) / Azure Blob / Aliyun OSS (with AK/SK) / Tencent COS (with AK/SK) / Google GCS
    • 512 GB Storage
  • Postgres Database
    • Version 14+
    • 8 CPU, 16 GB RAM
    • At least 512G SSD
  • Redis Database
    • Version 6+
    • 2 GB RAM
  • Vector Database VM - Qdrant Cluster
    • 3 VMs
    • 8 CPU, 64 GB RAM
    • 100 GB Storage

Dify Service Resource limits

workerBeat should always run as a single replica.
Sandbox Pods are created dynamically per Agent session and are not included in the table above. Running N concurrent Agent sessions requires extra headroom of roughly (N + warmPoolReplicas) x per-sandbox limits (1 CPU / 1 GB by default), and the agent-sandbox controller must be pre-installed in the cluster. See Agent Sandbox Deployment.

Deployment

1. Get Helm Repository Info

For more information, please refer to Dify Helm Chart.

2. Save Helm Chart Values

  • Save Helm chart values to a file named values.yaml.
  • Update the values.yaml file with your configuration.
  • Please replace the #REPLACE_ME# placeholder with your actual values.
  • Please replace “dify123456” with your own value.
  • global.appSecretKey and enterprise.appSecretKey must be different.

3. Configure Container Registry

4. Configure Persistence Storage

5. Configure External Database

6. Configure External Redis

7. Configure External Qdrant

8. Configure Ingress Controller

9. Install Dify Helm Chart

10. Verify Installation Results

Advanced Configuration

1. Domain and SSL Certificate

2. Email Service Provider

3. Performance Tuning