#!/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