Zum Inhalt sprangen

De Web-Tier op Vercel

Féiert de Quire-Web-Tier op Vercel mat engem begleedenden Worker.

Als Markdown weisen

De Konzept ass docs/architecture/23-ops.md Kapitel 5. Vercel féiert nemmen de Web-Tier. Alles aneres leeft op engem Begleedserver, deen Dir bedriwst, an en ass net optional.

Status an dëser Verëffentlechung

D’Konfiguratioun steet (apps/web/vercel.json, de vercel Nitro-Preset an d’Kontrollen beim Start). Vercel braucht gedeelt Späicherplatz fir Fichieren (QUIRE_STORAGE_DRIVER=s3 oder azure), en Realtime-Driver deen iwwer Funktiounsinstanzen hinne funktionéiert (QUIRE_REALTIME_DRIVER=sse oder centrifugo) an en HTTP-E-Mail-Ubidder. ouni se refuséiert de Web-Tier ze starten an seng Log nennt all fehlend Astellung.

De Stéck

Stéck Wou en leeft
web Vercel Functions, Node-Runtime: Säiten, REST, MCP, LTI, kritt Webhooks
worker, scheduler, collab, content En Begleedserver: Fly, Railway, ECS, oder Äre eegenen Docker-Server mat docker/compose.yaml
Postgres Extern, hanner engem Transaktiounspooler: Neon, Supabase, oder RDS mat PgBouncer
Fichieren S3 oder R2. Et gëtt kee permanenten Disk
Hannergrondjoben Mat pg-boss bannendrem Transaktioun vum Demande an d’Queue geluecht, vum Begleed-Worker ausgefouert. Mat QUIRE_QUEUE_DRIVER=vercel op dem Begleed-Worker ginn déi liicht Joben (net sortéiert Noriichten- a Webhooks-Liwwerungen) iwwer Vercel Queues (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN), sou datt de gepoolte Postgres net dofir ofgeruff gëtt
Widderhuelend Joben De Begleed-Scheduler. Et gëtt keng Vercel-Cron-Route, well e Cron, deen Aarbecht bannendrem enger Funktioun mécht, Timeout kritt
Tracing OpenTelemetry op Äre Sammler, OTEL_EXPORTER_OTLP_ENDPOINT

Wat dëst Deploy-Ziel net ka maachen

De Web-Tier kontrolléiert dëst beim Start a refuséiert et, mat all Problem, amplaz méi spéit bei der éischter E-Mail, déi ni geschéckt gëtt, ze feelen:

  • Kee SMTP. Vercel späiert SMTP eraus. Setzt QUIRE_EMAIL_PROVIDER_CONFIG op en HTTP-Ubidder (Postmark, SES, Mailgun, SendGrid oder Resend). QUIRE_SMTP_URL gëtt refuséiert.
  • Kee lokalen Disk. QUIRE_STORAGE_DRIVER=local gëtt refuséiert.
  • Keng gedeelt Gedächtnis tëscht Uriff. QUIRE_REALTIME_DRIVER=inprocess gëtt refuséiert. Server-sent events sinn op den Timeout vun der Funktioun gekappt; de Client verbënnt sech mat engem Cursor erëm, sou datt keen Evenement verluer geet, mä Präsenz ass net verfügbar.
  • Festgeluechte Tenant-Datebanken sinn limitéiert op ronn acht, well all eng aner Verbindingspool an enger Ëmwelt ass, déi keng Pools deelen kann.

Deploys

  1. Erstellt e Vercel-Projet aus dem Repository mat Root Directory apps/web. apps/web/vercel.json setzt d’Installatiouns- a Build-Kommandoen (NITRO_PRESET=vercel) a servéiert /sw.js ouni Cache.
  2. Setzt d’Ëmweltvariablen. Vue docker/.env.example op d’mannst: QUIRE_DEPLOY_TARGET=vercel, QUIRE_APP_ORIGIN, QUIRE_CONTENT_ORIGIN, QUIRE_PLATFORM_DOMAINS, QUIRE_SECRET_KEY, QUIRE_MASTER_KEY, DATABASE_URL (d’Adress vum Pooler), QUIRE_REPORT_DATABASE_URL, QUIRE_AUDIT_DATABASE_URL, QUIRE_DATABASE_ID, QUIRE_EMAIL_PROVIDER_CONFIG, QUIRE_MAIL_FROM, d’Späicherestellungen, an QUIRE_COLLAB_URL an QUIRE_COLLAB_SIGNING_KEY, déi op de collab-Service vum Begleeder weisen. QUIRE_REPORT_DATABASE_URL gehéiert zu der physikalescher Datebank, deen DATABASE_URL nennt. Fir all zousätzlech registréiert Datebank füügt se hir eegen quire_report-Verbindungs-URL un béid Web- a Worker-Ëmweten derbäi, a registréiert dunn hiren Ëmweltvariablennumm als env:NAME an der Konsol vun der Plangform. Analytics geet zou, wann d’Report-URL vun där Datebank feelt.
  3. Op dem Begleedserver féiert docker/compose.yaml ouni dem web-Service aus, mam selwechten docker/.env:
    docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
    Migratioune laufen do, ier en neien Vercel-Deploys an d’Produktioun bruecht gëtt.
  4. Deployéiert. Bei enger refuséierter Konfiguratioun fänkt de Funktiounslog mat “The web tier did not start on vercel” un a list all Astellungen, déi geännert ginn.

Upgrade maachen

Migréiert éischte vum Begleedserver, bréngt dunn den neien Vercel-Deploys an d’Produktioun an dunn féiert d’Worker vum Begleeder nei aus: d’Reienfolleg an upgrade.md. En instant rollback bei Vercel ass e Code-Rollback a bannendrem enger Verëffentlechung ëmmer sécher.

Navigatioun

Tippt fir ze sichen…

↑↓ navigéieren↵ auswielenEsc zoumaachen