codigo0/DEPLOY_LAB.md

2.9 KiB

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:

# 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):

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)

ssh root@207.180.226.141 "cd /srv/lab/stacks/guia-tes && ./scripts/deploy-lab.sh"

Opción B: Conectando al servidor

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

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

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