要求

这是测试环境部署或预发布环境部署的推荐配置。你可以根据自己的需求调整配置。

  • Kubernetes 集群
    • 1 个工作节点:4 CPU,16 GB RAM
  • 容器镜像仓库
    • AWS ECR(使用 AK/SK 或 IRSA)/ Azure ACR / Aliyun ACR / Tencent TCR / Dockerhub
  • 持久化存储
    • S3 / AWS S3(使用 AK/SK 或 IRSA)/ Azure Blob / Aliyun OSS / Tencent COS
    • 100 GB 存储
  • Postgres 数据库
    • 版本 14+
    • 2 CPU,4 GB RAM
    • 256 GB 存储
  • Redis 数据库
    • 版本 6+
    • 1 GB RAM
  • 向量数据库虚拟机 - Qdrant 单节点
    • 1 个虚拟机
    • 4 CPU,8 GB RAM
    • 100 GB 存储

部署

1. 获取 Helm 仓库信息

helm repo add dify https://langgenius.github.io/dify-helm
helm repo update

有关更多信息,请参阅 Dify Helm Chart

2. 保存 Helm Chart 值

  • 将 Helm chart 值保存到名为 values.yaml 的文件中。
  • 使用你的配置更新 values.yaml 文件。
  • 请将 #REPLACE_ME# 占位符替换为你的实际值。
  • 请将 “dify123456” 替换为你自己的值。
###################################
# Please replace "dify123456" with your own value
###################################
global:
  appSecretKey: 'dify123456'
  consoleApiDomain: "console.dify.local"
  consoleWebDomain: "console.dify.local"
  serviceApiDomain: "api.dify.local"
  appApiDomain: "app.dify.local"
  appWebDomain: "app.dify.local"
  filesDomain: "upload.dify.local"
  enterpriseDomain: "enterprise.dify.local"

ingress:
  enabled: true
  className: "nginx"
  annotations: {
    # set file upload size limit
    nginx.ingress.kubernetes.io/proxy-body-size: "15m"
  }

api:
  replicas: 3
  serverWorkerAmount: 1
  innerApi:
    apiKey: "dify123456"
worker:
  replicas: 3
  celeryWorkerAmount: 1
web:
  replicas: 1
sandbox:
  replicas: 1
  apiKey: "dify123456"
enterpriseAudit:
  replicas: 1
enterprise:
  replicas: 1
  appSecretKey: "dify123456"
  adminAPIsSecretKeySalt: "dify123456"
  innerApi:
    apiKey: "dify123456"
enterpriseFrontend:
  replicas: 1
ssrfProxy:
  enabled: true
  replicas: 1
unstructured:
  enabled: true
  replicas: 1
plugin_daemon:
  replicas: 1
  apiKey: "dify123456"
plugin_controller:
  replicas: 1
plugin_connector:
  replicas: 1
  apiKey: "dify123456"
gateway:
  replicas: 1

###################################
# Persistence Configration
###################################
persistence:
  type: "s3"
  s3:
    endpoint: "https://xxx.r2.cloudflarestorage.com"
    accessKey: "#REPLACE_ME#"
    secretKey: "#REPLACE_ME#"
    region: "us-east-1"
    bucketName: "your-bucket-name"
    addressType: ""
    useAwsManagedIam: false
    useAwsS3: true

###################################
# External postgres
###################################
externalPostgres:
  enabled: true
  address: "#REPLACE_ME#"
  port: 5432
  credentials:
    dify:
      database: "dify"
      username: "postgres"
      password: "#REPLACE_ME#"
      sslmode: "require"
    plugin_daemon:
      database: "dify_plugin_daemon"
      username: "postgres"
      password: "#REPLACE_ME#"
      sslmode: "require"
    enterprise:
      database: "enterprise"
      username: "postgres"
      password: "#REPLACE_ME#"
      sslmode: "require"
    audit:
      database: "audit"
      username: "postgres"
      password: "#REPLACE_ME#"
      sslmode: "require"

###################################
# External Redis
###################################
externalRedis:
  enabled: true
  host: "#REPLACE_ME#"
  port: 6379
  username: ""
  password: "#REPLACE_ME#"
  useSSL: false

###################################
# External Qdrant
###################################
vectorDB:
  useExternal: true
  externalType: "qdrant"
  externalQdrant:
    endpoint: "http://your-qdrant-cluster-url.qdrant.tech/"
    apiKey: "#REPLACE_ME#"

imagePullSecrets: []

3. 配置 容器镜像仓库

4. 配置 Persistence Storage

5. 配置 External postgres

6. 配置 External Redis

7. 配置 External Qdrant

8. 配置 Ingress Controller

9. 安装 Dify Helm Chart

helm upgrade -i dify -f values.yaml dify/dify

10. 验证安装结果

高级配置

1. 域名与 SSL 证书

2. 邮件服务提供商

3. 性能调优