Designet beskrives i afsnit 5 i docs/architecture/23-ops.md. Vercel kører kun
weblaget. Alt andet kører på en tilhørende vært, som du driver, og det er
obligatorisk.
Status i denne udgivelse
Konfigurationen er på plads (apps/web/vercel.json, Nitro-forudindstillingen
vercel og opstartskontrollerne). Vercel kræver delt fillagring
(QUIRE_STORAGE_DRIVER=s3 eller azure), en realtidsdriver, der fungerer på tværs af funktionsinstanser
(QUIRE_REALTIME_DRIVER=sse eller centrifugo), samt en HTTP-e-mailudbyder. Uden dette nægter weblaget at starte, og loggen
navngiver alle manglende indstillinger.
Komponenterne
Komponent
Hvor den kører
web
Vercel Functions, Node-runtime: sider, REST, MCP, LTI og modtagelse af webhooks
worker, scheduler, collab, content
En tilhørende vært: Fly, Railway, ECS eller din egen Docker-vært med docker/compose.yaml
Postgres
Eksternt, bag en transaktionspooler: Neon, Supabase eller RDS med PgBouncer
Filer
S3 eller R2. Der findes ingen vedvarende disk
Baggrundsjob
Lægges i kø med pg-boss i forespørgslens transaktion og køres af den tilhørende worker. Hvis QUIRE_QUEUE_DRIVER=vercel er indstillet på den tilhørende worker, går lette job (uordnede notifikations- og webhookleverancer) gennem Vercel Queues (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN), så den poolede Postgres ikke spørges for dem
Gentagne job
Den tilhørende scheduler. Der findes ingen Vercel Cron-rute, fordi et cronjob, der udfører arbejde i en funktion, får timeout
Sporingsdata
OpenTelemetry til din collector, OTEL_EXPORTER_OTLP_ENDPOINT
Hvad denne platform ikke kan
Weblaget kontrollerer disse forhold ved opstart og nægter at starte, mens det navngiver alle problemer,
i stedet for først at fejle senere, når den første e-mail ikke bliver sendt:
Ingen SMTP. Vercel blokerer udgående SMTP. Angiv en HTTP-udbyder i
QUIRE_EMAIL_PROVIDER_CONFIG (Postmark, SES, Mailgun, SendGrid eller Resend).
QUIRE_SMTP_URL afvises.
Ingen lokal disk.QUIRE_STORAGE_DRIVER=local afvises.
Ingen delt hukommelse mellem kald.QUIRE_REALTIME_DRIVER=inprocess
afvises. Server-sent events er begrænset af funktions-timeout; klienten
opretter igen forbindelse med en markør, så ingen hændelser går tabt, men tilstedeværelse
er ikke tilgængelig.
Antallet af fastlåste lejerdatabaser er begrænset til omkring otte, fordi hver database
kræver endnu en forbindelsespulje i et miljø, hvor puljer ikke kan deles.
Udrulning
Opret et Vercel-projekt fra arkivet med Rodmappe sat til
apps/web. apps/web/vercel.json angiver installations- og buildkommandoerne
(NITRO_PRESET=vercel) og leverer /sw.js uden cache.
Angiv miljøvariablerne. Mindst følgende værdier fra docker/.env.example skal
bruges: QUIRE_DEPLOY_TARGET=vercel, QUIRE_APP_ORIGIN, QUIRE_CONTENT_ORIGIN,
QUIRE_PLATFORM_DOMAINS, QUIRE_SECRET_KEY, QUIRE_MASTER_KEY,
DATABASE_URL (poolerens adresse), QUIRE_REPORT_DATABASE_URL,
QUIRE_AUDIT_DATABASE_URL, QUIRE_DATABASE_ID,
QUIRE_EMAIL_PROVIDER_CONFIG, QUIRE_MAIL_FROM, indstillingerne for fillagring
samt QUIRE_COLLAB_URL og QUIRE_COLLAB_SIGNING_KEY, der peger på
den tilhørende collab-tjeneste.
QUIRE_REPORT_DATABASE_URL hører til den fysiske database, der er angivet i
DATABASE_URL. For hver yderligere registreret database skal du tilføje dens egen
quire_report-forbindelsesadresse til både web- og workermiljøet og derefter
registrere dens miljøvariabelnavn som env:NAME i platformskonsollen. Analyse fejler lukket,
hvis databasens rapportadresse mangler.
Kør docker/compose.yaml på den tilhørende vært uden tjenesten web,
med samme docker/.env:
Migreringer køres dér, før hver Vercel-udrulning aktiveres.
Udrul. Hvis konfigurationen afvises, begynder funktionsloggen med “The web
tier did not start on vercel” og viser hver indstilling, der skal ændres.
Opgradering
Kør først migreringer på den tilhørende vært, aktivér derefter den nye Vercel-
udrulning, og udrul til sidst de tilhørende workers efter rækkefølgen i
opgraderingsvejledningen. En øjeblikkelig Vercel-tilbageførsel er en kode-
tilbageførsel og er altid sikker inden for en udgivelse.