Bram

Esto es un titulo de ejemplo

Desplegar en Vercel

Es el despliegue actual de producción (vercel.json con framework: nextjs).

Pasos

  1. Importa el repositorio en Vercel (root directory: init). Vercel detecta Next.js y pnpm.
  2. En Settings → Environment Variables añade las de Variables de entorno (como mínimo JWT_SECRET, MONGODB_URI/MONGODB_URI_EU, MONGODB_DB_NAME, CRON_SECRET, GOOGLE_SCRIPT_URL, GOOGLE_SCRIPT_SECRET).
  3. En MongoDB Atlas → Network Access, permite las IPs de Vercel (en planes sin IP fija: 0.0.0.0/0 con usuario de base de datos con contraseña fuerte y permisos solo sobre esa base).
  4. Despliega. Tras el primer despliegue, crea la cuenta owner ejecutando pnpm bootstrap:owner … en tu máquina con las mismas variables de producción.

Crons

vercel.json define:

{ "path": "/api/cron/sales-follow-ups", "schedule": "0 0 * * *" }

Vercel añade Authorization: Bearer CRON_SECRET automáticamente si la variable existe.

La cola de verificación de emails necesita un latido cada ~10 minutos. En el plan Hobby los crons solo pueden ser diarios, así que ese latido lo da el disparador del Apps Script (ver Apps Script). En Pro puedes añadir en su lugar:

{ "path": "/api/cron/email-verification", "schedule": "*/10 * * * *" }

Con un cron de Vercel la llamada no lleva la cabecera de región; solo se procesa la región por defecto (MONGODB_REGION_DEFAULT). Si usas Asia, sigue usando el disparador del Apps Script, que llama a ambas.

Regiones

Con clusters en Europa y Asia (Vercel Pro) puedes desplegar funciones cerca de cada uno: "regions": ["fra1", "sin1"] en vercel.json y MONGODB_SPLIT_BY_REGION=true.

Tiempos máximos

Algunas rutas declaran maxDuration (enriquecimiento: 300 s; verificación: 60 s). En Hobby el máximo real es menor: lotes de enriquecimiento grandes pueden cortarse; el panel ya limita a 5 empresas por petición.

GitHub
LinkedIn
X
Esto es un titulo de ejemplo | BRAM