소개
이번에 AI 창업패키지 스터디에 참여하게 되었는데, 만들려고 하는 프로젝트는 부동산 RAG Chatbot 입니다.
비개발자서 당연히 No-Code Tool로 진행할거라서 Dify로 진행하기로 결정했습니다.
당연히 설치가 먼저인데, 역시나 먼저 해주신 사례들이 있어서 그대로 따라했습니다. (저는 Mac User)
때마침 윤누리님 베스트 사례게시글을 뉴스레터에서 보고 저도 클로드 코드로 진행했습니다.
진행 방법
언제나 그렇듯 같은 질문을 여러 AI에 두루두루 물어봅니다. 설치방법은 대체로 유사하네요.
Dify를 무료로 설치하려면 \*\*오픈소스 버전(Dify Self-hosted)\*\*을 사용하면 됩니다. 공식적으로 Docker 기반 배포를 지원하기 때문에, 로컬 PC나 클라우드(VPS) 어디서든 무료로 설치할 수 있습니다. 아래는 설치 방법을 단계별로 정리한 가이드입니다.
---
## 1. 필수 준비물
* **운영체제**: Linux, macOS, 또는 WSL2가 설치된 Windows
* **Docker & Docker Compose**: 최신 버전 권장
* **Git**: 저장소를 클론할 때 필요
* (옵션) 클라우드 서버를 사용할 경우 최소 스펙
* CPU: 2 vCPU 이상
* 메모리: 4GB 이상
* 디스크: 20GB 이상
---
## 2. 설치 과정
### (1) 저장소 클론
```bash
git clone https://github.com/langgenius/dify.git
cd dify
```
### (2) 환경변수 설정
기본 템플릿 `.env.example` 파일을 복사해서 `.env`로 만듭니다.
```bash
cp .env.example .env
```
이 안에서 DB 비밀번호, API Key 등 필요한 부분을 수정할 수 있습니다. (기본 설정으로도 로컬 실행 가능)
### (3) Docker Compose 실행
```bash
docker compose up -d
```
최초 실행 시 필요한 이미지와 패키지를 모두 다운로드하기 때문에 시간이 다소 걸립니다.
### (4) 초기화
DB 및 초기 데이터를 세팅합니다.
```bash
docker compose exec api ./bin/init
```
---
## 3. 접속
설치가 끝나면 브라우저에서 아래 주소로 접속합니다:
```
http://localhost:3000
```
→ 회원가입 후 관리자 계정을 만들고, 바로 워크플로우/앱 빌더 기능을 사용할 수 있습니다.
---
## 4. 무료로 사용하는 방법 요약
* **Docker Self-hosted 버전**: 100% 무료, 기능 제한 없음
* **클라우드 관리형 Dify**([https://dify.ai](https://dify.ai)): 무료 요금제가 있지만, API 사용량 제한이 있음
* 따라서 **개인용·학습용**이라면 Docker Self-hosted 설치를 추천합니다.일단 Docker 설치는 필요한 것 같은데, n8n Self-Hosting 하면서 최신 버전은 설치되어 있었습니다.
설치 관련해서는 ChatGPT만 docker-compose.override.yml 최적화 템플릿을 만들어주고, 나머지 AI는 안만들어줬길래 물어봤더니 docker-compose.override.yml 최적화 템플릿을 사용하는게 좋다고 하네요.
이 docker-compose.override.yml 설정을 검토해보니, Apple Silicon Mac (M4 포함)에서 매우 유용합니다! 이유를 설명드리겠습니다.
검토 결과: 필요성 있음
왜 필요한가?
플랫폼 최적화: platform: linux/arm64/v8로 Apple Silicon 아키텍처에 맞는 이미지 사용
메모리 제한: M4 Mac mini의 리소스를 효율적으 로 관리
헬스체크 강화: 각 서비스의 안정성 보장
로그 관리: 디스크 공간 절약을 위한 로그 로테이션
의존성 관리: 서비스 시작 순서 최적화
특히 M4 Mac mini에서 중요한 이유
Apple Silicon은 ARM64 아키텍처이므로 x86_64 이미지보다 ARM64 네이티브 이미지가 훨씬 빠름
메모리 사용량 제한으로 시스템 안정성 향상
서비스 간 의존성 설정으로 초기화 오류 방지그래서 클로드 코드 설치 파일에도 내용을 업데이트 했습니다.
클로드 코드로 설치를 바로 할까 하다가, 혹시나 싶어서 ChatGPT 가이드대로 해봤는데 역시나 오류는 있고, 다시 복사/붙여넣기 하면서 티키타카를 해야되네요.
그래서 그냥 클로드 코드에 설치 파일을 넣고 요청을 했더니 뚝딱뚝딱 알아서 잘 설치하네요. (클로드 코드 짱!!)
굳이 돌아가지 마시고, 설치 .md 파일 만들고 클로드 코드에 요청하는게 가장 빠른 길입니다. (돌아가지 마시길)
클로드 코드에 넣은 설치 markdown 파일
## 설치 후 확인사항
### Claude Code로 상태 확인
```bash
# Docker 컨테이너 상태 확인
docker compose ps
# 서비스 로그 확인
docker compose logs nginx
docker compose logs api
# 포트 사용 확인
lsof -i :80
lsof -i :5432
lsof -i :6379
# 시스템 리소스 확인
docker stats
```# Dify 설치 가이드 (Mac)
Mac에서 Dify를 무료로 설치하는 방법을 단계별로 설명합니다.
## 목차
- [Docker 설치 방법 (권장)](#docker-설치-방법-권장)
- [개발자 모드 설치](#개발자-모드-설치)
- [설치 후 확인사항](#설치-후-확인사항)
- [문제 해결](#문제-해결)
## Docker 설치 방법 (권장)
### 1. 사전 준비사항
#### Docker 설치
```bash
# Homebrew를 통한 Docker 설치
brew install --cask docker
```
> **주의**: Docker Desktop을 실행하고 로그인해야 합니다.
### 2. Dify 설치
터미널에서 다음 명령어들을 순서대로 실행하세요:
```bash
# Dify 저장소 클론
git clone https://github.com/langgenius/dify.git
# 디렉토리 이동
cd dify/docker
# 환경 변수 파일 복사
cp .env.example .env
# Docker Compose로 실행 (백그라운드)
docker compose up -d
```
### 3. 설치 확인
설치가 완료되면 웹브라우저에서 다음 URL로 접속:
```
http://localhost/install
```
초기 설정 페이지가 나타나면 설치가 성공한 것입니다.
## 개발자 모드 설치
코드를 수정하거나 개발에 참여하고 싶은 경우에만 진행하세요.
### 1. Python 환경 설정
```bash
# Python 3.10 이상 필요
brew install [email protected]
# 프로젝트 클론 (아직 안 했다면)
git clone https://github.com/langgenius/dify.git
cd dify
# 가상환경 생성
python3 -m venv venv
# 가상환경 활성화
source venv/bin/activate
```
### 2. 백엔드 설치 및 실행
```bash
# API 디렉토리로 이동
cd api
# 의존성 설치
pip install -r requirements.txt
# 데이터베이스 초기화
flask db upgrade
# 개발 서버 실행
python app.py
```
### 3. 프론트엔드 설치 및 실행
**새 터미널 창**에서:
```bash
# 프로젝트 루트로 이동
cd /path/to/dify
# 웹 디렉토리로 이동
cd web
# Node.js 의존성 설치
npm install
# 개발 서버 실행
npm run dev
```
## 설치 후 확인사항
### 시스템 요구사항
- **메모리**: 최소 4GB RAM 권장 (Docker 컨테이너 실행용)
- **디스크 공간**: 최소 10GB 여유 공간
- **네트워크**: 인터넷 연결 필요 (Docker 이미지 다운로드용)
### 사용되는 포트
- **80**: Dify 웹 인터페이스
- **443**: HTTPS (선택사항)
- **5432**: PostgreSQL 데이터베이스
- **6379**: Redis 캐시
### 접속 확인
브라우저에서 `http://localhost`로 접속하여 Dify 인터페이스가 정상적으로 로드되는지 확인하세요.
## 문제 해결
### 일반적인 문제들
#### 1. Docker 메모리 부족
```bash
# Docker Desktop 설정에서 메모리를 8GB 이상으로 증가
# Docker Desktop > Settings > Resources > Memory
```
#### 2. 포트 충돌 문제
다른 애플리케이션이 80포트를 사용 중인 경우:
```bash
# .env 파일 수정
vim dify/docker/.env
# 다음 줄을 추가하거나 수정
EXPOSE_NGINX_PORT=8080
```
그 후 `http://localhost:8080`으로 접속하세요.
#### 3. 권한 문제
```bash
# Docker 명령어 실행 시 권한 문제가 있다면
sudo docker compose up -d
```
#### 4. 설치 진행 상황 확인
```bash
# Docker 컨테이너 상태 확인
docker compose ps
# 로그 확인
docker compose logs -f
```
### 서비스 관리 명령어
```bash
# 서비스 시작
docker compose up -d
# 서비스 중지
docker compose down
# 서비스 재시작
docker compose restart
# 완전 삭제 (데이터 포함)
docker compose down -v
```
## 추가 정보
### 설정 파일 위치
- 환경 설정: `dify/docker/.env`
- Docker 설정: `dify/docker/docker-compose.yaml`
### 데이터 백업
```bash
# PostgreSQL 데이터 백업
docker compose exec db pg_dump -U postgres dify > dify_backup.sql
```
### 업데이트 방법
```bash
# 최신 코드 가져오기
git pull origin main
# Docker 이미지 업데이트
docker compose pull
# 서비스 재시작
docker compose up -d
```
---
## 참고사항
- **Docker 방식**이 가장 간단하고 안정적이므로 권장합니다
- 개발자가 아니라면 Docker 설치 방법만 따라하세요
- 문제가 발생하면 [Dify GitHub Issues](https://github.com/langgenius/dify/issues)에서 해결방법을 찾아보세요
설치 과정에서 문제가 발생하면 각 단계의 출력 메시지를 확인하고, 필요시 위의 문제 해결 섹션을 참조하세요.결과와 배운 점
클로드 코드는 최대한 많이 사용해서 뽕을 뽑자!! (돈 내고 있는데 요즘 자주 못쓴듯 ㅠㅠ)
도움 받은 글 (옵션)
누리님 감사^^