56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
# Deploy del monolito MercadoDeVida
|
|
|
|
## ¿Basta con copiar `project/`?
|
|
|
|
Sí, para levantar el monolito en un host basta con traer la carpeta `project/` completa y ejecutar:
|
|
|
|
```bash
|
|
cd project
|
|
./scripts/monolith.sh prod start
|
|
```
|
|
|
|
o, para reemplazar una versión anterior ya corriendo:
|
|
|
|
```bash
|
|
cd project
|
|
./scripts/monolith.sh prod restart
|
|
```
|
|
|
|
## Qué hace `monolith.sh prod start/restart`
|
|
|
|
1. Limpia procesos antiguos del proyecto y listeners en puertos gestionados.
|
|
2. Arranca PostgreSQL y Redis con Docker Compose.
|
|
3. Instala dependencias con `npm ci` en backend, admin, TPV, frontend y storefront.
|
|
4. Ejecuta migraciones.
|
|
5. Compila backend y frontends.
|
|
6. Arranca servicios con `nohup` y guarda PID/logs en `project/.runtime/prod/`.
|
|
7. Verifica HTTP para cada servicio.
|
|
|
|
Servicios por defecto:
|
|
|
|
| Servicio | Puerto |
|
|
|---|---:|
|
|
| Backend API | 3000 |
|
|
| Admin | 3001 |
|
|
| TPV | 3002 |
|
|
| Frontend | 3003 |
|
|
| Storefront SEO | 3004 |
|
|
|
|
## Requisitos del host
|
|
|
|
- Node.js >= 22
|
|
- npm
|
|
- Docker + Docker Compose
|
|
- Bash, curl, lsof
|
|
- Variables/secretos en `project/.env`
|
|
|
|
Si no existe `.env`, el script crea uno de desarrollo. En producción real conviene crear `.env` explícito antes de arrancar.
|
|
|
|
## Lo que NO gestiona
|
|
|
|
- Traefik/Nginx/Authelia o certificados TLS.
|
|
- Arranque automático tras reinicio del host.
|
|
- Backups de base de datos.
|
|
|
|
Para producción estable conviene envolver `./scripts/monolith.sh prod restart` con systemd, supervisor o el orquestador elegido.
|