BorisPolonsky/dify-helm
Deploy langgenious/dify, an LLM based app on kubernetes with helm chart.
dify‑helm – Dify LLM 驱动聊天机器人专用 Helm 图表
是什么 – 一个开箱即用的 Helm 图表,可在 Kubernetes 集群上部署开源的 Dify 应用程序(用于构建 LLM 聊天机器人的 Web UI + API)。该图表拉取官方 Dify Docker 镜像,通过反向代理将它们连接在一起,并可选择性地连接外部数据库、缓存、向量存储和对象存储。
为何重要 – 在生产环境中运行 LLM 支持的服务通常需要大量配置:多个微服务、安全的代码执行沙箱、后台工作进程和持久化存储。dify‑helm 将所有这些内容打包为一个 Helm 发布版本,让您仅需几条命令即可快速启动一个功能完整的聊天机器人平台。
快速入门(TL;DR)
helm repo add dify https://borispolonsky.github.io/dify-helm
helm repo update
helm install my-dify dify/dify # 添加自己的 values.yaml 进行自定义
要求 Kubernetes ≥ 1.23 和 Helm ≥ 3.12。
核心架构(如 README 所示)
- Ingress / 负载均衡器 – 可选的外部入口点。
- nginx 代理 – 将 HTTP 流量路由到相应的内部服务。
- API 服务(端口 5001) –
langgenius/dify-api– 用于工作流编排的 REST + Socket.IO。 - Web UI(端口 3000) –
langgenius/dify-web– 浏览器端聊天界面。 - Worker 与 Beat Pod – 用于后台任务和周期性任务的 Celery 工作进程。
- 沙箱 Pod –
dify-sandbox(代码执行)和dify-agent‑local‑sandbox(代理端 shell 命令),通过 SSRF 保护的 Squid 代理进行隔离。 - 插件守护进程 – 运行用户提供的插件。
- 代理后端 – 协调 LLM 驱动的代理。
- 数据层 – PostgreSQL/MySQL、Redis(缓存与 Celery 代理)、可选的向量数据库(Weaviate、Qdrant、Milvus、PGVector 等)。
- 存储层 – 支持本地 PVC 或任何主流云对象存储(S3、Azure Blob、GCS、阿里云 OSS、腾讯 COS、华为 OBS、火山引擎 TOS)。
可配置项
| 领域 | 可设置内容 |
|---|---|
| Ingress | 启用/禁用 Ingress 资源,选择主机名,TLS 设置 |
| 服务类型 | nginx 代理的 ClusterIP、LoadBalancer 或 NodePort |
| 外部依赖 | 指向现有 PostgreSQL/MySQL、Redis、向量数据库或对象存储端点,而非部署内置版本 |
| 资源限制 | 每个 Pod 的 CPU/内存请求与限制 |
| 持久化 | PostgreSQL、Redis 和文件存储的 PVC 大小 |
| 功能开关 | 启用/禁用沙箱、代理栈或插件守护进程 |
所有这些选项均在图表自身的 README.md 中有详细文档说明(可通过仓库链接访问)。
使用场景
- 自托管 LLM 聊天机器人 – 为内部团队或客户部署私有的 Dify 实例。
- 生产级 AI 服务 – 利用 Kubernetes 的扩展性、滚动更新和可观测性功能。
- 向量存储实验 – 无需更改应用代码即可在 Weaviate、Qdrant、Milvus 等之间切换。
- 安全代码执行 – 使用沙箱和 SSRF 代理安全地运行用户提供的 Python/JS 片段。
限制 / 注意事项
- 该图表仅打包部署,您仍需通过 Dify 配置提供自己的 LLM 模型端点(如 OpenAI、Azure OpenAI 或自托管模型)。
- 某些可选组件(如外部向量数据库)需要手动配置网络或凭据。
- README 中未包含健康检查或监控指南;如需,您需自行添加 Prometheus/Alertmanager。
贡献者
仓库显示由 contrib.rocks 生成的贡献者徽章,表明社区参与。
总结 – dify‑helm 是一个真正的、面向生产环境的 Helm 图表,将 Dify LLM 聊天机器人平台的所有组件打包在一起,使熟悉 Helm 的任何人能够轻松在 Kubernetes 上部署。
相关
- 项目
- 项目
- 项目
- 项目
- 项目