#!/bin/bash
# ============================================================
# StreamHub — VPS Setup Script
# Jalankan sebagai root atau user dengan sudo
# Distro: Ubuntu 22.04 / 24.04
# ============================================================
set -e

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

log()  { echo -e "${GREEN}[OK]${NC} $1"; }
warn() { echo -e "${YELLOW}[!!]${NC} $1"; }
die()  { echo -e "${RED}[ERR]${NC} $1"; exit 1; }

APP_DIR="/opt/streamhub"
WEB_DIR="/var/www/streamhub"
LOG_DIR="/var/log/streamhub"

# ── 1. Update sistem ─────────────────────────────────────────
log "Update sistem..."
apt-get update -qq && apt-get upgrade -y -qq

# ── 2. Install Node.js 22 ────────────────────────────────────
log "Install Node.js 22..."
if ! command -v node &>/dev/null; then
    curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
    apt-get install -y nodejs
fi
node --version

# ── 3. Install pnpm ──────────────────────────────────────────
log "Install pnpm..."
npm install -g pnpm@latest pm2 2>/dev/null
pnpm --version
pm2 --version

# ── 4. Install Nginx ─────────────────────────────────────────
log "Install Nginx..."
apt-get install -y nginx
systemctl enable nginx

# ── 5. Buat direktori ────────────────────────────────────────
log "Buat direktori..."
mkdir -p "$APP_DIR" "$WEB_DIR" "$LOG_DIR"

log ""
log "============================================================"
log "  Setup selesai! Lanjutkan dengan deploy-app.sh"
log "============================================================"
