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.
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
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
Izveidojiet Vercel projektu no repozitorija ar Root Directoryapps/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.
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.
Pavadošajā serverī palaidiet docker/compose.yaml bez web pakalpojuma, ar
to pašu docker/.env:
Migrācijas tur tiek palaistas pirms katra Vercel izvietojuma paaugstināšanas.
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.