Dify RAG 시스템 구축 계획
Dify RAG 시스템 구축 계획
섹션 제목: “Dify RAG 시스템 구축 계획”작성일: 2026-04-18
상태: 계획 수립 완료
1. 개요
섹션 제목: “1. 개요”목표: 다중 사용자 문서 관리 + RAG 검색 시스템 구축
요구사항:
- ✅ 웹 기반 UI (다중 사용자)
- ✅ 역할 기반 접근 제어 (RBAC)
- ✅ 사용자별 파일 업로드
- ✅ 버전 관리 (Git/SVN 방식)
- ✅ RAG 검색 (질문 → 문서 검색 → 답변)
선택한 솔루션: Dify (디파이)
2. 아키텍처
섹션 제목: “2. 아키텍처”┌─────────────────────────────────────────────────────┐│ 맥미니 (게이트웨이 + Dify Web UI 프록시) ││ - TailscaleServe: https://ps-m4pro.tail437af5.ts.net ││ - 사용자 접근 포인트 ││ - OpenClaw 게이트웨이 │└─────────────────────────────────────────────────────┘ ▲ │ (Tailscale 경유) │┌───────────────────┴───────────────────┐│ 메인컴 (Dify Core + 인덱싱) ││ - Docker Compose 로 Dify 전체 구동 ││ - PostgreSQL (DB) ││ - Redis (캐시) ││ - Weaviate (벡터 DB) ││ - Dify API + Worker ││ - 나스 마운트: /mnt/minicity (Y:) ││ - Ollama 연동 (임베딩 + LLM) │└───────────────────────────────────────┘3. 구성 요소
섹션 제목: “3. 구성 요소”Dify Docker 컨테이너들
섹션 제목: “Dify Docker 컨테이너들”| 컨테이너 | 역할 | 자원 |
|---|---|---|
| PostgreSQL | 관계형 DB | 1 GB RAM |
| Redis | 캐시/큐 | 512 MB RAM |
| Weaviate | 벡터 DB | 2-4 GB RAM |
| Dify API | API 서버 | 1 GB RAM |
| Dify Web | 웹 UI | 512 MB RAM |
| Dify Worker | 백그라운드 작업 | 1 GB RAM |
| Sandbox | 코드 실행 | 512 MB RAM |
총 예상 RAM: 6-8 GB
총 예상 CPU: 2-4 코어
저장 공간: 10-20 GB (벡터 DB 포함)
4. 단계별 계획
섹션 제목: “4. 단계별 계획”1 단계: 메인컴 환경 준비
섹션 제목: “1 단계: 메인컴 환경 준비”- WSL 에 나스 마운트 (
/mnt/minicity← Y: 드라이브) - Docker 설치 확인
- Ollama 설치 확인 (이미 됨 ✅)
2 단계: Dify 설치 (메인컴)
섹션 제목: “2 단계: Dify 설치 (메인컴)”- Dify Docker Compose 다운로드
- 환경 설정 (
.env수정)- 벡터 DB: Weaviate 또는 Chroma
- LLM: Ollama 연동
- 임베딩 모델:
nomic-embed-text
- Docker Compose 로 컨테이너 시작
- 초기 관리자 계정 설정 (웹 UI, 1 회성)
3 단계: Ollama 연동
섹션 제목: “3 단계: Ollama 연동”- Dify 에서 Ollama 프로바이더 설정
- 임베딩 모델 다운로드 (
nomic-embed-text) - LLM 모델 확인 (
qwen3.5:cloud등)
4 단계: 문서 인덱싱 설정
섹션 제목: “4 단계: 문서 인덱싱 설정”- 나스 경로 연결:
/mnt/minicity/Backup_data/ - Dify Knowledge Base 생성
- 문서 업로드 (PDF, PPT, Excel 지원)
- 자동 인덱싱 파이프라인 설정
5 단계: 버전 관리 시스템
섹션 제목: “5 단계: 버전 관리 시스템”- Git 저장소 연동 (선택사항)
- 또는 Dify 내장 버전 관리 사용
- 문서 변경 이력 추적
6 단계: 사용자 관리
섹션 제목: “6 단계: 사용자 관리”- 다중 사용자 계정 생성
- 역할 기반 권한 설정 (Admin, Editor, Viewer)
- 워크스페이스 분리 (팀별/프로젝트별)
7 단계: OpenClaw 연동
섹션 제목: “7 단계: OpenClaw 연동”- Dify API 를 OpenClaw 에서 호출
- 질문 → Dify 검색 → 답변 파이프라인
- 자동화 워크플로우 구축
8 단계: 외부 접근 설정
섹션 제목: “8 단계: 외부 접근 설정”- Tailscale Serve 로 Dify Web UI 노출
- HTTPS 인증서 설정 (선택사항)
- 방화벽 규칙 설정
5. API 기반 운영
섹션 제목: “5. API 기반 운영”웹 UI 사용 최소화
섹션 제목: “웹 UI 사용 최소화”| 상황 | 웹 UI | API |
|---|---|---|
| 초기 설치/설정 | ✅ 필요 (1 회, 5 분) | ❌ |
| 일상 운영 | ❌ | ✅ |
| 문서 업로드 | ❌ | ✅ |
| 사용자 관리 | ❌ | ✅ |
| 질문/검색 | ❌ | ✅ |
주요 API 엔드포인트
섹션 제목: “주요 API 엔드포인트”# 문서 업로드POST /api/files/upload
# 지식베이스 생성POST /api/datasets
# 문서 인덱싱POST /api/datasets/{dataset_id}/document/create_by_file
# 질문 (RAG 검색)POST /api/chat-messages
# 사용자 관리POST /api/users6. 역할 분담
섹션 제목: “6. 역할 분담”| 작업 | 주체 | 방법 |
|---|---|---|
| Windows 명령어 (net use, wsl —shutdown) | 미미아빠 | PowerShell 에서 직접 실행 |
| Linux 명령어 (설치, 설정, Docker) | AI | SSH 로 mainpc-wsl 접속하여 실행 |
| 파일 작성 (설정, 스크립트) | AI | write/edit 도구 사용 |
| 브라우저 UI 조작 (Dify 초기설정) | 미미아빠 | 웹에서 직접 클릭 (1 회성) |
| 인증정보 입력 | 미미아빠 | 직접 입력 |
7. 예상 문제 및 해결책
섹션 제목: “7. 예상 문제 및 해결책”| 문제 | 해결책 |
|---|---|
| WSL 나스 마운트 실패 | SMB 직접 마운트 또는 WebDAV 우회 |
| Docker 리소스 부족 | 컨테이너 메모리 제한 설정 |
| 인덱싱 속도 느림 | 배치 처리 + 백그라운드 작업 |
| 버전 관리 복잡 | Dify 내장 버전 관리 우선 사용 |
| 다중 사용자 충돌 | 워크스페이스 분리 |
8. 일정 (예상)
섹션 제목: “8. 일정 (예상)”| 단계 | 소요 시간 | 비고 |
|---|---|---|
| 1 단계: 환경 준비 | 30 분 | 나스 마운트 |
| 2 단계: Dify 설치 | 1 시간 | Docker Compose |
| 3 단계: Ollama 연동 | 30 분 | 모델 다운로드 |
| 4 단계: 문서 인덱싱 | 2-4 시간 | 문서량에 따라 |
| 5 단계: 버전 관리 | 1 시간 | 선택사항 |
| 6 단계: 사용자 관리 | 30 분 | 계정 생성 |
| 7 단계: OpenClaw 연동 | 1 시간 | API 연동 |
| 8 단계: 외부 접근 | 30 분 | Tailscale Serve |
총 예상 시간: 6-8 시간
9. 실제 설정 값 (2026-04-18 기준)
섹션 제목: “9. 실제 설정 값 (2026-04-18 기준)”인프라
섹션 제목: “인프라”| 항목 | 값 |
|---|---|
| 게이트웨이 | 맥미니 (PS-M4pro) |
| Dify 서버 | 메인컴 (PS-I14700K WSL) |
| 나스 | 주영나스 (Y: 드라이브) |
| 나스 경로 | http://minicity.kr:5005/Backup_data |
| 나스 ID | psbot |
| 나스 PW | @@Mini3388 |
| Tailscale 게이트웨이 | https://ps-m4pro.tail437af5.ts.net |
OpenClaw 노드
섹션 제목: “OpenClaw 노드”| 노드 | ID | 상태 |
|---|---|---|
| mainpc-node | 4448cee08fe91d1dedfaa52466b5282cb424c16e22ffd9ec2fc773c17e9dc206 | ✅ paired · connected |
| MH-3900x | c622d0082eb04895238519fc1ffd10fd08d2055e096aecf218aa3a1337c5c56d | ✅ paired · connected |
Ollama 모델
섹션 제목: “Ollama 모델”glm-5.1minimax-m2.5qwen3.5:cloudgemma4:31bnomic-embed-text(임베딩용, 다운로드 필요)
10. 다음 액션
섹션 제목: “10. 다음 액션”즉시 시작할 항목:
- 메인컴 WSL 에 나스 마운트 완료 (Y: →
/mnt/minicity) - Docker 설치 확인 (
docker --version) - Dify Docker Compose 다운로드
진행 여부: ⏳ 대기 중
11. 참고 링크
섹션 제목: “11. 참고 링크”- Dify 공식: https://dify.ai
- Dify GitHub: https://github.com/langgenius/dify
- Dify API 문서: https://docs.dify.ai/api-reference
- Dify Docker 설치: https://docs.dify.ai/getting-started/install-self-hosted/docker-compose