#!/usr/bin/env bash
set -euo pipefail

ROOT_LOCAL="${1:-/home/ja/Documents/Projects/barcelona-02-2026/pve-site}"
REMOTE_HOST="${REMOTE_HOST:-root@100.109.116.112}"
REMOTE_ROOT="${REMOTE_ROOT:-/srv/barcelona-docs}"
HTTP_PORT="${HTTP_PORT:-38123}"

echo "Syncing ${ROOT_LOCAL} -> ${REMOTE_HOST}:${REMOTE_ROOT}"
rsync -av "${ROOT_LOCAL}/" "${REMOTE_HOST}:${REMOTE_ROOT}/"

echo "Installing systemd unit on ${REMOTE_HOST}"
ssh "${REMOTE_HOST}" "install -d ${REMOTE_ROOT} /etc/systemd/system"
ssh "${REMOTE_HOST}" "cp ${REMOTE_ROOT}/barcelona/barcelona-docs.service /etc/systemd/system/barcelona-docs.service"
ssh "${REMOTE_HOST}" "systemctl daemon-reload && systemctl enable --now barcelona-docs.service"

echo "Resetting old tailscale serve/funnel state on ${REMOTE_HOST}"
ssh "${REMOTE_HOST}" "tailscale funnel reset || true"
ssh "${REMOTE_HOST}" "tailscale serve reset || true"

echo "Enabling public funnel on ${REMOTE_HOST}"
ssh "${REMOTE_HOST}" "tailscale funnel --bg --https=443 http://127.0.0.1:${HTTP_PORT}"

echo
echo "Expected public URLs:"
echo "  https://pve-t1.tail1cbf23.ts.net/barcelona/barcelona-przewodnik-publiczny-pl.html"
echo "  https://pve-t1.tail1cbf23.ts.net/barcelona/barcelona-atrakcje-wszystko-pl.md"
echo "  https://pve-t1.tail1cbf23.ts.net/barcelona/atrakcje/README.md"
