codigo0/DEPLOY_LAB.md

110 lines
2.9 KiB
Markdown

# Despliegue EMERGES TES (guia-tes) en LAB
Despliegue en el mismo servidor que TalentOS (`root@207.180.226.141`), usando el mismo método (Docker, docker-compose, rsync) pero en puerto distinto.
## Parámetros
| Variable | Valor por defecto | Descripción |
|--------------|-------------------|--------------------------------------------|
| Puerto host | 8608 | Puerto donde escucha la app en el servidor |
| Ruta remota | `/srv/lab/stacks/guia-tes` | Stack en el servidor |
| Puerto contenedor | 8607 | Interno (serve) |
> TalentOS usa puerto 3000; EMERGES TES usa 8608 por defecto (sin conflicto).
---
## 1. Configurar puerto (opcional)
Para usar otro puerto distinto de 8608:
```bash
# En local o en el servidor, crear/editar .env
echo "APP_PORT=8609" > .env
```
---
## 2. Subir código al servidor
Desde tu máquina local (en el directorio del proyecto):
```bash
chmod +x scripts/subir-al-servidor.sh
./scripts/subir-al-servidor.sh
```
Usa `rsync` para copiar el código. Excluye `node_modules`, `dist`, `coverage`, `.git`.
---
## 3. Deploy en el servidor
### Opción A: Desde local (SSH remoto)
```bash
ssh root@207.180.226.141 "cd /srv/lab/stacks/guia-tes && ./scripts/deploy-lab.sh"
```
### Opción B: Conectando al servidor
```bash
ssh root@207.180.226.141
cd /srv/lab/stacks/guia-tes
chmod +x scripts/deploy-lab.sh
./scripts/deploy-lab.sh
```
El script hace:
1. `docker compose -f docker-compose.lab.yml build --no-cache`
2. `docker compose -f docker-compose.lab.yml up -d`
---
## 4. Verificación
```bash
# Ver contenedor
docker ps | grep emerges_tes_app
# Ver logs
docker compose -f docker-compose.lab.yml logs -f emerges-tes
# Verificar puerto
ss -tlnp | grep 8608
```
Acceso: `http://207.180.226.141:8608`
---
## Comandos útiles
| Acción | Comando |
|-------------|--------------------------------------------------------------|
| Ver logs | `docker compose -f docker-compose.lab.yml logs -f emerges-tes` |
| Reiniciar | `docker compose -f docker-compose.lab.yml restart emerges-tes` |
| Detener | `docker compose -f docker-compose.lab.yml down` |
| Rebuild | `docker compose -f docker-compose.lab.yml build --no-cache && docker compose -f docker-compose.lab.yml up -d` |
---
## Flujo completo (subida + deploy)
```bash
# 1. Local: subir código
./scripts/subir-al-servidor.sh
# 2. Servidor: build y up
ssh root@207.180.226.141 "cd /srv/lab/stacks/guia-tes && ./scripts/deploy-lab.sh"
```
---
## Notas
- **No se reutiliza** la configuración ni los puertos de TalentOS (3000).
- Se sigue el mismo patrón: Docker, rsync, `build --no-cache`, `up -d`.
- El Dockerfile hace multi-stage build; el contenedor final sirve estáticos con `serve` en el puerto 8607 interno, mapeado al puerto configurado en el host.