#!/bin/bash # GPU 환경 배포 스크립트 echo "🚀 GPU 환경 배포 시작" # NVIDIA Docker 지원 확인 if ! command -v nvidia-docker &> /dev/null; then echo "❌ NVIDIA Docker가 설치되지 않았습니다." echo "NVIDIA Docker 설치가 필요합니다: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html" exit 1 fi # GPU 사용 가능 여부 확인 if ! nvidia-smi &> /dev/null; then echo "❌ GPU를 사용할 수 없습니다." echo "GPU 드라이버가 설치되어 있는지 확인해주세요." exit 1 fi echo "✅ GPU 환경 확인 완료" # 기존 컨테이너 정리 echo "🧹 기존 컨테이너 정리 중..." docker-compose -f docker-compose.gpu.yml down --volumes --remove-orphans # 이미지 빌드 echo "🔨 Docker 이미지 빌드 중..." docker-compose -f docker-compose.gpu.yml build --no-cache # 컨테이너 시작 echo "🚀 컨테이너 시작 중..." docker-compose -f docker-compose.gpu.yml up -d # 서비스 상태 확인 echo "📊 서비스 상태 확인 중..." sleep 10 # 헬스체크 echo "🏥 헬스체크 중..." for i in {1..30}; do if curl -f http://localhost:8001/health &> /dev/null; then echo "✅ Lily LLM API 서비스 정상" break fi if [ $i -eq 30 ]; then echo "❌ 서비스 시작 실패" docker-compose -f docker-compose.gpu.yml logs exit 1 fi echo "⏳ 서비스 시작 대기 중... ($i/30)" sleep 2 done # GPU 사용량 확인 echo "🎮 GPU 사용량 확인:" nvidia-smi # 서비스 정보 출력 echo "" echo "🎉 GPU 환경 배포 완료!" echo "" echo "📋 서비스 정보:" echo " - Lily LLM API: http://localhost:8001" echo " - Hearth Chat: http://localhost:8000" echo " - LaTeX-OCR Service: 별도 컨테이너로 실행 중" echo "" echo "🔧 유용한 명령어:" echo " - 로그 확인: docker-compose -f docker-compose.gpu.yml logs -f" echo " - 서비스 중지: docker-compose -f docker-compose.gpu.yml down" echo " - 서비스 재시작: docker-compose -f docker-compose.gpu.yml restart" echo "" echo "🧪 테스트 명령어:" echo " - API 테스트: curl http://localhost:8001/health" echo " - GPU 테스트: python test_gpu_deployment.py"