BorisPolonsky/dify-helm
Deploy langgenious/dify, an LLM based app on kubernetes with helm chart.
dify‑helm – Dify LLM 기반 챗봇을 위한 Helm 차트
무엇인가요 – 오픈소스 Dify 애플리케이션(LLM 챗봇 구축용 웹 UI + API)을 Kubernetes 클러스터에 바로 사용 가능한 Helm 차트로 설치하는 것입니다. 이 차트는 공식 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. - 웹 UI (포트 3000) –
langgenius/dify-web– 브라우저 기반 챗 인터페이스. - 워커 및 비트 포드 – 백그라운드 작업 및 주기적 작업용 Celery 워커.
- 사전 포드 –
dify-sandbox(코드 실행) 및dify-agent‑local‑sandbox(에이전트 측 쉘 명령어)로, SSRF 보호를 위한 Squid 프록시 뒤에 격리됨. - 플러그인 데몬 – 사용자 제공 플러그인을 실행.
- 에이전트 백엔드 – LLM 기반 에이전트를 오케스트레이션.
- 데이터 레이어 – PostgreSQL/MySQL, Redis (캐시 및 Celery 브로커), 선택 가능한 벡터 DB (Weaviate, Qdrant, Milvus, PGVector 등).
- 스토리지 레이어 – 로컬 PVC 또는 주요 클라우드 객체 스토리지(S3, Azure Blob, GCS, Alibaba OSS, Tencent COS, Huawei OBS, Volcengine TOS)를 지원.
설정 가능한 항목
| 영역 | 설정 가능한 사항 |
|---|---|
| Ingress | Ingress 리소스 활성화/비활성화, 호스트 이름, TLS 선택 |
| 서비스 유형 | nginx 프록시의 ClusterIP, LoadBalancer, NodePort |
| 외부 종속성 | 차트가 내장한 것 대신 기존 PostgreSQL/MySQL, Redis, 벡터 DB, 객체 스토리지 엔드포인트에 연결 |
| 리소스 제한 | 각 포드의 CPU/Memory 요청 및 제한 |
| 지속성 | PostgreSQL, Redis, 파일 스토리지용 PVC 크기 |
| 기능 토글 | 사전, 에이전트 스택, 플러그인 데몬의 활성화/비활성화 |
이 모든 옵션은 차트 자체의 README.md에 문서화되어 있으며(리포지토리에서 링크됨) 설명되어 있습니다.
사용하는 경우
- 자체 호스팅 LLM 챗봇 – 내부 팀이나 고객을 위한 개인 Dify 인스턴스를 배포.
- 프로덕션 수준 AI 서비스 – Kubernetes의 확장성, 롤링 업데이트, 모니터링 기능을 활용.
- 벡터 스토어 실험 – 애플리케이션 코드를 변경하지 않고 Weaviate, Qdrant, Milvus 등으로 전환 가능.
- 보안 코드 실행 – 사전과 SSRF 프록시를 사용해 사용자 제공 Python/JS 스니펫을 안전하게 실행.
제한 사항 / 참고 사항
- 이 차트는 배포만 패키지화하며, Dify 설정을 통해 자체 LLM 모델 엔드포인트(예: OpenAI, Azure OpenAI, 또는 자체 호스팅 모델)를 제공해야 합니다.
- 일부 선택적 구성 요소(예: 외부 벡터 DB)는 네트워크/자격 증명을 수동으로 설정해야 합니다.
- README에는 헬스체크 또는 모니터링 가이드가 포함되어 있지 않으며, 필요 시 Prometheus/Alertmanager를 별도로 추가해야 합니다.
기여자
리포지토리는 contrib.rocks로 생성된 기여자 배지가 표시되어 있으며, 커뮤니티 참여를 나타냅니다.
결론 – dify‑helm은 Dify LLM 챗봇 플랫폼의 모든 구성 요소를 하나로 묶은 진정한 프로덕션 중심의 Helm 차트로, Helm에 익숙한 사용자라면 Kubernetes 배포를 간단하고 확실하게 수행할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트