#!/usr/bin/env bash
# ==============================================================================
# Script Otomatis Setup Lingkungan VPS untuk Web Membership (Ubuntu/Debian)
# Jalankan dengan: sudo bash setup_vps.sh
# ==============================================================================

set -e

echo "=== [1/6] Memperbarui Paket Sistem & Perangkat Pendukung ==="
apt update && apt upgrade -y
apt install -y curl wget git unzip nano ufw

echo "=== [2/6] Memasang Node.js 20 LTS ==="
if ! command -v node &> /dev/null; then
    curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
    apt install -y nodejs
fi
echo "Node.js Version: $(node -v)"
echo "NPM Version: $(npm -v)"

echo "=== [3/6] Memasang PM2 Process Manager ==="
if ! command -v pm2 &> /dev/null; then
    npm install -g pm2
fi

echo "=== [4/6] Memasang Nginx & Certbot ==="
apt install -y nginx certbot python3-certbot-nginx
systemctl enable nginx
systemctl start nginx

echo "=== [5/6] Memasang MySQL Server ==="
if ! command -v mysql &> /dev/null; then
    apt install -y mysql-server
    systemctl enable mysql
    systemctl start mysql
fi

echo "=== [6/6] Menyiapkan Direktori Upload ==="
mkdir -p uploads/bots uploads/videos
chmod -R 777 uploads

echo ""
echo "=================================================================="
echo "  Persiapan Lingkungan Server Selesai!"
echo "=================================================================="
echo "Langkah selanjutnya:"
echo "1. Konfigurasikan database MySQL (lihat PANDUAN_DEPLOY_VPS.md)"
echo "2. Salin .env.example menjadi .env: cp .env.example .env"
echo "3. Edit .env sesuai database & domain Anda: nano .env"
echo "4. Jalankan: npm install && npm run build"
echo "5. Jalankan aplikasi: pm2 start ecosystem.config.cjs"
echo "=================================================================="
