---
title: "Tinklo sluoksnis Vercel"
description: "Vykdykite Quire tinklo sluoksnį Vercel su lydinčiu darbininku."
image: "https://docs.quirelms.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.quirelms.com/lt/llms.txt
> Use this file to discover all available pages before exploring further.

# Tinklo sluoksnis Vercel

<span id="the-web-tier-on-vercel"></span>

Projekto aprašas yra `docs/architecture/23-ops.md` 5 skyrius. Vercel vykdo
tik tinklo sluoksnį. Visa kita veikia lydinčioje sistemoje, kurią valdote jūs,
ir tai nėra pasirenkama.

## Šios versijos būsena <!--quire:status-in-this-release-->

Konfigūracija yra vietoje (`apps/web/vercel.json`, `vercel` Nitro nustatymas
ir paleidimo patikros). Vercel reikia bendrinamos failų saugyklos
(`QUIRE_STORAGE_DRIVER=s3` arba `azure`), realiojo laiko variklio, veikiančio
tarp funkcijų instancijų (`QUIRE_REALTIME_DRIVER=sse` arba `centrifugo`), ir
HTTP el. pašto teikėjo. Be jų tinklo sluoksnis atsisako paleisti, o jo
žurnale išvardijamas kiekvienas trūkstamas nustatymas.

## Dalys <!--quire:the-pieces-->

| Dalis | Kur veikia |
| --- | --- |
| `web` | Vercel Functions, Node vykdyklė: puslapiai, REST, MCP, LTI, gauti „webhooks“ |
| `worker`, `scheduler`, `collab`, `content` | Lydimoji sistema: Fly, Railway, ECS arba jūsų paties Docker sistema su `docker/compose.yaml` |
| Postgres | Išorinis, už transakcijų ryšių baseino įėjimo (proxy): Neon, Supabase arba RDS su PgBouncer |
| Failai | S3 arba R2. Nuolatinio disko nėra |
| Fono užduotys | Į eilę dedamos su pg-boss užklausos transakcijos viduje, vykdomos lydinčio darbininko. Kai lydinčiam darbininkui nustatytas `QUIRE_QUEUE_DRIVER=vercel`, lengvos užduotys (netvarkingos pranešimų ir „webhook“ pristatymai) eina per Vercel Queues (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`), todėl joms nereikia nuolat tikrinti bendrinamo Postgres |
| Pasikartojančios užduotys | Lydimasis tvarkytuvas. Vercel Cron maršruto nėra, nes cron, atliekantis darbą funkcijos viduje, baigiasi laiku |
| Pėdsakų sekimas | OpenTelemetry į jūsų rinktuvą, `OTEL_EXPORTER_OTLP_ENDPOINT` |

## Ko šis tikslas negali daryti <!--quire:what-this-target-cannot-do-->

Tinklo sluoksnis tai patikrina paleisdamas ir atsisako, įvardindamas kiekvieną
problemą, vietoj to, kad vėliau nesėkmingai suveiktų pirmasis niekada
neišsiunčiamas el. laiškas:

- **Nėra SMTP.** Vercel blokuoja išeinamąjį SMTP. Nustatykite
  `QUIRE_EMAIL_PROVIDER_CONFIG` į HTTP teikėją (Postmark, SES, Mailgun,
  SendGrid arba Resend). `QUIRE_SMTP_URL` atmetamas.
- **Nėra vietinio disko.** `QUIRE_STORAGE_DRIVER=local` atmetamas.
- **Nėra bendrinamos atminties tarp paleidimų.**
  `QUIRE_REALTIME_DRIVER=inprocess` atmetamas. Serverio siunčiami įvykiai
  ribojami funkcijos laiko limitu; klientas prisijungia iš naujo su
  žymekliu, todėl nė vienas įvykis neprarandamas, bet buvimas neprieinamas.
- **Pririštių nuomininkų duomenų bazės ribojamos** maždaug iki aštuonių,
  nes kiekviena jų yra dar vienas ryšių baseinas aplinkoje, kuri negali
  baseinų dalintis.

## Diegimas <!--quire:deploying-->

1. Sukurkite Vercel projektą iš saugyklos su **Root Directory** `apps/web`.
   `apps/web/vercel.json` nustato įdiegimo ir pastatymo komandas
   (`NITRO_PRESET=vercel`) ir tiekia `/sw.js` be podėlio.
2. Nustatykite kintamuosius. Iš `docker/.env.example` bent jau:
   `QUIRE_DEPLOY_TARGET=vercel`, `QUIRE_APP_ORIGIN`, `QUIRE_CONTENT_ORIGIN`,
   `QUIRE_PLATFORM_DOMAINS`, `QUIRE_SECRET_KEY`, `QUIRE_MASTER_KEY`,
   `DATABASE_URL` (ryšių baseino įėjimo adresas), `QUIRE_REPORT_DATABASE_URL`,
   `QUIRE_AUDIT_DATABASE_URL`, `QUIRE_DATABASE_ID`,
   `QUIRE_EMAIL_PROVIDER_CONFIG`, `QUIRE_MAIL_FROM`, saugyklos nustatymus
   ir `QUIRE_COLLAB_URL` bei `QUIRE_COLLAB_SIGNING_KEY`, nurodančius į
   lydinčios sistemos bendradarbiavimo paslaugą.
   `QUIRE_REPORT_DATABASE_URL` priklauso fizinei duomenų bazei, kurią nurodo
   `DATABASE_URL`. Kiekvienai papildomai registruotai duomenų bazei pridėkite
   jos pačios `quire_report` ryšio URL tiek į web, tiek į worker aplinkas, tada
   užregistruokite jos kintamojo pavadinimą kaip `env:NAME` platformos
   konsolėje. Analitika neveiks, jei tos duomenų bazės ataskaitų URL trūks.
3. Lydinčioje sistemoje paleiskite `docker/compose.yaml` be `web` paslaugos, su
   tuo pačiu `docker/.env`:
   ```sh
   docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
   ```
   Migracijos ten vykdomos prieš kiekvieną Vercel diegimą.
4. Paleiskite diegimą. Atmetus konfigūraciją, funkcijos žurnalas prasideda
   fraze "The web tier did not start on vercel" ir išvardija kiekvieną
   nustatymą, kurį reikia pakeisti.

## Atnaujinimas <!--quire:upgrading-->

Pirmiausia atlikite migraciją lydinčioje sistemoje, tada paleiskite naują Vercel
diegimą, tada atnaujinkite lydinčios sistemos darbininkus: tvarką rasite
[upgrade.md](/lt/ops/upgrade/). Vercel momentinis atšaukimas yra kodo atšaukimas ir
visada saugus tos pačios versijos viduje.

Source: https://docs.quirelms.com/lt/ops/vercel/index.mdx
