openwebui/qwen/setup-ollama.sh
MyeonghoeLee 3660556a72 기존 Qwen 파일 qwen/ 디렉터리로 이동, Gemma 4 (31B-IT) Ollama 셋업 추가
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 16:29:32 +09:00

160 lines
4.5 KiB
Bash
Executable File

#!/bin/bash
set -e
#====================================================================
# Qwen3.5 + Open WebUI (Ollama) 원클릭 셋업
# 환경: Mac / Docker Desktop / Homebrew
#====================================================================
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
BASE_MODEL="qwen3.5:35b"
CUSTOM_MODEL="qwen3.5-custom"
WEBUI_PORT=3000
MAX_TOKENS=8192
CONTEXT_LENGTH=8192
TEMPERATURE=0.7
TOP_P=0.9
echo "============================================"
echo " Qwen3.5 + Open WebUI (Ollama) 셋업"
echo "============================================"
echo ""
#--------------------------------------------------------------------
# 1. 사전 요구사항 확인
#--------------------------------------------------------------------
echo "[1/6] 사전 요구사항 확인..."
if ! command -v brew &>/dev/null; then
echo "❌ Homebrew가 설치되어 있지 않습니다."
echo " /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\""
exit 1
fi
echo " ✓ Homebrew"
if ! command -v docker &>/dev/null; then
echo "❌ Docker가 설치되어 있지 않습니다."
exit 1
fi
if ! docker info &>/dev/null; then
echo "❌ Docker Desktop이 실행 중이 아닙니다."
exit 1
fi
echo " ✓ Docker"
echo ""
#--------------------------------------------------------------------
# 2. Ollama 설치 및 시작
#--------------------------------------------------------------------
echo "[2/6] Ollama 설치..."
if ! command -v ollama &>/dev/null; then
brew install ollama
echo " ✓ Ollama 설치 완료"
else
echo " ✓ Ollama 이미 설치됨"
fi
if ! brew services list | grep ollama | grep -q started; then
brew services start ollama
echo " Ollama 시작 대기 중..."
for i in $(seq 1 15); do
if curl -s http://localhost:11434/ > /dev/null 2>&1; then
break
fi
sleep 1
done
echo " ✓ Ollama 서비스 시작"
else
echo " ✓ Ollama 서비스 실행 중"
fi
echo ""
#--------------------------------------------------------------------
# 3. 모델 다운로드
#--------------------------------------------------------------------
echo "[3/6] 모델 다운로드 ($BASE_MODEL)..."
echo " (네트워크 속도에 따라 시간이 걸릴 수 있습니다)"
ollama pull "$BASE_MODEL"
echo " ✓ 모델 다운로드 완료"
echo ""
#--------------------------------------------------------------------
# 4. 커스텀 모델 생성 (파라미터 설정)
#--------------------------------------------------------------------
echo "[4/6] 파라미터 설정..."
MODELFILE="$PROJECT_DIR/Modelfile"
cat > "$MODELFILE" << EOF
FROM $BASE_MODEL
PARAMETER num_ctx $CONTEXT_LENGTH
PARAMETER num_predict $MAX_TOKENS
PARAMETER temperature $TEMPERATURE
PARAMETER top_p $TOP_P
EOF
ollama create "$CUSTOM_MODEL" -f "$MODELFILE" 2>&1 | grep -v "^$"
echo " ✓ 커스텀 모델 생성: $CUSTOM_MODEL"
echo " 입력 컨텍스트: $CONTEXT_LENGTH 토큰"
echo " 출력 토큰: $MAX_TOKENS"
echo " temperature: $TEMPERATURE"
echo " top_p: $TOP_P"
echo ""
#--------------------------------------------------------------------
# 5. Docker Compose 설정 및 실행
#--------------------------------------------------------------------
echo "[5/6] Open WebUI 실행..."
if [ ! -f "$PROJECT_DIR/docker-compose.yml" ]; then
cat > "$PROJECT_DIR/docker-compose.yml" << EOF
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "${WEBUI_PORT}:8080"
environment:
- OLLAMA_BASE_URL=http://host.docker.internal:11434
volumes:
- open-webui-data:/app/backend/data
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stopped
volumes:
open-webui-data:
EOF
echo " ✓ docker-compose.yml 생성"
fi
cd "$PROJECT_DIR"
docker compose up -d 2>&1 | grep -v "^$"
echo " ✓ Open WebUI 실행 중"
echo ""
#--------------------------------------------------------------------
# 6. 완료
#--------------------------------------------------------------------
echo "[6/6] 셋업 완료!"
echo ""
echo "============================================"
echo " 브라우저에서 http://localhost:${WEBUI_PORT} 접속"
echo " (첫 접속 시 회원가입 → 첫 계정이 admin)"
echo ""
echo " 모델 선택: $CUSTOM_MODEL"
echo " (파라미터가 적용된 커스텀 모델)"
echo " 또는: $BASE_MODEL"
echo " (기본 설정 모델)"
echo ""
echo " 종료: ./stop-ollama.sh"
echo "============================================"