---
title: "Veebikiht Vercelis"
description: "Käivita Quire'i veebikiht Vercelis koos kaaslaseks oleva töötlusteenusega."
image: "https://docs.quirelms.com/og.png"
---

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

# Veebikiht Vercelis

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

Arhitektuur on kirjeldatud dokumendi `docs/architecture/23-ops.md` jaotises 5.
Vercel käitab ainult veebikihti. Kõik muu töötab sinu hallatavas kaasserveris ja
see on kohustuslik.

## Selle väljalaske olek <!--quire:status-in-this-release-->

Seadistus on olemas (`apps/web/vercel.json`, `vercel` Nitro eelseade ja
käivituskontrollid). Vercel vajab jagatud failisalvestust
(`QUIRE_STORAGE_DRIVER=s3` või `azure`), funktsioonieksemplaride vahel toimivat
reaalajasidet (`QUIRE_REALTIME_DRIVER=sse` või `centrifugo`) ning HTTP-põhist
e-posti pakkujat. Nendeta keeldub veebikiht käivitumast ning logis nimetatakse
puuduvad seaded.

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

| Osa | Kus töötab |
| --- | --- |
| `web` | Verceli funktsioonid, Node'i käituskeskkond: lehed, REST, MCP, LTI, vastuvõetud veebikonksud |
| `worker`, `scheduler`, `collab`, `content` | Kaasserver: Fly, Railway, ECS või sinu enda Dockeri host failiga `docker/compose.yaml` |
| Postgres | Väline, tehingute ühendusepuhvri taga: Neon, Supabase või RDS koos PgBounceriga |
| Failid | S3 või R2. Püsivat ketast pole |
| Tausttööd | Lisatakse pg-bossi kaudu päringu tehingu sees ja käitab kaasserveri töötlusteenus. Kui kaasserveri töötlusteenuses on `QUIRE_QUEUE_DRIVER=vercel`, liiguvad kerged tööd (järjestamata teavitused ja veebikonksude edastused) Verceli järjekordadesse (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`), nii et ühendusepuhvriga Postgresit nende jaoks ei küsitleta |
| Korduvad tööd | Kaasserveri ajastaja. Verceli Croni marsruuti pole, sest funktsioonis tööd tegev cron ületaks ajalimiidi |
| Jälitus | OpenTelemetry sinu kogujasse, `OTEL_EXPORTER_OTLP_ENDPOINT` |

## Mida see sihtkoht teha ei saa <!--quire:what-this-target-cannot-do-->

Veebikiht kontrollib neid käivitumisel ja keeldub, nimetades kõik probleemid,
selle asemel et hiljem esimese saatmata e-kirja juures läbi kukkuda:

- **SMTP puudub.** Vercel blokeerib väljamineva SMTP. Määra
  `QUIRE_EMAIL_PROVIDER_CONFIG` väärtuseks HTTP-pakkuja (Postmark, SES, Mailgun,
  SendGrid või Resend). `QUIRE_SMTP_URL` lükatakse tagasi.
- **Kohalik ketas puudub.** `QUIRE_STORAGE_DRIVER=local` lükatakse tagasi.
- **Käivitusjuhtumitel puudub jagatud mälu.** `QUIRE_REALTIME_DRIVER=inprocess`
  lükatakse tagasi. Serveri saadetud sündmusi piirab funktsiooni ajalimiit;
  klient loob kursoriga ühenduse uuesti, nii et sündmusi ei lähe kaotsi, kuid
  kohalolekuinfo pole saadaval.
- **Seotud rentnike andmebaase saab olla umbes kaheksa**, sest igaüks lisab uue
  ühendusepuhvri keskkonda, kus puhvreid jagada ei saa.

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

1. Loo hoidlast Verceli projekt ja määra **Root Directory** väärtuseks
   `apps/web`. `apps/web/vercel.json` määrab paigaldus- ja ehituskäsud
   (`NITRO_PRESET=vercel`) ning serveerib `/sw.js` vahemällu salvestamata.
2. Määra keskkonnamuutujad. Failist `docker/.env.example` vähemalt:
   `QUIRE_DEPLOY_TARGET=vercel`, `QUIRE_APP_ORIGIN`, `QUIRE_CONTENT_ORIGIN`,
   `QUIRE_PLATFORM_DOMAINS`, `QUIRE_SECRET_KEY`, `QUIRE_MASTER_KEY`,
   `DATABASE_URL` (ühendusepuhvri aadress), `QUIRE_REPORT_DATABASE_URL`,
   `QUIRE_AUDIT_DATABASE_URL`, `QUIRE_DATABASE_ID`,
   `QUIRE_EMAIL_PROVIDER_CONFIG`, `QUIRE_MAIL_FROM`, salvestusseaded ning
   kaasserveri collab-teenusele osutavad `QUIRE_COLLAB_URL` ja
   `QUIRE_COLLAB_SIGNING_KEY`.
   `QUIRE_REPORT_DATABASE_URL` peab viitama `DATABASE_URL`-is nimetatud
   füüsilisele andmebaasile. Iga lisaregistreeritud andmebaasi jaoks lisa selle
   `quire_report` ühenduse URL nii veebirakenduse kui ka töötlusteenuse keskkonda
   ning registreeri platvormi konsoolis keskkonnamuutuja nimi kujul `env:NAME`.
   Kui selle andmebaasi aruande-URL puudub, analüütika ei tööta.
3. Käivita kaasserveris `docker/compose.yaml` ilma `web`-teenuseta, kasutades
   sama faili `docker/.env`:
   ```sh
   docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
   ```
   Migratsioonid käivitatakse seal enne iga Verceli juurutuse avaldamist.
4. Juuruta. Tagasilükatud seadistuse korral algab funktsiooni logi tekstiga
   "The web tier did not start on vercel" ja loetleb muudetavad seaded.

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

Käivita migratsioon kaasserveris, seejärel avalda uus Verceli juurutus ja siis
uuenda kaasserveri töötlejaid: järjekord on kirjeldatud dokumendis
[upgrade.md](/et/ops/upgrade/). Verceli kohene tagasipööre taastab koodi ning on ühe
väljalaske piires alati ohutu.

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