Skip to main content
LLM 애플리케이션 개발 플랫폼입니다. 코드 없이 웹 UI에서 챗봇, RAG, AI Agent, 워크플로우 등을 구성할 수 있습니다.

어디에 쓰이나요?

  • RAG 챗봇: PDF, 웹페이지 등의 문서를 업로드하고 문서 기반 질의응답 챗봇 구축
  • AI Agent: 외부 도구(검색, 계산기, API 호출 등)를 활용하는 자율형 AI 에이전트 구성
  • 워크플로우: 여러 LLM 호출과 조건 분기를 연결하여 복잡한 AI 파이프라인 설계
  • 프롬프트 관리: 프롬프트 버전 관리, A/B 테스트, 성능 모니터링
OpenAI, Anthropic, Ollama 등 다양한 LLM 제공자를 연결할 수 있으며, 완성된 애플리케이션은 API 또는 공유 링크로 배포할 수 있습니다.

Docker Compose

Dify는 공식 저장소의 Docker Compose 파일을 사용합니다.
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
.env 파일에서 필요한 설정을 수정합니다.
# .env 파일 주요 설정
SECRET_KEY=sk-your-secret-key-here
INIT_PASSWORD=changeme

실행

docker compose up -d
초기 실행 시 여러 컨테이너(api, worker, web, db, redis, nginx 등)가 함께 시작됩니다. 전체 기동까지 1~2분 정도 소요될 수 있습니다.

접속 확인

브라우저에서 http://localhost/install로 접속하여 관리자 계정을 생성합니다. 설정 완료 후 http://localhost에서 로그인합니다.

기본 정보

항목
웹 UI 포트80
API 포트5001
기본 관리자 비밀번호.env의 INIT_PASSWORD

포함된 서비스

Dify는 다음 서비스들을 함께 실행합니다.
서비스역할
api백엔드 API 서버
worker비동기 작업 처리 (Celery)
web프론트엔드 (Next.js)
dbPostgreSQL 데이터베이스
redis캐시 및 메시지 큐
nginx리버스 프록시
sandbox코드 실행 샌드박스
weaviate/qdrant벡터 데이터베이스 (선택)

주요 환경 변수 (.env)

변수설명
SECRET_KEY애플리케이션 시크릿 키
INIT_PASSWORD초기 관리자 비밀번호
LOG_LEVEL로그 레벨 (DEBUG, INFO, WARNING, ERROR)
VECTOR_STORE벡터 DB 종류 (weaviate, qdrant, milvus 등)
OPENAI_API_KEYOpenAI API 키 (모델 사용 시)

업데이트

cd dify/docker
git pull origin main
docker compose down
docker compose pull
docker compose up -d

라이선스

구분내용
라이선스Apache License 2.0 (Community), 상용 라이선스 (Enterprise)
개인 사용자유롭게 사용 가능
상업적 사용Community 에디션은 자유롭게 사용 가능. 로고/브랜드 제거 시 상업적 라이선스 필요. Enterprise는 SSO, 감사 로그 등 추가 기능 포함

참고

설치 점검 목록

  • docker compose up -ddocker compose ps로 컨테이너 상태를 확인했습니다.
  • 기본 포트/계정/비밀번호를 문서대로 점검했습니다.
  • 운영용으로 사용할 때 기본 비밀번호/시크릿 값을 변경했습니다.
  • 장애 분석을 위해 docker compose logs -f 확인 방법을 숙지했습니다.

문제 해결 가이드

  • 컨테이너가 실행되지 않으면 docker compose logs -f로 오류 원인을 먼저 확인합니다.
  • 포트 충돌이 나면 기존 프로세스를 종료하거나 포트 매핑 값을 변경합니다.
  • 이미지 pull 실패 시 네트워크 연결 및 레지스트리 접근 권한을 확인합니다.
  • 설정 변경 후 문제가 지속되면 docker compose down 후 다시 up -d로 재기동합니다.

관련 문서

Setup 홈

운영체제별 설치 흐름을 다시 확인합니다.

다음: Open WebUI

다음 설치 단계를 이어서 진행합니다.