# 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.