@echo off chcp 65001 >nul setlocal EnableDelayedExpansion REM 스크립트가 있는 디렉토리에서 루트로 이동 cd /d "%~dp0\..\.." REM 시작 시간 기록 set START_TIME=%DATE% %TIME% echo ============================================ echo WACE 솔루션 - 전체 서비스 시작 (병렬 최적화) echo ============================================ echo [시작 시간] %START_TIME% echo. REM Docker Desktop 실행 확인 echo [1/5] Docker Desktop 상태 확인 중... docker --version >nul 2>&1 if %errorlevel% neq 0 ( echo [ERROR] Docker Desktop이 실행되지 않았습니다! echo Docker Desktop을 먼저 실행해주세요. pause exit /b 1 ) echo [OK] Docker Desktop이 실행 중입니다. echo. REM 기존 컨테이너 및 이미지 정리 echo [2/5] 기존 컨테이너 및 이미지 정리 중... docker rm -f pms-backend-win pms-frontend-win 2>nul docker rmi -f erp-node-backend erp-node-frontend 2>nul docker network rm pms-network 2>nul docker network create pms-network 2>nul docker system prune -f >nul 2>&1 echo [OK] 컨테이너 및 이미지 정리 완료 echo. REM 병렬 빌드 (docker-compose 자체가 병렬 처리) echo [3/5] 이미지 빌드 중... (백엔드 + 프론트엔드 병렬) echo 이 작업은 시간이 걸릴 수 있습니다... echo. REM 백엔드 빌드 (캐시 없이 완전 재빌드) docker-compose -f docker-compose.backend.win.yml build --no-cache if %errorlevel% neq 0 ( echo [ERROR] 백엔드 빌드 실패! pause exit /b 1 ) echo [OK] 백엔드 빌드 완료 echo. REM 프론트엔드 빌드 (캐시 없이 완전 재빌드) docker-compose -f docker-compose.frontend.win.yml build --no-cache if %errorlevel% neq 0 ( echo [ERROR] 프론트엔드 빌드 실패! pause exit /b 1 ) echo [OK] 프론트엔드 빌드 완료 echo. REM 기존 컨테이너 정리 후 서비스 시작 echo [4/5] 서비스 시작 중... docker-compose -f docker-compose.backend.win.yml down -v 2>nul docker-compose -f docker-compose.frontend.win.yml down -v 2>nul REM 백엔드 시작 echo 백엔드 서비스 시작... docker-compose -f docker-compose.backend.win.yml up -d if %errorlevel% neq 0 ( echo [ERROR] 백엔드 시작 실패! pause exit /b 1 ) REM 프론트엔드 시작 echo 프론트엔드 서비스 시작... docker-compose -f docker-compose.frontend.win.yml up -d if %errorlevel% neq 0 ( echo [ERROR] 프론트엔드 시작 실패! pause exit /b 1 ) echo [OK] 서비스 시작 완료 echo. REM 안정화 대기 echo [5/5] 서비스 안정화 대기 중... (10초) timeout /t 10 /nobreak >nul echo. echo ============================================ echo [완료] 모든 서비스가 시작되었습니다! echo ============================================ echo. echo [DATABASE] PostgreSQL: http://39.117.244.52:11132 echo [BACKEND] Node.js API: http://localhost:8080/api echo [FRONTEND] Next.js: http://localhost:9771 echo. echo [서비스 상태 확인] echo docker-compose -f docker-compose.backend.win.yml ps echo docker-compose -f docker-compose.frontend.win.yml ps echo. echo [로그 확인] echo 백엔드: docker-compose -f docker-compose.backend.win.yml logs -f echo 프론트엔드: docker-compose -f docker-compose.frontend.win.yml logs -f echo. echo [서비스 중지] echo scripts\dev\stop-all.bat echo. set END_TIME=%DATE% %TIME% echo [종료 시간] %END_TIME% echo ============================================ pause