-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·152 lines (129 loc) · 3.72 KB
/
setup.sh
File metadata and controls
executable file
·152 lines (129 loc) · 3.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#!/bin/bash
# ParseNoteLM 개발환경 설정 스크립트
# 작성일: 2025-08-30
echo "🛠️ ParseNoteLM 개발환경 설정 시작..."
echo "======================================"
# 스크립트 실행 위치 확인
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd "$SCRIPT_DIR"
# OS 확인
OS="Unknown"
if [[ "$OSTYPE" == "darwin"* ]]; then
OS="macOS"
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
OS="Linux"
fi
echo "📍 운영체제: $OS"
# Python 버전 확인
echo ""
echo "1️⃣ Python 환경 확인..."
PYTHON_VERSION=$(python3 --version 2>&1)
if [[ $? -eq 0 ]]; then
echo "✅ $PYTHON_VERSION"
else
echo "❌ Python3가 설치되지 않았습니다."
if [[ "$OS" == "macOS" ]]; then
echo "설치 명령: brew install python@3.11"
else
echo "설치 명령: sudo apt-get install python3.11"
fi
exit 1
fi
# Node.js 버전 확인
echo ""
echo "2️⃣ Node.js 환경 확인..."
NODE_VERSION=$(node -v 2>/dev/null)
if [ -z "$NODE_VERSION" ]; then
echo "❌ Node.js가 설치되지 않았습니다."
if [[ "$OS" == "macOS" ]]; then
echo "설치 명령: brew install node"
else
echo "설치 명령: curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - && sudo apt-get install -y nodejs"
fi
exit 1
else
echo "✅ Node.js 버전: $NODE_VERSION"
fi
# 백엔드 설정
echo ""
echo "3️⃣ 백엔드 환경 설정..."
cd backend
# Python 가상환경 생성
if [ ! -d "venv" ]; then
echo "📦 Python 가상환경 생성 중..."
python3 -m venv venv
fi
# 가상환경 활성화 및 패키지 설치
source venv/bin/activate
echo "📦 Python 패키지 설치 중..."
pip install -q -r requirements.txt
# .env 파일 생성
if [ ! -f ".env" ]; then
echo "📝 백엔드 .env 파일 생성..."
if [ -f ".env.example" ]; then
cp .env.example .env
else
cat > .env << EOF
# 데이터베이스 설정
DATABASE_URL=sqlite:///./parsenotelm.db
# 보안 설정
SECRET_KEY=your-secret-key-here-change-this
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=43200
# OpenAI API 설정
OPENAI_API_KEY=your-openai-api-key-here
# 파일 업로드 설정
UPLOAD_DIR=uploads
MAX_FILE_SIZE=10485760
ALLOWED_EXTENSIONS=pdf,txt
# 서비스 제한 설정
MAX_PROJECTS_PER_USER=3
MAX_DOCUMENTS_PER_PROJECT=5
MAX_QUESTIONS_PER_DAY=50
EOF
fi
echo "⚠️ 백엔드 .env 파일을 수정해주세요:"
echo " - OPENAI_API_KEY를 입력하세요"
echo " - SECRET_KEY를 변경하세요"
fi
# 데이터베이스 초기화
if [ ! -f "parsenotelm.db" ]; then
echo "🗄️ 데이터베이스 초기화 중..."
python init_db.py
fi
# 필요한 디렉토리 생성
mkdir -p uploads logs data/vector_stores temp
cd ..
# 프론트엔드 설정
echo ""
echo "4️⃣ 프론트엔드 환경 설정..."
cd frontend
# npm 패키지 설치
echo "📦 npm 패키지 설치 중..."
npm install
# .env 파일 생성
if [ ! -f ".env" ]; then
echo "📝 프론트엔드 .env 파일 생성..."
echo "REACT_APP_API_URL=http://localhost:8000" > .env
fi
cd ..
# 실행 권한 부여
echo ""
echo "5️⃣ 실행 스크립트 권한 설정..."
chmod +x run-backend.sh run-frontend.sh run-all.sh setup.sh
# 완료 메시지
echo ""
echo "✅ 개발환경 설정이 완료되었습니다!"
echo "======================================"
echo ""
echo "📋 다음 단계:"
echo "1. backend/.env 파일에서 OPENAI_API_KEY를 설정하세요"
echo "2. ./run-all.sh 명령으로 전체 서비스를 시작하세요"
echo ""
echo "또는 개별 실행:"
echo "- 백엔드: ./run-backend.sh"
echo "- 프론트엔드: ./run-frontend.sh"
echo ""
echo "📚 기본 관리자 계정:"
echo "- 이메일: admin@parsenotelm.com"
echo "- 비밀번호: admin123!"