Despliegue
| Componente | Dónde | Deploy |
|---|---|---|
Backend (Aura-reloaded) | DigitalOcean App Platform | push a la rama principal |
Frontend (aura-front) | Cloudflare Pages | push a la rama principal |
| Ajolote | servicio propio (Dokploy) | — |
| FreeSWITCH | VM en la red de Yeastar (mod_audio_fork) | — |
Backend (DigitalOcean)
- Build/start estándar de NestJS (
pnpm build→pnpm start:prod). - Migraciones: DigitalOcean corre
node dist/database/migrate.jscomo job pre-deploy en cada push. Aplica las migraciones pendientes dedrizzle/automáticamente. - Variables de entorno: las de Setup → Entorno local,
con los valores de prod (
DATABASE_URL,OPENAI_API_KEY,AUTH_SERVICE_URL, etc.).
Migración urgente sin deploy completo
# 1. .env.prod con la DATABASE_URL de producción
cp .env .env.prod # editar DATABASE_URL=postgres://...prod...
# 2. Aplicar
pnpm db:migrate:prod
Hace lo mismo que el job pre-deploy, pero desde local. Ver las notas de migraciones en Base de datos.
Frontend (Cloudflare Pages)
- Build command:
pnpm build - Build output:
dist - Variables
VITE_*de producción (apuntando al backend y ajolote reales; en prod no hace falta el proxy de Vite porque la cookie saleSameSite=None; Secure). - GitHub token: agregar
GITHUB_TOKENen las env vars del build (para instalar@cuatro-quinas/*).
Retell (producción)
En el agente de Retell, apuntar a las URLs públicas del backend:
- Custom LLM URL:
wss://<backend-prod>/retell/llm-websocket - Webhook URL:
https://<backend-prod>/retell/webhook
Para pruebas locales se usa un tunnel — ver Setup → Pruebas con Retell.
Checklist antes de pushear
pnpm typecheck(ypnpm build) verde en el/los repos tocados.- Si tocaste un
*.schema.ts: generaste la migración conpnpm db:generatey commiteastedrizzle/junto con el cambio. - Features suelen tocar dos repos (
Aura-reloaded+aura-front) — no olvidar pushear ambos.