Despliegue
Plataforma de despliegue
Section titled “Plataforma de despliegue”BoostAPI se despliega en Render como un web service.
Comandos de Render
Section titled “Comandos de Render”| Configuracion | Valor |
|---|---|
| Build Command | yarn build:render |
| Start Command | yarn start:render |
build:render fuerza la instalacion de devDependencies durante el build (evita errores exit code 127 cuando NODE_ENV=production).
start:render arranca con el entrypoint compilado correcto (dist/src/main).
Variables de entorno en Render
Section titled “Variables de entorno en Render”Render inyecta automaticamente RENDER_EXTERNAL_URL con la URL del servicio. BoostAPI la usa para derivar la URL publica del webhook cuando BOOST_PUBLIC_BASE_URL no esta definida.
Modos de runtime
Section titled “Modos de runtime”| Modo | APP_RUNTIME_MODE |
Zauru | Uso |
|---|---|---|---|
| dev | dev |
zauru.herokuapp.com |
Desarrollo local |
| preview | preview |
zauru.herokuapp.com (forzado) |
Ambientes de preview/staging |
| prod | prod |
app.zauru.com |
Produccion |
Regla de preview
Section titled “Regla de preview”Si NODE_ENV=preview, BoostAPI fuerza el entorno Zauru de preview (Heroku), incluso si ZAURU_ENV=prod. Esto protege contra cambios accidentales en datos de produccion de Zauru.
Origenes siempre permitidos
Section titled “Origenes siempre permitidos”https://app.boost.com.gthttps://boost-v2-eight.vercel.app
Origenes automaticos en dev
Section titled “Origenes automaticos en dev”En modo dev, se permiten automaticamente:
localhosten cualquier puerto (http/https)127.0.0.1en cualquier puerto::1en cualquier puerto
Configuracion adicional
Section titled “Configuracion adicional”Usa CORS_ALLOWED_ORIGINS para agregar origenes adicionales:
CORS_ALLOWED_ORIGINS=https://preview.boost.com.gt,https://staging.boost.com.gtSi incluyes *, se permite cualquier origen (no recomendado para produccion).
Nota: Si un origen tiene path (ej: https://boost-v2-eight.vercel.app/login), el backend lo normaliza automaticamente a su origin base.
Swagger
Section titled “Swagger”La documentacion interactiva Swagger esta disponible en:
{BOOST_API_URL}/apiEn desarrollo local: http://localhost:3003/api
Flujo de despliegue tipico
Section titled “Flujo de despliegue tipico”Desarrollo local
Section titled “Desarrollo local”yarn installcp .env.template .env# Editar .envyarn start:devPreview
Section titled “Preview”- Push a una branch de feature
- Render despliega automaticamente (si esta configurado)
- Configurar variables de entorno con
APP_RUNTIME_MODE=preview - Zauru apunta a staging automaticamente
Produccion
Section titled “Produccion”- Merge a
main - Render despliega automaticamente
- Variables de entorno con
APP_RUNTIME_MODE=prod - Zauru apunta a produccion
Workers opcionales
Section titled “Workers opcionales”BoostAPI puede correr workers separados:
| Worker | Script | Funcion |
|---|---|---|
| Media Worker | yarn media:worker |
Procesa uploads de media (imagenes, audio, video) |
| Interactions Worker | yarn interactions:worker |
Procesa eventos de mensajeria |
En modo inline (MEDIA_INLINE_WORKER_ENABLED=true), el procesamiento de media ocurre dentro del proceso principal.
Seeds de produccion
Section titled “Seeds de produccion”Para despliegues iniciales o migraciones de datos:
# Primero compilaryarn build
# Seed de usuarios (dry-run primero)yarn seed:prod:discogua-initial-users -- --emails user@empresa.comyarn seed:prod:discogua-initial-users -- --apply --emails user@empresa.com
# Seed de clientes y contactos (dry-run primero)yarn seed:prod:discogua-clients-contacts -- --dry-runyarn seed:prod:discogua-clients-contacts -- --applyMonitoreo
Section titled “Monitoreo”- Logs: Render proporciona logs en tiempo real
- Swagger: Disponible en
/apipara testing manual - Health checks: Los webhooks tienen endpoints
/healthdedicados
Referencia privada: Ver
BoostAPI/docs/preview-runtime-rollout.mdpara el runbook completo de preview yBoostAPI/docs/demo-preview-playbook-2026-06-02.mdpara el playbook de demos.
