> ## Documentation Index
> Fetch the complete documentation index at: https://docs.baeum.ai.kr/llms.txt
> Use this file to discover all available pages before exploring further.

# Dify

**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 파일을 사용합니다.

```bash theme={null}
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
```

`.env` 파일에서 필요한 설정을 수정합니다.

```bash theme={null}
# .env 파일 주요 설정
SECRET_KEY=sk-your-secret-key-here
INIT_PASSWORD=changeme
```

## 실행

```bash theme={null}
docker compose up -d
```

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

## 접속 확인

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

설정 완료 후 `http://localhost`에서 로그인합니다.

## 기본 정보

| 항목          | 값                    |
| ----------- | -------------------- |
| 웹 UI 포트     | 80                   |
| API 포트      | 5001                 |
| 기본 관리자 비밀번호 | .env의 INIT\_PASSWORD |

## 포함된 서비스

Dify는 다음 서비스들을 함께 실행합니다.

| 서비스             | 역할                 |
| --------------- | ------------------ |
| api             | 백엔드 API 서버         |
| worker          | 비동기 작업 처리 (Celery) |
| web             | 프론트엔드 (Next.js)    |
| db              | PostgreSQL 데이터베이스  |
| redis           | 캐시 및 메시지 큐         |
| nginx           | 리버스 프록시            |
| sandbox         | 코드 실행 샌드박스         |
| weaviate/qdrant | 벡터 데이터베이스 (선택)     |

## 주요 환경 변수 (.env)

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

## 업데이트

```bash theme={null}
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, 감사 로그 등 추가 기능 포함 |

## 참고

* [Dify Docker 설치 가이드](https://docs.dify.ai/getting-started/install-self-hosted/docker-compose)
* [Dify GitHub](https://github.com/langgenius/dify)

## 설치 점검 목록

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

## 문제 해결 가이드

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

## 관련 문서

<CardGroup cols={2}>
  <Card title="Setup 홈" icon="house" href="/setup/index">
    운영체제별 설치 흐름을 다시 확인합니다.
  </Card>

  <Card title="다음: Open WebUI" icon="arrow-right" href="/stacks/open-webui">
    다음 설치 단계를 이어서 진행합니다.
  </Card>
</CardGroup>
