# dify-helm **Repository Path**: yqcjc/dify-helm ## Basic Information - **Project Name**: dify-helm - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-22 - **Last Updated**: 2026-01-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dify-helm [![Github All Releases](https://img.shields.io/github/downloads/borispolonsky/dify-helm/total.svg)]() [![Release Charts](https://github.com/BorisPolonsky/dify-helm/actions/workflows/release.yml/badge.svg)](https://github.com/BorisPolonsky/dify-helm/actions/workflows/release.yml) [![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/dify-helm)](https://artifacthub.io/packages/search?repo=dify-helm) Deploy [langgenius/dify](https://github.com/langgenius/dify), an LLM-based chatbot app on Kubernetes with Helm chart. ## Prerequisites - **Kubernetes**: 1.23+ - **Helm**: 3.12+ ## Installation ### TL;DR ```shell helm repo add dify https://borispolonsky.github.io/dify-helm helm repo update helm install my-release dify/dify ``` For customized installation, please refer to the [README.md](https://github.com/BorisPolonsky/dify-helm/blob/master/charts/dify/README.md) file. ## Network Architecture The following diagram illustrates the complete network architecture and service topology of the Dify Helm deployment: ```mermaid graph TB %% External Traffic Entry Points Internet[🌐 Internet] --> Ingress[🚪 Ingress Controller] Internet --> LB[⚖️ LoadBalancer Service] %% Main Traffic Flow Ingress --> ProxyService[🔄 Proxy Service
Port: 80] LB --> ProxyService %% Proxy Pod and Routing ProxyService --> ProxyPod[📦 Proxy Pod
nginx:latest
Port: 80] %% Backend Services Routing ProxyPod -->|API Endpoints| APIService[🔧 API Service
Port: 5001] ProxyPod -->|Web Pages| WebService[🌐 Web Service
Port: 3000] ProxyPod -->|Plugin Routes| PluginService[🔌 Plugin Daemon Service
Port: 5002] ProxyPod -->|Marketplace| MarketplaceAPI[🛒 Marketplace API
External] %% Backend Pods APIService --> APIPod[📦 API Pod
langgenius/dify-api:1.10.1-fix.1
Port: 5001] WebService --> WebPod[📦 Web Pod
langgenius/dify-web:1.10.1-fix.1
Port: 3000] PluginService --> PluginPod[📦 Plugin Daemon Pod
langgenius/dify-plugin-daemon:0.4.1-local
Ports: 5002, 5003] %% Worker Pod (Background Processing) WorkerPod[📦 Worker Pod
langgenius/dify-api:1.10.1-fix.1] %% Beat Pod (Periodic task scheduler) BeatPod[📦 Beat Pod
langgenius/dify-api:1.10.1-fix.1] %% Sandbox Service SandboxService[🏖️ Sandbox Service
Port: 8194] --> SandboxPod[📦 Sandbox Pod
langgenius/dify-sandbox:0.2.12
Port: 8194] %% SSRF Proxy Service SSRFService[🛡️ SSRF Proxy Service
Port: 3128] --> SSRFPod[📦 SSRF Proxy Pod
ubuntu/squid:latest
Port: 3128] %% Internal Communications APIPod -.->|Code Execution| SandboxService APIPod -.->|SSRF Protection| SSRFService APIPod -.->|Plugin Management| PluginService WorkerPod -.->|Background Tasks| APIPod %% Data Layer - Databases subgraph DataLayer [🗄️ Data Layer] PostgresService[🐘 PostgreSQL Service
Port: 5432] RedisService[🔴 Redis Service
Port: 6379] VectorDBService[🧮 Vector DB Service] end %% Database Connections APIPod -.->|Database Operations| PostgresService WorkerPod -.->|Database Operations| PostgresService PluginPod -.->|Database Operations| PostgresService APIPod -.->|Cache & Sessions| RedisService WorkerPod -.->|Task Processing| RedisService BeatPod -.->|Task Scheduling| RedisService APIPod -.->|Vector Storage| VectorDBService WorkerPod -.->|Vector Operations| VectorDBService %% Storage Layer subgraph StorageLayer [💾 Storage Layer] StorageType{Storage Type} LocalPVC[📁 Local PVC] S3Storage[☁️ AWS S3] AzureStorage[☁️ Azure Blob] GCSStorage[☁️ Google Cloud Storage] end %% Storage Connections APIPod -.->|File Storage| StorageType WorkerPod -.->|File Storage| StorageType PluginPod -.->|Plugin Storage| StorageType StorageType --> LocalPVC StorageType --> S3Storage StorageType --> AzureStorage StorageType --> GCSStorage %% Vector Database Options subgraph VectorOptions [🧮 Vector Database Options] WeaviateDB[🌊 Weaviate
Port: 8080] QdrantDB[⚡ Qdrant
Port: 6333] MilvusDB[🔍 Milvus
Port: 19530] PGVectorDB[🐘 PGVector
Port: 5432] end VectorDBService -.-> WeaviateDB VectorDBService -.-> QdrantDB VectorDBService -.-> MilvusDB VectorDBService -.-> PGVectorDB %% External Dependencies subgraph ExternalServices [🌐 External Services] ExternalDB[(🔧 External PostgreSQL/MySQL)] ExternalRedis[(🔴 External Redis)] ExternalVector[(🧮 External Vector DB)] ExternalStorage[(💾 External Object Storage)] end %% External Service Connections (Alternative) APIPod -.->|Alternative| ExternalDB APIPod -.->|Alternative| ExternalRedis APIPod -.->|Alternative| ExternalVector APIPod -.->|Alternative| ExternalStorage %% Styling classDef podClass fill:#e1f5fe,stroke:#0277bd,stroke-width:2px classDef serviceClass fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px classDef storageClass fill:#e8f5e8,stroke:#2e7d32,stroke-width:2px classDef externalClass fill:#fff3e0,stroke:#ef6c00,stroke-width:2px class APIPod,WebPod,WorkerPod,BeatPod,SandboxPod,SSRFPod,PluginPod podClass class APIService,WebService,SandboxService,SSRFService,PluginService,ProxyService serviceClass class PostgresService,RedisService,VectorDBService,WeaviateDB,QdrantDB,MilvusDB,PGVectorDB storageClass class ExternalDB,ExternalRedis,ExternalVector,ExternalStorage,S3Storage,AzureStorage,GCSStorage externalClass ``` ### Traffic Routing Rules The Nginx proxy handles traffic routing with the following rules: ```nginx /console/api → API Service (5001) /api → API Service (5001) /v1 → API Service (5001) /files → API Service (5001) /mcp → API Service (5001) /e/ → Plugin Daemon (5002) /explore → Web Service (3000) /marketplace → External Marketplace API /triggers → API Service (5001) / → Web Service (3000) [Default Route] ``` ### Core Components | Component | Image | Port | Role | |-----------|-------|------|------| | **API** | `langgenius/dify-api:1.10.1-fix.1` | 5001 | RESTful API server, business logic processing | | **Web** | `langgenius/dify-web:1.10.1-fix.1` | 3000 | Web UI frontend | | **Worker** | `langgenius/dify-api:1.10.1-fix.1` | - | Background task processing (Celery) | | **Beat** | `langgenius/dify-api:1.10.1-fix.1` | - | Periodic task scheduler (Celery Beat) | | **Sandbox** | `langgenius/dify-sandbox:0.2.12` | 8194 | Secure code execution environment | | **Plugin Daemon** | `langgenius/dify-plugin-daemon:0.4.1-local` | 5002, 5003 | Plugin management and execution | | **SSRF Proxy** | `ubuntu/squid:latest` | 3128 | External request security proxy | | **Nginx Proxy** | `nginx:latest` | 80 | Reverse proxy, load balancing | ### Supported External Components - [x] Redis (Standalone and Sentinel) - [x] External Database - [x] PostgreSQL - [x] MySQL - [x] Object Storage: - [x] Amazon S3 - [x] Microsoft Azure Blob Storage - [x] Alibaba Cloud OSS - [x] Google Cloud Storage - [x] Tencent Cloud COS - [x] Huawei Cloud OBS - [x] Volcengine TOS - [x] External Vector DB: - [x] Weaviate - [x] Qdrant - [x] Milvus - [x] PGVector - [x] Tencent Vector DB - [x] MyScaleDB - [x] TableStore - [x] Elasticsearch ## Contributors