#!/bin/bash
# Amazon Job Dashboard — VPS Auto Setup Script
# Ubuntu 22.04 এ চালান: bash setup-server.sh

set -e
echo "=== Amazon Job Dashboard Server Setup ==="

# Update system
apt-get update -y
apt-get upgrade -y

# Install Node.js 20
echo "Installing Node.js..."
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get install -y nodejs

# Install MongoDB
echo "Installing MongoDB..."
wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-7.0.list
apt-get update
apt-get install -y mongodb-org
systemctl start mongod
systemctl enable mongod

# Install PM2
echo "Installing PM2..."
npm install -g pm2

# Install Playwright dependencies
echo "Installing Playwright dependencies..."
apt-get install -y \
  libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 \
  libcups2 libdrm2 libxkbcommon0 libxcomposite1 \
  libxdamage1 libxfixes3 libxrandr2 libgbm1 \
  libasound2 libpango-1.0-0 libcairo2 xvfb \
  fonts-liberation libappindicator3-1

# Install Nginx
echo "Installing Nginx..."
apt-get install -y nginx

# Setup Xvfb (virtual display for Playwright)
echo "Setting up Xvfb..."
cat > /etc/systemd/system/xvfb.service << 'EOF'
[Unit]
Description=X Virtual Frame Buffer
After=network.target

[Service]
ExecStart=/usr/bin/Xvfb :99 -screen 0 1280x800x24
Restart=always

[Install]
WantedBy=multi-user.target
EOF
systemctl enable xvfb
systemctl start xvfb

# Create project directory
mkdir -p /var/www/amazon-job-dashboard

echo ""
echo "=== Setup Complete! ==="
echo ""
echo "Next steps:"
echo "1. Upload your project: scp -r . root@SERVER_IP:/var/www/amazon-job-dashboard"
echo "2. cd /var/www/amazon-job-dashboard"
echo "3. npm install"
echo "4. npx playwright install chromium"
echo "5. Create .env.local with your MongoDB URI"
echo "6. npm run build"
echo "7. DISPLAY=:99 pm2 start ecosystem.config.js"
echo ""
echo "Access your dashboard at: http://$(curl -s ifconfig.me):3000"
