43ab3a6c04
Arquitectura de siempre: estatico en el LXC 142 (nginx, puerto 8083) con NPM delante para el TLS del wildcard, y CNAME kotej -> dyn en Namecheap. No hay backend porque no hace falta: los ficheros no salen del navegador. El CNAME se anadio releyendo la zona entera y reenviandola con el registro nuevo — setHosts reemplaza toda la zona, y perder el MX o el DKIM por no reenviarlos romperia el correo. Verificado que los 39 registros siguen ahi. deploy.sh deja el despliegue repetible; borra el destino antes de extraer para que los assets viejos no se acumulen. Closes #8 Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015hEAYuHRKMYz9sSa9zmbzz
46 lines
1.4 KiB
Bash
Executable File
46 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Despliega la web de Kotej en kotej.alexandre-vazquez.cloud.
|
|
#
|
|
# Arquitectura: estatico puro en el LXC 142 (webserver, 192.168.1.202) servido
|
|
# por nginx en el puerto 8083, con NPM (LXC 109) delante para el TLS del
|
|
# wildcard. No hay backend: los ficheros se comparan en el navegador y nunca
|
|
# se suben, asi que no hay nada mas que servir.
|
|
#
|
|
# El vhost, el proxy host de NPM y el CNAME ya estan creados; esto solo
|
|
# actualiza el contenido.
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
NODO=192.168.1.42 # payens: desde aqui se entra al LXC con pct
|
|
LXC=142
|
|
DESTINO=/var/www/kotej
|
|
SSH_KEY=~/.ssh/pxmanager
|
|
|
|
echo "==> build"
|
|
npm run build
|
|
|
|
echo "==> empaquetando"
|
|
TAR=$(mktemp -t kotej-dist).tgz
|
|
tar czf "$TAR" -C dist .
|
|
|
|
echo "==> subiendo a payens"
|
|
scp -q -i "$SSH_KEY" "$TAR" "root@$NODO:/tmp/kotej-dist.tgz"
|
|
rm -f "$TAR"
|
|
|
|
echo "==> desplegando en el LXC $LXC"
|
|
ssh -i "$SSH_KEY" "root@$NODO" bash -s <<EOF
|
|
set -e
|
|
pct push $LXC /tmp/kotej-dist.tgz /tmp/kotej-dist.tgz
|
|
# Se limpia primero: si no, los assets viejos (con otro hash) se acumularian
|
|
# para siempre.
|
|
pct exec $LXC -- sh -c 'rm -rf $DESTINO && mkdir -p $DESTINO \
|
|
&& tar xzf /tmp/kotej-dist.tgz -C $DESTINO && rm /tmp/kotej-dist.tgz'
|
|
rm -f /tmp/kotej-dist.tgz
|
|
EOF
|
|
|
|
echo "==> comprobando"
|
|
curl -fsS -o /dev/null -w " https://kotej.alexandre-vazquez.cloud -> %{http_code}\n" \
|
|
https://kotej.alexandre-vazquez.cloud/
|
|
echo "listo"
|