Skip to content

Despliegue a pendrive — Linux

Genera un paquete siva-linux/ autónomo que ejecuta SIVA en Linux desde un pendrive, sin instalar nada en el sistema y sin modificar el proyecto original.

  • Script: deploy/pendrive/linux/preparar.sh
  • Salida: deploy/pendrive/linux/salida/siva-linux/ (+ siva-linux.zip)
  • Backend compilado (dist/) con dependencias de producción.

Requisitos (máquina que genera el paquete)

  • Linux con rsync, python3, zip y realpath.
  • Node portátil en deploy/pendrive/node/node-v24.18.0-linux.
  • backend/.env presente.
  • Carpeta logos/ en la raíz del proyecto.

Generar el paquete

bash
cd deploy/pendrive/linux
chmod +x preparar.sh
./preparar.sh

El script:

  1. Compila el frontend.
  2. Crea salida/siva-linux/ y copia Node Linux, el backend, frontend/dist y logos/.
  3. Parchea backend/src/app.ts (helmet permisivo, CORS abierto y servido del SPA con fallback) y backend/.env (CORS_ORIGIN=*).
  4. Instala dependencias (npm ci), compila el backend (npm run build) y elimina las dependencias de desarrollo (npm prune --omit=dev).
  5. Crea el lanzador siva.sh (ejecutable, un único puerto 3000) y comprime salida/siva-linux.zip.

Usar en el pendrive

  1. Copiar siva-linux/ al pendrive (o descomprimir el zip).
  2. Ejecutar ./siva.sh.
  3. El lanzador libera el puerto 3000 si estuviera ocupado, arranca el backend con Node portátil, espera a /api/health, abre el navegador y muestra la IP de LAN.
  4. Acceso: http://localhost:3000 — usuario superadmin@inap.es, contraseña superadmin1234.

Notas

  • El script no toca el proyecto original: todo se hace sobre la copia en salida/.
  • Cada ejecución borra salida/siva-linux/ y sobrescribe el .zip.
  • El backend se ejecuta en producción (node dist/server.js), sin tsx ni dependencias de desarrollo.
  • puppeteer (generación de PDF) descarga Chromium; si la caché de Chromium no viaja en el pendrive, esa función puede no estar disponible en el destino.
  • El Node portátil es para x86_64 con glibc; en distribuciones muy antiguas podría no arrancar.

SIVA — Sistema Integral de Vigilantes de Aulas