4b86b2a660
- server-dev start/stop/deploy 및 Gitea push 자동 배포 - local-dev 로컬 개발 환경 Co-authored-by: Cursor <cursoragent@cursor.com>
37 lines
1.4 KiB
Bash
Executable File
37 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# 레거시 exAIChatbot2.0 Qdrant(qa_vectors) → Agent 스택 qdrant_data 복사
|
|
# 최초 배포 시 vector_count=0 일 때 start-all-server.sh 에서 자동 호출
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
RAG_DIR="${ROOT_DIR}/exAiChatBot-chatbot2.0-agent"
|
|
LEGACY_STACK_DIR="${LEGACY_STACK_DIR:-/Users/aidev/dev/exAIChatbot2.0}"
|
|
LEGACY_QDRANT="${LEGACY_QDRANT_DATA:-${LEGACY_STACK_DIR}/exAiChatBot-chatbot2.0/qdrant_data}"
|
|
TARGET_QDRANT="${RAG_DIR}/qdrant_data"
|
|
|
|
log() { echo "[$(date '+%H:%M:%S')] $*"; }
|
|
|
|
if [[ ! -d "${LEGACY_QDRANT}/collections" ]]; then
|
|
log "레거시 qdrant_data 없음: ${LEGACY_QDRANT}"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -d "${TARGET_QDRANT}/collections/qa_vectors" ]]; then
|
|
local_count="$(curl -sf http://127.0.0.1:6333/collections/qa_vectors 2>/dev/null \
|
|
| python3 -c "import sys,json; print(json.load(sys.stdin).get('result',{}).get('points_count',0))" 2>/dev/null || echo 0)"
|
|
if [[ "${local_count}" -gt 0 ]]; then
|
|
log "이미 ${local_count} points — bootstrap 생략"
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
log "Qdrant 중지 후 데이터 복사..."
|
|
export PATH="/opt/homebrew/bin:/Applications/Docker.app/Contents/Resources/bin:${PATH}"
|
|
(cd "${RAG_DIR}" && docker compose -f docker-compose.server.yml stop qdrant api admin 2>/dev/null) || true
|
|
|
|
rm -rf "${TARGET_QDRANT}"
|
|
mkdir -p "${TARGET_QDRANT}"
|
|
cp -a "${LEGACY_QDRANT}/." "${TARGET_QDRANT}/"
|
|
|
|
log "✅ qdrant_data 복사 완료 → ${TARGET_QDRANT}"
|