---
title: "La reta tavolo ĉe Vercel"
description: "Ruli la retan tavolon de Quire ĉe Vercel kun akompana worker."
image: "https://docs.quirelms.com/og.png"
---

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

# La reta tavolo ĉe Vercel

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

La dezajno troviĝas en sekcio 5 de `docs/architecture/23-ops.md`. Vercel rulas nur la retan
tavolon. Ĉio alia funkcias ĉe akompana gastiganto mastrumata de vi; ĝi estas
deviga.

## Stato en ĉi tiu eldono <!--quire:status-in-this-release-->

La agordo jam ekzistas (`apps/web/vercel.json`, la Nitro-antaŭagordo
`vercel` kaj startkontroloj). Vercel bezonas komunan dosierstokadon
(`QUIRE_STORAGE_DRIVER=s3` aŭ `azure`), realtempan pelilon kiu funkcias tra
funkci-instancoj (`QUIRE_REALTIME_DRIVER=sse` aŭ `centrifugo`) kaj HTTP-
retpoŝtprovizanton. Sen ili la reta tavolo rifuzas starti kaj ĝia protokolo
nomas ĉiun mankantan agordon.

## La partoj <!--quire:the-pieces-->

| Parto | Kie ĝi ruliĝas |
| --- | --- |
| `web` | Vercel Functions, Node-rultempo: paĝoj, REST, MCP, LTI kaj ricevitaj webhooks |
| `worker`, `scheduler`, `collab`, `content` | Akompana gastiganto: Fly, Railway, ECS aŭ via propra Docker-gastiganto kun `docker/compose.yaml` |
| Postgres | Ekstera, malantaŭ transakcia kunigilo: Neon, Supabase aŭ RDS kun PgBouncer |
| Dosieroj | S3 aŭ R2. Ne ekzistas persista disko |
| Fonaj taskoj | Envicigitaj per pg-boss ene de la transakcio de peto, kaj rulitaj de akompana worker. Kun `QUIRE_QUEUE_DRIVER=vercel` ĉe akompana worker, malpezaj taskoj (senorda livero de sciigoj kaj webhooks) trairas Vercel Queues (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`), do ili ne pridemandiĝas de la kunigita Postgres |
| Ripetiĝantaj taskoj | La akompana planilo. Ne ekzistas Vercel Cron-vojo, ĉar cron faranta laboron ene de funkcio eltempas |
| Spuradon | OpenTelemetry al via kolektilo, `OTEL_EXPORTER_OTLP_ENDPOINT` |

## Kion ĉi tiu celo ne povas fari <!--quire:what-this-target-cannot-do-->

La reta tavolo kontrolas jenon ĉe starto kaj rifuzas, nomante ĉiun problemon,
anstataŭ malsukcesi poste kiam la unua retpoŝto ne sendiĝas:

- **Neniu SMTP.** Vercel blokas eliran SMTP. Agordu `QUIRE_EMAIL_PROVIDER_CONFIG`
  al HTTP-provizanto (Postmark, SES, Mailgun, SendGrid aŭ Resend).
  `QUIRE_SMTP_URL` estas rifuzata.
- **Neniu loka disko.** `QUIRE_STORAGE_DRIVER=local` estas rifuzata.
- **Neniu komuna memoro inter alvokoj.** `QUIRE_REALTIME_DRIVER=inprocess`
  estas rifuzata. Server-sent events estas limigitaj de funkcia tempolimo; la
  kliento rekonektiĝas per kurzoro, do eventoj ne perdiĝas, sed ĉeesto ne
  disponeblas.
- **Luantaj datumbazoj fiksitaj al aparta servilo limiĝas** al proksimume ok, ĉar ĉiu estas
  plia konektolageto en medio kie oni ne povas kunhavi lagetojn.

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

1. Kreu Vercel-projekton el la deponejo kun **Root Directory**
   agordita al `apps/web`. `apps/web/vercel.json` difinas instalajn kaj konstruajn komandojn
   (`NITRO_PRESET=vercel`) kaj liveras `/sw.js` sen kaŝmemoro.
2. Agordu mediovariablojn. El `docker/.env.example`, minimume:
   `QUIRE_DEPLOY_TARGET=vercel`, `QUIRE_APP_ORIGIN`, `QUIRE_CONTENT_ORIGIN`,
   `QUIRE_PLATFORM_DOMAINS`, `QUIRE_SECRET_KEY`, `QUIRE_MASTER_KEY`,
   `DATABASE_URL` (la adreso de kunigilo), `QUIRE_REPORT_DATABASE_URL`,
   `QUIRE_AUDIT_DATABASE_URL`, `QUIRE_DATABASE_ID`,
   `QUIRE_EMAIL_PROVIDER_CONFIG`, `QUIRE_MAIL_FROM`, stokagordoj,
   kaj `QUIRE_COLLAB_URL` kaj `QUIRE_COLLAB_SIGNING_KEY` indikantaj al la
   collab-servo de la akompana gastiganto.
   `QUIRE_REPORT_DATABASE_URL` apartenas al la fizika datumbazo nomita per
   `DATABASE_URL`. Por ĉiu plia registrita datumbazo, aldonu ĝian propran
   `quire_report`-konektotringon al retaj kaj worker-medioj, poste
   registru ĝian mediovariablan nomon kiel `env:NAME` en la platforma
   konzolo. Analizo sekure malsukcesas se mankas la raport-URL de tiu datumbazo.
3. Ĉe akompana gastiganto rulu `docker/compose.yaml` sen la servo `web`,
   kun sama `docker/.env`:
   ```sh
   docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
   ```
   Migradoj ruliĝas tie antaŭ ol ĉiu Vercel-disloko estas aktivigita.
4. Disfaldigu. Se agordo estas rifuzita, funkcia protokolo komenciĝas per "The web
   tier did not start on vercel" kaj listigas ĉiun ŝanĝendan agordon.

## Ĝisdatigi <!--quire:upgrading-->

Unue migru ĉe la akompana gastiganto, poste aktivigu la novan Vercel-
disfaldaĵon kaj laste ruligu la workers de la akompana gastiganto, laŭ la ordo en
[upgrade.md](/eo/ops/upgrade/). Tuja Vercel-reiro al antaŭa versio estas koda reiro kaj
ĉiam sekura ene de eldono.

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