110 lines
2.9 KiB
Markdown
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.
|