클론 후 npm run setup 한 줄로 끝나게 했다. docker/node 버전 사전 점검 → .env 생성 → 컨테이너 → 마이그레이션 → 시드 → 키워드 7,093건 적재까지. - scripts/setup.sh - scripts/requirements.txt — 엑셀 스크립트용 openpyxl (누락돼 있었다) - README 빠른 시작을 클론부터 시작하도록 수정, 포트/모델 다운로드 안내 추가 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
42 lines
1.5 KiB
Bash
Executable File
42 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# 클론 직후 로컬 세팅 한 번에.
|
|
# npm run setup
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
|
|
step() { printf '\n\033[1m▶ %s\033[0m\n' "$1"; }
|
|
|
|
step "사전 점검"
|
|
command -v docker >/dev/null || { echo "❌ docker 가 필요합니다"; exit 1; }
|
|
docker info >/dev/null 2>&1 || { echo "❌ Docker Desktop 을 실행해 주세요"; exit 1; }
|
|
node -e 'process.exit(+process.versions.node.split(".")[0] >= 20 ? 0 : 1)' \
|
|
|| { echo "❌ Node 20 이상이 필요합니다 (현재 $(node -v))"; exit 1; }
|
|
echo " docker ok · node $(node -v)"
|
|
|
|
step ".env 준비"
|
|
if [ -f .env ]; then echo " 이미 있음 — 건너뜀"; else cp .env.example .env; echo " .env.example → .env"; fi
|
|
|
|
step "컨테이너 기동 (postgres+pgvector, redis)"
|
|
docker compose up -d --wait
|
|
|
|
step "스키마 마이그레이션"
|
|
npm run --silent db:migrate
|
|
|
|
step "기준 데이터 시드 (업종·지역·데모 업체)"
|
|
npm run --silent db:seed
|
|
|
|
step "키워드 적재 — 군산 상세"
|
|
echo " 최초 1회 임베딩 모델을 내려받습니다 (약 120MB, 1~2분)"
|
|
npm run --silent dataset:ingest 2>&1 | grep -vE '^\s*적재 [0-9]+/' || true
|
|
|
|
step "키워드 적재 — 전국 54개 지역"
|
|
npm run --silent dataset:ingest-nationwide 2>&1 | grep -vE '^\s*적재 [0-9]+/' || true
|
|
|
|
step "완료"
|
|
cat <<'MSG'
|
|
npm start → http://localhost:3100
|
|
http://localhost:3100/demo 매칭 콘솔 (입력창에 "스테이 머뭄")
|
|
|
|
엑셀 산출이 필요하면: pip3 install -r scripts/requirements.txt
|
|
MSG
|