#!/usr/bin/env bash
# One-shot app setup — run this ON THE VM, inside the site/ folder, after uploading.
#   cd /opt/br-cessa/site && bash deploy/setup.sh
set -e

echo "==> BR-CESSA site setup"

# 1. Node.js (install 20 LTS if missing)
if ! command -v node >/dev/null 2>&1; then
  echo "==> Installing Node.js 20 LTS ..."
  curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
  sudo apt-get install -y nodejs
fi
echo "    node $(node -v),  npm $(npm -v)"

# 2. Dependencies
echo "==> Installing dependencies ..."
npm install --omit=dev

# 3. Config
if [ ! -f .env ]; then
  cp .env.example .env
  echo "==> Created .env from template — EDIT IT NOW to set ADMIN_PASS:"
  echo "    nano .env"
fi

# 4. Quick run test
echo "==> Setup done. Test it with:   node server.js   (Ctrl-C to stop)"
echo ""
echo "Next (one-time), to run as a service + put nginx in front:"
echo "  sudo cp deploy/br-cessa.service /etc/systemd/system/"
echo "  sudo systemctl daemon-reload && sudo systemctl enable --now br-cessa"
echo "  sudo apt-get install -y nginx"
echo "  sudo cp deploy/nginx-br-cessa.conf /etc/nginx/sites-available/br-cessa"
echo "  sudo ln -s /etc/nginx/sites-available/br-cessa /etc/nginx/sites-enabled/"
echo "  sudo rm -f /etc/nginx/sites-enabled/default"
echo "  sudo nginx -t && sudo systemctl reload nginx"
echo ""
echo "Then at https://vra.ust.hk add the 'Internet Web' firewall tag to make it public."
