feat: instalador para servidor nuevo + fix migracion 006 en BD vacia
scripts/install.sh automatiza el primer despliegue en un servidor Debian/Ubuntu nuevo: verifica requisitos (Node.js, npm, cliente mysql, systemd, espacio, puertos libres), pregunta dominio, puertos y base de datos (MariaDB local auto-instalada o un servidor existente), genera backend/.env con secretos aleatorios, corre migraciones + catalogos, compila el frontend y crea/arranca los servicios systemd. No crea usuarios: el primer registro publico se vuelve superadmin solo (bootstrap ya existente). Probando el instalador de punta a punta contra una base de datos recien creada goo un bug real: la migracion 006_seed_it_baseline.sql (datos de ejemplo especificos de LinkedCorp) fallaba por foreign key al no existir todavia catalogos ni usuario. Corregido para que detecte esa situacion y quede inerte en instalaciones nuevas, sin tocar el comportamiento ya probado en dev/prod. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,30 @@ Arquetipo B (dos servicios separados). Primer deploy realizado el 2026-09-06.
|
||||
|
||||
---
|
||||
|
||||
## Instalación automatizada en un servidor NUEVO
|
||||
|
||||
`scripts/install.sh` automatiza todo lo de esta sección para un servidor Debian/Ubuntu nuevo:
|
||||
verifica requisitos (Node.js, npm, cliente mysql, systemd, espacio, puertos libres), pregunta
|
||||
dominio/puertos y datos de base de datos (MariaDB local — se instala sola si hace falta — o un
|
||||
servidor existente), crea la base + usuario, genera `backend/.env` con secretos aleatorios,
|
||||
instala dependencias, corre migraciones + catálogos, compila el frontend y crea/arranca los
|
||||
servicios systemd.
|
||||
|
||||
```bash
|
||||
# En el servidor nuevo, ya con el repo clonado en /opt/apps/project.linkedcorp.net/source:
|
||||
cd /opt/apps/project.linkedcorp.net/source
|
||||
sudo scripts/install.sh
|
||||
```
|
||||
|
||||
No configura el reverse proxy/TLS (paso 11 más abajo, específico de cada proveedor) ni crea
|
||||
ningún usuario: el primer registro público en `/registro` se vuelve superadministrador solo — no
|
||||
hace falta `create-admin.js` en instalaciones nuevas.
|
||||
|
||||
Las secciones de abajo son la referencia manual (lo que hace el script paso a paso) — útiles para
|
||||
entender el porqué de cada cosa o para resolver un problema puntual sin volver a correr todo.
|
||||
|
||||
---
|
||||
|
||||
## Primer despliegue en producción (ya ejecutado — referencia)
|
||||
|
||||
### 1. Entrar al servidor
|
||||
|
||||
Reference in New Issue
Block a user