#!/bin/bash echo "============================================" echo "PLM 솔루션 - 백엔드 (Spring Boot) 시작 - Linux" echo "============================================" echo "" echo "🚀 Spring Boot 백엔드를 Linux 서버에서 시작합니다..." echo "" # 시스템 정보 출력 echo "시스템 정보:" echo " OS: $(uname -s)" echo " Architecture: $(uname -m)" echo " Kernel: $(uname -r)" echo "" # Docker 버전 확인 echo "Docker 환경 확인:" docker --version 2>/dev/null || echo " ❌ Docker가 설치되지 않았습니다." docker-compose --version 2>/dev/null || echo " ❌ Docker Compose가 설치되지 않았습니다." echo "" echo "1. Docker 이미지 빌드 중..." docker-compose -f docker-compose.backend.linux.yml build --no-cache echo "" echo "2. 기존 백엔드 컨테이너 정리 중..." docker-compose -f docker-compose.backend.linux.yml down -v echo "" echo "3. Docker 네트워크 생성 중..." docker network create pms-network 2>/dev/null || echo "네트워크가 이미 존재합니다." echo "" echo "4. 백엔드 컨테이너 시작 중..." docker-compose -f docker-compose.backend.linux.yml up -d echo "" echo "5. 서비스 상태 확인 중..." sleep 20 echo "" echo "============================================" echo "🎉 백엔드 서비스가 시작되었습니다!" echo "============================================" echo "" echo "📊 서비스 접속 정보:" echo " [DATABASE] PostgreSQL: http://39.117.244.52:11132" echo " [BACKEND] Spring Boot: http://localhost:8080/api" echo "" echo "💡 API 테스트:" echo " 헬스체크: curl http://localhost:8080/api/actuator/health" echo "" echo "🔧 관리 명령어:" echo " 상태 확인: docker-compose -f docker-compose.backend.linux.yml ps" echo " 로그 확인: docker-compose -f docker-compose.backend.linux.yml logs -f" echo " 중지하기: docker-compose -f docker-compose.backend.linux.yml down" echo "" echo "============================================" # 헬스체크 echo "" echo "🏥 백엔드 헬스체크 수행 중..." for i in {1..12}; do if curl -s http://localhost:8080/api/actuator/health >/dev/null 2>&1; then echo " ✅ 백엔드 서비스 정상" echo " 📋 헬스체크 결과:" curl -s http://localhost:8080/api/actuator/health | jq . 2>/dev/null || curl -s http://localhost:8080/api/actuator/health break else echo " ⏳ 백엔드 응답 대기 중... ($i/12)" sleep 5 fi done echo "" echo "🎯 백엔드 시작 완료! API는 http://localhost:8080/api 에서 확인하세요." echo "" read -p "계속하려면 Enter 키를 누르세요..."