#!/bin/bash

# TK-MP-Project 시놀로지 배포 스크립트
# 사용법: ./deploy-synology.sh [NAS_IP] [SSH_PORT]

NAS_IP=${1:-"192.168.0.3"}
SSH_PORT=${2:-"22"}
NAS_USER="admin"
PROJECT_NAME="tk-mp-project"
REMOTE_PATH="/volume1/docker/${PROJECT_NAME}"

echo "🚀 TK-MP-Project 시놀로지 배포 시작..."
echo "📡 대상 NAS: ${NAS_IP}:${SSH_PORT}"

# 1. 프로젝트 압축
echo "📦 프로젝트 압축 중..."
tar -czf ${PROJECT_NAME}.tar.gz \
    --exclude='node_modules' \
    --exclude='venv' \
    --exclude='*.pyc' \
    --exclude='__pycache__' \
    --exclude='.git' \
    --exclude='uploads' \
    .

# 2. NAS로 파일 전송
echo "📤 NAS로 파일 전송 중..."
scp -P ${SSH_PORT} ${PROJECT_NAME}.tar.gz ${NAS_USER}@${NAS_IP}:/tmp/

# 3. NAS에서 배포 실행
echo "🔧 NAS에서 배포 실행 중..."
ssh -p ${SSH_PORT} ${NAS_USER}@${NAS_IP} << EOF
    # 디렉토리 생성
    sudo mkdir -p ${REMOTE_PATH}
    cd ${REMOTE_PATH}
    
    # 기존 컨테이너 정지 및 제거
    sudo docker-compose -f docker-compose.synology.yml down || true
    
    # 프로젝트 압축 해제
    sudo tar -xzf /tmp/${PROJECT_NAME}.tar.gz -C ${REMOTE_PATH}
    sudo rm /tmp/${PROJECT_NAME}.tar.gz
    
    # Docker 이미지 빌드 및 실행
    sudo docker-compose -f docker-compose.synology.yml build
    sudo docker-compose -f docker-compose.synology.yml up -d
    
    echo "✅ 배포 완료!"
    echo "🌐 프론트엔드: http://${NAS_IP}:10173"
    echo "🔧 백엔드 API: http://${NAS_IP}:10080"
    echo "🗄️ 데이터베이스: ${NAS_IP}:15432"
    echo "🔄 Redis: ${NAS_IP}:16379"
EOF

# 4. 로컬 임시 파일 정리
rm ${PROJECT_NAME}.tar.gz

echo "🎉 배포가 완료되었습니다!"
echo ""
echo "📋 서비스 URL:"
echo "   프론트엔드: http://${NAS_IP}:10173"
echo "   백엔드 API: http://${NAS_IP}:10080/docs"
echo ""
echo "🔍 컨테이너 상태 확인:"
echo "   ssh -p ${SSH_PORT} ${NAS_USER}@${NAS_IP} 'sudo docker ps'"