#!/usr/bin/env bash
#
# Feltöltés a Rackforest tárhelyre SSH-n.
#
#   ./deploy.sh felhasznalo@szerver.hu [tavoli/utvonal]
#
# A forrást tölti fel (nem a buildet), mert a natív függőségek —
# például a sharp képoptimalizáló — a szerver architektúrájára
# kell hogy települjenek. A build a szerveren fut le.

set -euo pipefail

REMOTE="${1:?Add meg: felhasznalo@szerver.hu}"
REMOTE_PATH="${2:-next-zsoltiacm}"

echo "▶ Feltöltés ide: $REMOTE:$REMOTE_PATH"

rsync -az --delete --info=progress2 \
  --exclude '.git' \
  --exclude 'node_modules' \
  --exclude '.next' \
  --exclude '.env.local' \
  --exclude '.idea' \
  --exclude '*.tsbuildinfo' \
  ./ "$REMOTE:$REMOTE_PATH/"

echo
echo "▶ Telepítés és build a szerveren"
ssh "$REMOTE" bash -lc "'
  set -e
  cd \"$REMOTE_PATH\"
  if [ ! -f .env.local ]; then
    echo \"HIÁNYZIK a .env.local — másold fel a .env.production.example alapján!\"
    exit 1
  fi
  # a buildhez a devDependencies is kell (TypeScript), ezért nincs --omit=dev
  npm ci || npm install
  # CloudLinux tárhelyen a memórialimit szűk lehet
  NODE_OPTIONS=--max-old-space-size=1024 npm run build
'"

echo
echo "✓ Kész. Indítsd újra az appot a cPanelben (Setup Node.js App → Restart)."
