hbox-docs/scripts/deploy.sh

30 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# Construye el sitio y lo sube al servidor de Helgen por rsync/ssh.
# Uso: ./scripts/deploy.sh [usuario@servidor] [ruta-remota]
# Requiere: pip install mkdocs-material y acceso SSH al servidor (puerto 22).
set -euo pipefail
cd "$(dirname "$0")/.."
REMOTE="${1:-leo@git.helgen.online}"
REMOTE_PATH="${2:-/srv/projects/drogheda/hbox-docs/site}"
PORT="${SSH_PORT:-22}"
mkdocs build --strict
rsync -az --delete -e "ssh -p $PORT" site/ "$REMOTE:$REMOTE_PATH/"
echo "Sitio publicado en $REMOTE:$REMOTE_PATH (puerto $PORT)"
# El backend NO vive en git en el servidor: se copia igual que el sitio.
# Sin --delete (ahí junto al app.py viven el venv y __pycache__).
BACKEND_PATH="$(dirname "$REMOTE_PATH")/backend"
rsync -az -e "ssh -p $PORT" backend/app.py backend/requirements.txt backend/seed_1013.py \
backend/parche-nginx-api.py backend/actas-hbox.service backend/tablero.py backend/instalaciones.py "$REMOTE:$BACKEND_PATH/"
echo "Backend copiado en $REMOTE:$BACKEND_PATH"
# Tablero (21-oct): baja la foto a _estado/ (para que Claude lea el tablero) y avisa si hay lotes
# de Claude sin aplicar. Solo lee; los lotes se aplican con ./scripts/tablero.sh aplicar.
REMOTE="$REMOTE" SSH_PORT="$PORT" BACKEND_PATH="$BACKEND_PATH" ./scripts/tablero.sh estado \
|| echo "(no se pudo revisar el tablero; el sitio sí quedó publicado)"
echo
echo "FALTA reiniciar el servicio si cambió backend/app.py (pide sudo, por eso no se hace aquí):"
echo " ssh $REMOTE 'sudo systemctl restart actas-hbox'"