
#!/bin/bash
#====================================================
# ATP Hosting 24 - Deploy Script
# ສຳລັບ deploy scripts ຂຶ້ນ server
#====================================================

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
NC='\033[0m'

# Server connection info
SERVER_IP="51.161.196.180"
SERVER_USER="almalinux"
SERVER_PASSWORD="sujfNUb7YyrVLzIH"
REMOTE_DIR="/var/www/script.atphosting24.com"

echo -e "${CYAN}"
echo "╔══════════════════════════════════════════════════════════╗"
echo "║       ATP Hosting 24 - Deploy to Server                 ║"
echo "╚══════════════════════════════════════════════════════════╝"
echo -e "${NC}"

# Check if sshpass is installed
if ! command -v sshpass &> /dev/null; then
    echo -e "${YELLOW}[INFO] Installing sshpass...${NC}"
    if [[ "$(uname)" == "Darwin" ]]; then
        brew install sshpass 2>/dev/null || brew install hudochenkov/sshpass/sshpass 2>/dev/null
    elif [[ -f /etc/redhat-release ]]; then
        yum install -y sshpass
    else
        apt install -y sshpass
    fi
fi

# Get the directory where this script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

echo -e "${GREEN}[STEP]${NC} Deploying scripts to server ${SERVER_IP}..."
echo ""

SSH_CMD="sshpass -p '${SERVER_PASSWORD}' ssh -o StrictHostKeyChecking=no ${SERVER_USER}@${SERVER_IP}"
SCP_CMD="sshpass -p '${SERVER_PASSWORD}' scp -o StrictHostKeyChecking=no"

# Step 1: Create remote directory
echo -e "${GREEN}[1/6]${NC} Creating remote directory..."
$SSH_CMD "sudo mkdir -p ${REMOTE_DIR}/scripts"

# Step 2: Upload pre.sh
echo -e "${GREEN}[2/6]${NC} Uploading pre.sh..."
$SCP_CMD "${SCRIPT_DIR}/pre.sh" ${SERVER_USER}@${SERVER_IP}:/tmp/pre.sh
$SSH_CMD "sudo cp /tmp/pre.sh ${REMOTE_DIR}/pre.sh && sudo chmod +x ${REMOTE_DIR}/pre.sh"

# Step 3: Upload update_cpanelv2
echo -e "${GREEN}[3/6]${NC} Uploading update_cpanelv2..."
$SCP_CMD "${SCRIPT_DIR}/update_cpanelv2" ${SERVER_USER}@${SERVER_IP}:/tmp/update_cpanelv2
$SSH_CMD "sudo cp /tmp/update_cpanelv2 ${REMOTE_DIR}/update_cpanelv2 && sudo chmod +x ${REMOTE_DIR}/update_cpanelv2"

# Step 4: Upload remove_reseller.sh
echo -e "${GREEN}[4/6]${NC} Uploading remove_reseller.sh..."
$SCP_CMD "${SCRIPT_DIR}/scripts/remove_reseller.sh" ${SERVER_USER}@${SERVER_IP}:/tmp/remove_reseller.sh
$SSH_CMD "sudo cp /tmp/remove_reseller.sh ${REMOTE_DIR}/scripts/remove_reseller.sh && sudo chmod +x ${REMOTE_DIR}/scripts/remove_reseller.sh"

# Step 5: Set permissions
echo -e "${GREEN}[5/6]${NC} Setting permissions..."
$SSH_CMD "sudo chown -R nginx:nginx ${REMOTE_DIR}/ && sudo chmod -R 755 ${REMOTE_DIR}/"

# Step 6: Upload and configure Nginx
echo -e "${GREEN}[6/6]${NC} Configuring Nginx..."
if [[ -f "${SCRIPT_DIR}/nginx/script.atphosting24.com.conf" ]]; then
    $SCP_CMD "${SCRIPT_DIR}/nginx/script.atphosting24.com.conf" ${SERVER_USER}@${SERVER_IP}:/tmp/script.atphosting24.com.conf
    $SSH_CMD "sudo cp /tmp/script.atphosting24.com.conf /etc/nginx/conf.d/ && sudo nginx -t && sudo systemctl restart nginx"
fi

echo ""
echo -e "${CYAN}═════════════════════════════════════════════════════════════${NC}"
echo -e "${GREEN}  Deploy completed successfully!${NC}"
echo ""
echo -e "  Test with:"
echo -e "  ${YELLOW}curl -4 https://script.atphosting24.com/pre.sh${NC}"
echo -e "  ${YELLOW}curl https://script.atphosting24.com/scripts/remove_reseller.sh${NC}"
echo -e "${CYAN}═════════════════════════════════════════════════════════════${NC}"
