Checklist de despliegue y seguridad
Despliega web y admin con migraciones explícitas, cron, readiness, red fiable y controles de producción.
Sincronizado con el commit
2a1a04adel starter.
Usa esta lista final cuando la aplicación ya funcione en local. El objetivo no es solo un despliegue verde: es una versión que puedas autenticar, cobrar, operar, restaurar y administrar sin atajos de desarrollo.
Elige la forma del despliegue
- Web y consola admin son builds separados y deben usar orígenes separados; pueden compartir repositorio, base, secreto de autenticación y etiqueta de versión.
- Se documenta Vercel porque
vercel.jsontrae cron, pero sirve cualquier host Node con PostgreSQL, Redis, HTTPS, secretos y un programador autenticado. - Usa una URL PostgreSQL con pool para tráfico serverless y, si hace falta, una directa para migraciones. Migra antes de promover código; no se ejecuta desde el build.
- Empieza CSP en report-only, observa hosts de analytics, Turnstile, Stripe y storage y decide después cuándo aplicarla.
Está listo para producción cuando: ambos builds parten de la misma versión, migraciones verificadas, /api/ready sano, backup restaurable, cron y webhook Stripe probados, sin flags demo y roles admin de lectura/escritura correctos.
Despliega web y apps/admin como servicios con orígenes separados. Usa Node >=20.19.0 <23 y pnpm 10.22.0; ejecuta pnpm lint, pnpm test:cov, pnpm build y después pnpm db:check:prod y pnpm db:migrate:prod. Las migraciones nunca son automáticas.
Controles obligatorios
BETTER_AUTH_SECRETfuerte, URLs correctas, PostgreSQL productivo y copias con pruebas de restauración.- Rate limit distribuido en Redis y fuente/header de IP explícitamente fiable.
- Turnstile; flags demo y logs de enlaces auth desactivados.
CRON_SECRETy/api/cron/jobscada cinco minutos (vercel.jsonlo incluye).- Stripe live, webhook, Portal seguro y Price IDs si hay facturación.
- Objetos privados, mínimo privilegio, CORS correcto y URLs breves si hay storage.
- Dominio de correo verificado y política legal/retención revisada.
Usa /api/health para vida y /api/ready para entorno, base, migraciones, Redis y cola. Una cola degradada requiere alerta aunque sirva tráfico.
Hay HSTS en producción y ruta CSP report-only. Observa reportes antes de aplicar una política compatible. Tras desplegar prueba auth, aislamiento, checkout/webhooks, cron, exportación/borrado y MFA admin. Lee DEPLOYMENT.md, docs/security-headers.md y .env.example.
La versión actual también incluye imágenes reforzadas para web, admin, worker y Content Studio, y pnpm launch:check para unir configuración, contenedores, migraciones, integridad, retención, tests y builds. Sigue Contenedores y lanzamiento y demuestra recuperación con Copias y restore.
Contenedores y preparación de lanzamiento
Construye web, admin, worker y Content Studio, separa migraciones y ejecuta la auditoría completa de producción.
Flujo de generación de imagen por cinco créditos
Sigue una tarea asíncrona de pago por autenticación, permisos, créditos idempotentes, worker durable, almacenamiento privado y compensación.