soyailabs / QUICK_DEPLOY.md
SOY NV AI
메타데이터 생성 κΈ°λŠ₯ κ°œμ„ : κΈ°μ‘΄ 메타데이터 병합 및 회차 정보 μœ μ§€
d234e06
|
raw
history blame
2.96 kB
# λΉ λ₯Έ 배포 κ°€μ΄λ“œ (μš”μ•½)
## 1단계: DigitalOcean Droplet 생성
1. https://www.digitalocean.com/ 접속
2. Create β†’ Droplets
3. μ„€μ •:
- Ubuntu 22.04 LTS
- 8GB RAM / 4 vCPUs ($48/μ›”)
- Singapore λ˜λŠ” Seoul
4. SSH ν‚€ λ˜λŠ” λΉ„λ°€λ²ˆν˜Έ μ„€μ •
5. Create Droplet
## 2단계: μ„œλ²„ 접속 및 초기 μ„€μ •
```bash
# μ„œλ²„ 접속
ssh root@YOUR_SERVER_IP
# μ‹œμŠ€ν…œ μ—…λ°μ΄νŠΈ 및 ν•„μˆ˜ νŒ¨ν‚€μ§€ μ„€μΉ˜
apt update && apt upgrade -y
apt install -y python3 python3-pip python3-venv git curl nginx certbot python3-certbot-nginx supervisor ufw build-essential
# λ°©ν™”λ²½ μ„€μ •
ufw allow OpenSSH
ufw allow 'Nginx Full'
ufw allow 11434/tcp
ufw enable
```
## 3단계: Ollama μ„€μΉ˜
```bash
curl -fsSL https://ollama.com/install.sh | sh
systemctl enable ollama
ollama pull llama2 # λ˜λŠ” μ‚¬μš©ν•  λͺ¨λΈ
```
## 4단계: ν”„λ‘œμ νŠΈ 배포
```bash
# ν”„λ‘œμ νŠΈ 디렉토리 생성
mkdir -p /var/www
cd /var/www
# ν”„λ‘œμ νŠΈ 파일 μ—…λ‘œλ“œ (Git λ˜λŠ” SCP)
git clone YOUR_REPO_URL soy-nv-ai
# λ˜λŠ”
# scp -r "D:\SOY NV AI\*" root@YOUR_SERVER_IP:/var/www/soy-nv-ai/
cd soy-nv-ai
# κ°€μƒν™˜κ²½ μ„€μ •
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
# ν™˜κ²½ λ³€μˆ˜ μ„€μ •
nano .env
# SECRET_KEY, OLLAMA_BASE_URL, GEMINI_API_KEY λ“± μ„€μ •
# 디렉토리 생성
mkdir -p instance uploads vector_db knowledge_graphs logs
chmod -R 775 uploads instance vector_db
```
## 5단계: systemd μ„œλΉ„μŠ€ μ„€μ •
```bash
# μ„œλΉ„μŠ€ 파일 볡사
cp systemd/soy-nv-ai.service /etc/systemd/system/
# 파일 μˆ˜μ • (경둜 확인)
nano /etc/systemd/system/soy-nv-ai.service
# μ„œλΉ„μŠ€ ν™œμ„±ν™”
systemctl daemon-reload
systemctl enable soy-nv-ai
systemctl start soy-nv-ai
systemctl status soy-nv-ai
```
## 6단계: Nginx μ„€μ •
```bash
# Nginx μ„€μ • 파일 볡사
cp nginx/soy-nv-ai.conf /etc/nginx/sites-available/soy-nv-ai
# 도메인/IP μˆ˜μ •
nano /etc/nginx/sites-available/soy-nv-ai
# ν™œμ„±ν™”
ln -s /etc/nginx/sites-available/soy-nv-ai /etc/nginx/sites-enabled/
rm /etc/nginx/sites-enabled/default # 선택사항
# ν…ŒμŠ€νŠΈ 및 μž¬μ‹œμž‘
nginx -t
systemctl restart nginx
```
## 7단계: SSL μ„€μ • (도메인 μžˆλŠ” 경우)
```bash
certbot --nginx -d YOUR_DOMAIN.com -d www.YOUR_DOMAIN.com
```
## 8단계: 배포 슀크립트 μ‹€ν–‰ (선택사항)
```bash
chmod +x deploy.sh
./deploy.sh
```
## μ™„λ£Œ!
μ›Ήμ‚¬μ΄νŠΈ 접속:
- HTTP: http://YOUR_SERVER_IP
- HTTPS: https://YOUR_DOMAIN.com (SSL μ„€μ • ν›„)
## 문제 ν•΄κ²°
```bash
# μ„œλΉ„μŠ€ 둜그
journalctl -u soy-nv-ai -f
# Nginx 둜그
tail -f /var/log/nginx/soy-nv-ai-error.log
# μ„œλΉ„μŠ€ μž¬μ‹œμž‘
systemctl restart soy-nv-ai
systemctl restart nginx
```
## μœ μš©ν•œ λͺ…λ Ήμ–΄
```bash
# μ„œλΉ„μŠ€ 관리
systemctl start/stop/restart/status soy-nv-ai
# 둜그 확인
journalctl -u soy-nv-ai -n 50 -f
# ν”„λ‘œμ„ΈμŠ€ 확인
ps aux | grep python
htop
# λ””μŠ€ν¬ 확인
df -h
```