Joan edukira

Vercel-en web-maila

Exekutatu Quireren web-maila Vercel-en eta worker laguntzaile batekin.

Ikusi Markdown gisa

Diseinua docs/architecture/23-ops.md ataleko 5. atalean dago. Vercel-ek web-maila baino ez du exekutatzen. Gainerako guztia zuk kudeatutako ostalari laguntzaile batean exekutatzen da, eta ezinbestekoa da.

Egoera bertsio honetan

Konfigurazioa prest dago (apps/web/vercel.json, vercel Nitro aurrezarpena eta abiarazte-egiaztapenak). Vercel-ek fitxategi-biltegiratze partekatua behar du (QUIRE_STORAGE_DRIVER=s3 edo azure), funtzio-instantzia guztietan dabilen denbora errealeko driver bat (QUIRE_REALTIME_DRIVER=sse edo centrifugo) eta HTTP posta-hornitzaile bat. Horiek gabe, web-mailak ez du abiatzea onartzen eta erregistroak falta den ezarpen bakoitza izendatzen du.

Osagaiak

Osagaia Non exekutatzen den
web Vercel Functions, Node exekuzio-ingurunea: orrialdeak, REST, MCP, LTI eta jasotako webhook-ak
worker, scheduler, collab, content Ostalari laguntzailea: Fly, Railway, ECS edo zure Docker ostalaria, docker/compose.yaml erabiliz
Postgres Kanpokoa, transakzio-biltegi baten atzean: Neon, Supabase edo PgBouncer duen RDS
Fitxategiak S3 edo R2. Ez dago disko iraunkorrik
Atzeko planoko lanak pg-boss erabiliz ilaran jartzen dira eskaeraren transakzioan, eta worker laguntzaileak exekutatzen ditu. Worker laguntzailean QUIRE_QUEUE_DRIVER=vercel ezarrita badago, lan arinak (ordenarik gabeko jakinarazpen- eta webhook-bidalketak) Vercel Queues bidez doaz (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN); horrela, Postgres partekatuari ez zaio lan horien bila galdetzen
Aldizkako lanak Scheduler laguntzailea. Ez dago Vercel Cron biderik, funtzio batean lana egiten duen cron denbora-muga gainditzen duelako
Aztarnak OpenTelemetry bidez zure biltzailera, OTEL_EXPORTER_OTLP_ENDPOINT

Helburu honek egin ezin duena

Web-mailak abiaraztean egiaztatzen ditu hauek eta uko egiten die, bidali ez den lehen mezu elektronikoan beranduago huts egin ordez arazo bakoitza izendatuz:

  • Ez dago SMTPrik. Vercel-ek irteerako SMTP blokeatzen du. Ezarri QUIRE_EMAIL_PROVIDER_CONFIG HTTP hornitzaile batekin (Postmark, SES, Mailgun, SendGrid edo Resend). QUIRE_SMTP_URL ez da onartzen.
  • Ez dago disko lokalik. QUIRE_STORAGE_DRIVER=local ez da onartzen.
  • Deialdien artean ez dago memoria partekaturik. QUIRE_REALTIME_DRIVER=inprocess ez da onartzen. Zerbitzariak bidalitako gertaerek funtzioaren denbora-muga dute gehienez; bezeroa kurtsore batekin berriz konektatzen da, gertaerarik galdu ez dadin, baina presentzia ez dago erabilgarri.
  • Maizterren datu-base finkatuen kopurua mugatua da, zortzi ingurura, bakoitzak beste konexio-biltegi bat sortzen duelako, eta inguruneak ezin dituelako biltegiak partekatu.

Zabaltzea

  1. Sortu Vercel proiektua biltegi honetatik, Root Directory gisa apps/web ezarrita. apps/web/vercel.json fitxategiak instalazio- eta eraikitze-komandoak (NITRO_PRESET=vercel) ezartzen ditu, eta /sw.js cacheatu gabe zerbitzatzen du.
  2. Ezarri ingurune-aldagaiak. docker/.env.example fitxategitik, gutxienez: QUIRE_DEPLOY_TARGET=vercel, QUIRE_APP_ORIGIN, QUIRE_CONTENT_ORIGIN, QUIRE_PLATFORM_DOMAINS, QUIRE_SECRET_KEY, QUIRE_MASTER_KEY, DATABASE_URL (biltegiaren helbidea), QUIRE_REPORT_DATABASE_URL, QUIRE_AUDIT_DATABASE_URL, QUIRE_DATABASE_ID, QUIRE_EMAIL_PROVIDER_CONFIG, QUIRE_MAIL_FROM, biltegiratze-ezarpenak, eta zerbitzu laguntzailearen collab zerbitzura seinalatzen duten QUIRE_COLLAB_URL eta QUIRE_COLLAB_SIGNING_KEY. QUIRE_REPORT_DATABASE_URL DATABASE_URL aldagaian izendatutako datu-base fisikoari dagokio. Erregistratutako beste datu-base bakoitzerako, gehitu haren quire_report konexio-URLa webaren eta worker-aren inguruneetan, eta erregistratu ingurune-aldagaiaren izena plataformako kontsolan, env:NAME gisa. Datu-base horren txosten-URLa falta bada, Analytics-ek segurtasunez ukatzen du.
  3. Ostalari laguntzailean, exekutatu docker/compose.yaml web zerbitzurik gabe, docker/.env bera erabiliz:
    docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
    Migrazioak han exekutatzen dira, Vercel-en zabalkuntza bakoitza aktibo bihurtu aurretik.
  4. Zabaldu. Konfigurazio bat ukatzean, funtzioaren erregistroa “The web tier did not start on vercel” testuarekin hasten da eta aldatu beharreko ezarpenak zerrendatzen ditu.

Bertsio-berritzea

Migratu lehenik ostalari laguntzailetik, ondoren aktibatu Vercel-en zabalkuntza berria, eta azkenik eguneratu laguntzaileko worker-ak: jarraitu upgrade.md gidako ordenari. Vercelen berehalako atzerapen bat kode-atzerapena da eta beti da segurua bertsio baten barruan.

Nabigazioa

Idatzi bilatzeko…

↑↓ nabigatu↵ hautatuEsc itxi