BorisPolonsky/dify-helm

Deploy langgenious/dify, an LLM based app on kubernetes with helm chart.

What it solves

This project provides a Helm chart to simplify the deployment of Dify, an LLM-based chatbot application, on Kubernetes clusters. It handles the complex orchestration of multiple backend services, databases, and proxies required to run the platform at scale.

How it works

It uses Helm to automate the installation of a comprehensive network architecture consisting of several key components:

  • Core Services: Deploys the API server, Web UI frontend, background workers (Celery), and a periodic task scheduler (Beat).
  • Execution Environments: Sets up a secure Sandbox for code execution and a Local Sandbox for agent shell execution.
  • Agent & Plugin Infrastructure: Orchestrates an Agent Backend for run orchestration and a Plugin Daemon for managing and executing plugins.
  • Traffic Management: Uses an Nginx proxy to route traffic between the web frontend, API endpoints, and plugin services.
  • Data Layer: Integrates with various databases (PostgreSQL, MySQL), caches (Redis), and vector databases (such as Weaviate, Qdrant, Milvus, or PGVector).
  • Storage: Supports local PVCs or external object storage like AWS S3, Azure Blob, and Google Cloud Storage.

Who it’s for

DevOps engineers and platform teams who want to deploy and manage Dify on Kubernetes to ensure high availability and scalability.

Highlights

  • Comprehensive Orchestration: Manages the entire Dify stack including API, Web, Worker, and Sandbox components.
  • Flexible Data Storage: Supports a wide array of external databases, vector DBs, and object storage providers.
  • Enterprise-ready Networking: Includes an SSRF security proxy and Nginx reverse proxy for secure and external traffic routing.
  • Kubernetes Native: Built for Kubernetes 1.23+ and Helm 3.12+.

Related

  • Project
  • Project
  • Project
  • Project
  • Project