O deseño descríbese na sección 5 de docs/architecture/23-ops.md. Vercel executa só a capa web. Todo o demais execútase nun host complementario que xestionas ti, e é obrigatorio.
Estado nesta versión
A configuración xa está preparada (apps/web/vercel.json, o preaxuste Nitro vercel e as comprobacións de inicio). Vercel precisa almacenamento de ficheiros compartido (QUIRE_STORAGE_DRIVER=s3 ou azure), un controlador de tempo real que funcione en varias instancias de funcións (QUIRE_REALTIME_DRIVER=sse ou centrifugo) e un provedor HTTP de correo. Se faltan, a capa web non se inicia e o rexistro indica cada axuste pendente.
Compoñentes
Compoñente
Onde se executa
web
Vercel Functions, entorno de execución Node: páxinas, REST, MCP, LTI e webhooks recibidos
worker, scheduler, collab, content
Un host complementario: Fly, Railway, ECS ou o teu propio host Docker con docker/compose.yaml
Postgres
Externo, detrás dun agrupador de conexións de transaccións: Neon, Supabase ou RDS con PgBouncer
Ficheiros
S3 ou R2. Non hai disco persistente
Tarefas en segundo plano
Engádense con pg-boss dentro da transacción da petición e execútaas o traballador complementario. Se o traballador complementario utiliza QUIRE_QUEUE_DRIVER=vercel, as tarefas lixeiras (notificacións sen orde e entregas de webhooks) pasan por Vercel Queues (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN) para que non se consulten esas tarefas en Postgres agrupado
Tarefas recorrentes
Planificador complementario. Non hai ningunha ruta Vercel Cron porque unha tarefa executada nunha función supera o seu tempo límite
Trazas
OpenTelemetry envíaas ao teu colector, OTEL_EXPORTER_OTLP_ENDPOINT
Limitacións deste destino
A capa web compróbaas ao iniciarse e rexeita a configuración, indicando todos os problemas en vez de fallar máis tarde cando non se envíe un correo:
Non admite SMTP. Vercel bloquea o tráfico SMTP saínte. Establece QUIRE_EMAIL_PROVIDER_CONFIG cun provedor HTTP (Postmark, SES, Mailgun, SendGrid ou Resend). Rexeitarase QUIRE_SMTP_URL.
Non admite disco local. Rexeitarase QUIRE_STORAGE_DRIVER=local.
Non comparte memoria entre invocacións. Rexeitarase QUIRE_REALTIME_DRIVER=inprocess. Os eventos enviados polo servidor limitanse ao tempo límite da función; o cliente reconéctase cun cursor, polo que non se perde ningún evento, pero a información de presenza non está dispoñible.
As bases de datos de inquilinos vinculados están limitadas a aproximadamente oito, porque cada unha require outro grupo de conexións nun entorno que non permite compartir os grupos.
Despregamento
Crea un proxecto de Vercel desde o repositorio e establece apps/web como Directorio raíz. apps/web/vercel.json configura os comandos de instalación e compilación (NITRO_PRESET=vercel) e serve /sw.js sen caché.
Establece as variables de entorno. A partir de docker/.env.example, necesitas polo menos: QUIRE_DEPLOY_TARGET=vercel, QUIRE_APP_ORIGIN, QUIRE_CONTENT_ORIGIN, QUIRE_PLATFORM_DOMAINS, QUIRE_SECRET_KEY, QUIRE_MASTER_KEY, DATABASE_URL (enderezo do agrupador), QUIRE_REPORT_DATABASE_URL, QUIRE_AUDIT_DATABASE_URL, QUIRE_DATABASE_ID, QUIRE_EMAIL_PROVIDER_CONFIG, QUIRE_MAIL_FROM, os axustes de almacenamento e QUIRE_COLLAB_URL e QUIRE_COLLAB_SIGNING_KEY, que deben apuntar ao servizo collab do host complementario.
QUIRE_REPORT_DATABASE_URL pertence á base de datos física indicada por
DATABASE_URL. Para cada base adicional rexistrada, engade o seu propio
URL de conexión quire_report aos entornos web e do traballador e, a
continuación, rexistra o nome da variable de entorno como env:NAME na
consola da plataforma. Se falta o URL de informes desa base, a analítica
falla de forma segura.
No host complementario, executa docker/compose.yaml sen o servizo web e co mesmo docker/.env:
As migracións execútanse alí antes de activar cada despregamento de Vercel.
Despregue. Se a configuración é rexeitada, o rexistro da función comeza por «The web tier did not start on vercel» e enumera todos os axustes que hai que cambiar.
Actualizacións
Executa primeiro as migracións no host complementario; despois, activa o novo despregamento de Vercel e, por último, actualiza gradualmente os traballadores complementarios, na orde indicada en upgrade.md. Unha reversión instantánea de Vercel reverte o código e sempre é segura dentro dunha versión.