Ugrás a tartalomhoz

A webes réteg a Vercelen

A Quire webes rétegének futtatása Vercelen, kiegészítő workerrel.

A kialakítást a docs/architecture/23-ops.md 5. szakasza írja le. A Vercel csak a webes réteget futtatja. Minden más egy Ön által üzemeltetett kiegészítő hoston fut, és ez kötelező.

Állapot ebben a kiadásban

A konfiguráció rendelkezésre áll (apps/web/vercel.json, a vercel Nitro-előbeállítás és az indítási ellenőrzések). A Vercelnek megosztott fájltárolás kell (QUIRE_STORAGE_DRIVER=s3 vagy azure), a függvénypéldányok között működő realtime driver (QUIRE_REALTIME_DRIVER=sse vagy centrifugo) és HTTP-s e-mail-szolgáltató. Ezek nélkül a webes réteg megtagadja az indulást, és a napló felsorolja a hiányzó beállításokat.

Összetevők

Összetevő Futási hely
web Vercel Functions, Bun runtime: oldalak, REST, MCP, LTI, fogadott webhookok
worker, scheduler, collab, content Kiegészítő host: Fly, Railway, ECS vagy saját Docker-host docker/compose.yaml fájllal
Postgres Külső adatbázis, tranzakciós pooler mögött: Neon, Supabase vagy PgBouncerrel használt RDS
Fájlok S3 vagy R2. Nincs tartós lemez
Háttérfeladatok A kérés tranzakcióján belül pg-boss sorolja be őket, a kiegészítő worker futtatja. A kiegészítő worker QUIRE_QUEUE_DRIVER=vercel beállításával az egyszerű feladatok (nem sorrendhez kötött értesítések és webhook-kézbesítések) Vercel Queues-en (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN) futnak, így a poolozott Postgres nem ellenőrzi őket folyamatosan
Ismétlődő feladatok A kiegészítő scheduler. Nincs Vercel Cron-útvonal, mert a függvényben dolgozó cron időtúllépést okozhat
Nyomkövetés OpenTelemetry a gyűjtőnek, OTEL_EXPORTER_OTLP_ENDPOINT

Amit ez a célkörnyezet nem tud

Induláskor ellenőrzi ezeket, és minden problémát megnevezve elutasítja a konfigurációt; nem várja meg, hogy az első e-mail ne küldődjön el:

  • Nincs SMTP. A Vercel blokkolja a kimenő SMTP-t. A QUIRE_EMAIL_PROVIDER_CONFIG értékét állítsa be HTTP-s szolgáltatóra (Postmark, SES, Mailgun, SendGrid vagy Resend). A QUIRE_SMTP_URL beállítás elutasított.
  • Nincs helyi lemez. A QUIRE_STORAGE_DRIVER=local beállítás elutasított.
  • Nincs megosztott memória a hívások között. A QUIRE_REALTIME_DRIVER=inprocess beállítás elutasított. A server-sent events működése a függvény időkorlátjáig tart; a kliens kurzorral csatlakozik újra, így az események nem vesznek el, de jelenléti állapot nincs.
  • A rögzített tenant-adatbázisok korlátozott számban használhatók, nagyjából nyolcig, mert mindegyik újabb kapcsolatpoolt jelent egy olyan környezetben, ahol a poolok nem oszthatók meg.

Üzembe helyezés

  1. Hozzon létre Vercel-projektet a tárolóból, apps/web Root Directory beállítással. Az apps/web/vercel.json állítja be a telepítési és buildparancsokat (NITRO_PRESET=vercel), és gyorsítótárazás nélkül szolgálja ki a /sw.js fájlt.
  2. Állítsa be a környezeti változókat. A docker/.env.example alapján legalább ezek kellenek: QUIRE_DEPLOY_TARGET=vercel, QUIRE_APP_ORIGIN, QUIRE_CONTENT_ORIGIN, QUIRE_PLATFORM_DOMAINS, QUIRE_SECRET_KEY, QUIRE_MASTER_KEY, DATABASE_URL (a pooler címe), QUIRE_REPORT_DATABASE_URL, QUIRE_AUDIT_DATABASE_URL, QUIRE_DATABASE_ID, QUIRE_EMAIL_PROVIDER_CONFIG, QUIRE_MAIL_FROM, a tárolási beállítások, valamint a kiegészítő collab szolgáltatásra mutató QUIRE_COLLAB_URL és QUIRE_COLLAB_SIGNING_KEY. A QUIRE_REPORT_DATABASE_URL a DATABASE_URL által megadott fizikai adatbázishoz tartozik. Minden további regisztrált adatbázishoz adja hozzá a saját quire_report kapcsolati URL-jét a webes és worker-környezethez, majd regisztrálja a változó nevét env:NAME formában a platform konzolján. Ha hiányzik az adatbázis jelentési URL-je, az analitika biztonságosan leáll.
  3. A kiegészítő hoston futtassa a docker/compose.yaml fájlt a web szolgáltatás nélkül, ugyanazzal a docker/.env fájllal:
    docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
    A migrációk itt futnak le, mielőtt az egyes Vercel-telepítéseket élesíti.
  4. Telepítsen. Hibás konfigurációnál a függvénynapló ezzel kezdődik: “The web tier did not start on vercel”, majd felsorolja a módosítandó beállításokat.

Frissítés

Először migráljon a kiegészítő hostról, utána élesítse az új Vercel-telepítést, végül frissítse a kiegészítő workereket: a sorrendet az upgrade.md ismerteti. A Vercel azonnali visszaállítása kódot állít vissza, és ugyanazon kiadáson belül mindig biztonságos.

Navigáció

Írjon a kereséshez…

↑↓ navigálás↵ kiválasztásEsc bezárás