Pāriet uz saturu

Tīmekļa slānis vietnē Vercel

Palaidiet Quire tīmekļa slāni vietnē Vercel ar pavadošo darbinīku.

Konstrukcija ir docs/architecture/23-ops.md 5. sadaļa. Vercel darbojas tikai tīmekļa slānis. Viss pārējais darbojas pavadošā serverī, ko tu darbini, un tas nav izvēles.

Statuss šajā versijā

Konfigurācija ir vietā (apps/web/vercel.json, vercel Nitro profils un palaišanas pārbaudes). Vercel vajadzīga kopīgota failu glabātuve (QUIRE_STORAGE_DRIVER=s3 vai azure), reāllaika draivers, kas darbojas starp funkciju instancēm (QUIRE_REALTIME_DRIVER=sse vai centrifugo) un HTTP e-pasta pakalpojuma sniedzējs. Bez tiem tīmekļa slānis atsakās startēt, un tā žurnālā tiek nosaukts katrs trūkstošais iestatījums.

Komponentes

Komponente Kur tā darbojas
web Vercel Functions, Node izpildītājs: lapas, REST, MCP, LTI, saņemtie tīmekļa āķi
worker, scheduler, collab, content Pavadošais serveris: Fly, Railway, ECS vai tavs paša Docker serveris ar docker/compose.yaml
Postgres Ārējs, aiz darījumu baseinotāja: Neon, Supabase vai RDS ar PgBouncer
Faili S3 vai R2. Pastāvīga diska nav
Fona darbi Rindā likti ar pg-boss pieprasījuma darījuma ietvaros, tos dara pavadošais darbinīks. Ar QUIRE_QUEUE_DRIVER=vercel uz pavadošā darbinīka vieglie darbi (nekārtotie paziņojumu un tīmekļa āķu piegādes) iet caur Vercel Queues (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN), lai koplietotais Postgres tiem nebūtu jāvaicā
Atkārtotie darbi Pavadošais plānotājs. Vercel Cron maršruta nav, jo cron, kas funkcijas iekšpusē veic darbu, izbeidzas pēc laika
Izsekošana OpenTelemetry tavam vācējam, OTEL_EXPORTER_OTLP_ENDPOINT

Ko šis mērķis nevar darīt

Tīmekļa slānis tās pārbauda startējot un atsakās, nosaucot katru problēmu, nevis pēcāk pievielās pie pirmā e-pasta, kas nekad netiek nosūtīts:

  • Nav SMTP. Vercel bloķē izejošo SMTP. Iestatiet QUIRE_EMAIL_PROVIDER_CONFIG uz HTTP pakalpojumu sniedzēju (Postmark, SES, Mailgun, SendGrid vai Resend). QUIRE_SMTP_URL tiek noraidīts.
  • Nav vietējā diska. QUIRE_STORAGE_DRIVER=local tiek noraidīts.
  • Nav koplietotas atmiņas starp izsaukumiem. QUIRE_REALTIME_DRIVER=inprocess tiek noraidīts. Servera sūtītie notikumi ir ierobežoti ar funkcijas laika limitu; klients atvienojas ar kursoru, tāpēc neviens notikums netiek zaudēts, bet klātbūtne nav pieejama.
  • Piesaistītie nomnieku datubāžu skaits ir ierobežots līdz aptuveni astoņām, jo katra ir vēl viens savienojumu baseins vidē, kas nevar koplietot baseinus.

Izvietošana

  1. Izveidojiet Vercel projektu no repozitorija ar Root Directory apps/web. apps/web/vercel.json nosaka uzstādīšanas un būvēšanas komandas (NITRO_PRESET=vercel) un apkalpo /sw.js bez kešošanas.
  2. Iestatiet vides mainīgos. No docker/.env.example vismaz: QUIRE_DEPLOY_TARGET=vercel, QUIRE_APP_ORIGIN, QUIRE_CONTENT_ORIGIN, QUIRE_PLATFORM_DOMAINS, QUIRE_SECRET_KEY, QUIRE_MASTER_KEY, DATABASE_URL (baseinotāja adrese), QUIRE_REPORT_DATABASE_URL, QUIRE_AUDIT_DATABASE_URL, QUIRE_DATABASE_ID, QUIRE_EMAIL_PROVIDER_CONFIG, QUIRE_MAIL_FROM, glabātuves iestatījumi, kā arī QUIRE_COLLAB_URL un QUIRE_COLLAB_SIGNING_KEY, kas rāda uz pavadošā collab pakalpojumu. QUIRE_REPORT_DATABASE_URL pieder fiziskajai datubāzei, ko nosaka DATABASE_URL. Katram papildu reģistrētam datubāzei pievienojiet tās pašas quire_report savienojuma URL gan web, gan worker videi, pēc tam reģistrējiet tās vides mainīgā nosaukumu kā env:NAME platformas konsolei. Analītika pievielās, ja tās datubāzes atskaišu URL trūkst.
  3. Pavadošajā serverī palaidiet docker/compose.yaml bez web pakalpojuma, ar to pašu docker/.env:
    docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
    Migrācijas tur tiek palaistas pirms katra Vercel izvietojuma paaugstināšanas.
  4. Izvietojiet. Noraidītas konfigurācijas gadījumā funkcijas žurnāls sākas ar “The web tier did not start on vercel” un uzskaita katru iestatījumu, kas jāmaina.

Jaunināšana

Vispirms migrējiet no pavadošā servera, pēc tam paaugstiniet jauno Vercel izvietojumu, pēc tam atjaunojiet pavadošā servera darbinīkus: secība ir upgrade.md. Vercel tūlītēja atgriešanās ir koda atgriešanās un vienmēr ir droša versijas robežās.

Navigācija

Ierakstiet, lai meklētu…

↑↓ pārvietoties↵ izvēlētiesEsc aizvērt