fix(deploy): 서비스 목록 변수화 + rsync 전 권한 확보 + healthcheck 전서비스 추가

- deploy.sh / deploy-nas.sh: 서비스 목록을 변수로 통합하여 누락 방지
- deploy-nas.sh: rsync 전 chmod u+rwX로 Docker root 소유 파일 권한 확보
- healthcheck.sh: music-lab, blog-lab, realestate-lab, agent-office 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-11 14:27:36 +09:00
parent 678440a2bd
commit cce84de8be
3 changed files with 63 additions and 35 deletions

View File

@@ -2,7 +2,6 @@
set -euo pipefail
# NAS 내부 헬스체크용 (localhost 사용)
# 포트: backend(18000), travel-proxy(19000), frontend(8080)
# Colors
GREEN='\033[0;32m'
@@ -16,41 +15,54 @@ echo "======================================"
check_url() {
local name="$1"
local url="$2"
# HTTP 상태 코드만 가져옴 (타임아웃 5초)
status=$(curl -o /dev/null -s -w "%{http_code}" --max-time 5 "$url" || echo "FAIL")
if [[ "$status" == "200" ]]; then
echo -e "[${GREEN}OK${NC}] $name ($url) -> $status"
else
echo -e "[${RED}XX${NC}] $name ($url) -> $status"
# 하나라도 실패하면 exit 1 (CI/CD용)
# exit 1
fi
}
echo ""
echo "--- 1. Backend Service ---"
echo "--- 1. Backend (Lotto) ---"
check_url "Backend Health" "http://localhost:18000/health"
check_url "Lotto Latest" "http://localhost:18000/api/lotto/latest"
check_url "Stats API" "http://localhost:18000/api/lotto/stats"
echo ""
echo "--- 2. Travel Proxy Service ---"
# Travel Proxy는 Main.py에서 루트(/) 엔드포인트가 없을 수 있어서 regions 체크
check_url "Travel Regions" "http://localhost:19000/api/travel/regions"
echo ""
echo "--- 3. Stock Lab Service ---"
echo "--- 2. Stock Lab ---"
check_url "Stock Health" "http://localhost:18500/health"
check_url "Stock News" "http://localhost:18500/api/stock/news"
check_url "Stock Indices" "http://localhost:18500/api/stock/indices"
echo ""
echo "--- 4. Frontend (Nginx) ---"
# 외부 포트 8080으로 접속 테스트
echo "--- 3. Music Lab ---"
check_url "Music Health" "http://localhost:18600/health"
check_url "Music Providers" "http://localhost:18600/api/music/providers"
echo ""
echo "--- 4. Blog Lab ---"
check_url "Blog Health" "http://localhost:18700/health"
echo ""
echo "--- 5. Realestate Lab ---"
check_url "Realestate Health" "http://localhost:18800/health"
echo ""
echo "--- 6. Agent Office ---"
check_url "Agent Office Health" "http://localhost:18900/health"
check_url "Agent Office Agents" "http://localhost:18900/api/agent-office/agents"
echo ""
echo "--- 7. Travel Proxy ---"
check_url "Travel Regions" "http://localhost:19000/api/travel/regions"
echo ""
echo "--- 8. Frontend (Nginx) ---"
check_url "Frontend Home" "http://localhost:8080"
# Nginx가 Backend로 잘 프록시하는지 체크 (실제 존재하는 api 호출)
check_url "Nginx->Backend Proxy" "http://localhost:8080/api/lotto/latest"
echo ""