---
title: "Вэб-узровень на Vercel"
description: "Запускайце вэб-узровень Quire на Vercel разам з дапаможным worker."
image: "https://docs.quirelms.com/og.png"
---

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

# Вэб-узровень на Vercel

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

Архітэктура апісана ў раздзеле 5 `docs/architecture/23-ops.md`. Vercel запускае толькі вэб-узровень. Усё астатняе працуе на дапаможным хосце, якім кіруеце вы; без яго нельга абысціся.

## Стан у гэтым выпуску <!--quire:status-in-this-release-->

Канфігурацыя гатовая (`apps/web/vercel.json`, перадусталёўка Nitro для `vercel` і праверкі запуску). Vercel патрабуе агульнае файлавае сховішча (`QUIRE_STORAGE_DRIVER=s3` або `azure`), драйвер рэальнага часу, які працуе паміж асобнікамі функцый (`QUIRE_REALTIME_DRIVER=sse` або `centrifugo`), і HTTP-пастаўшчыка электроннай пошты. Без іх вэб-узровень адмаўляецца запускацца, а журнал называе ўсе адсутныя параметры.

## Кампаненты <!--quire:the-pieces-->

| Кампанент | Дзе працуе |
| --- | --- |
| `web` | Vercel Functions, асяроддзе Node: старонкі, REST, MCP, LTI, атрыманыя вэбхукі |
| `worker`, `scheduler`, `collab`, `content` | Дапаможны хост: Fly, Railway, ECS або ваш Docker-хост з `docker/compose.yaml` |
| Postgres | Знешні сэрвіс за транзакцыйным пулерам: Neon, Supabase або RDS з PgBouncer |
| Файлы | S3 або R2. Пастаяннага дыска няма |
| Фонавыя заданні | Стаўяцца ў чаргу pg-boss у транзакцыі запыту і запускаюцца worker-ам дапаможнага хоста. Калі на ім зададзена `QUIRE_QUEUE_DRIVER=vercel`, лёгкія заданні (неўпарадкаваныя апавяшчэнні і дастаўкі вэбхукаў) праходзяць праз Vercel Queues (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`), каб не апытваць для іх пуленую базу Postgres |
| Перыядычныя заданні | Планавальнік дапаможнага хоста. Маршрута Vercel Cron няма, бо заданне ўнутры функцыі можа перавысіць час чакання |
| Трасіроўка | OpenTelemetry да вашага зборшчыка праз `OTEL_EXPORTER_OTLP_ENDPOINT` |

## Чаго гэтая платформа не падтрымлівае <!--quire:what-this-target-cannot-do-->

Пры запуску вэб-узровень правярае гэтыя ўмовы і называе ўсе праблемы загадзя, замест таго каб пазней упасці пры першым неадпраўленым лісце:

- **Няма SMTP.** Vercel блакуе выходны SMTP. Задайце `QUIRE_EMAIL_PROVIDER_CONFIG` для HTTP-пастаўшчыка (Postmark, SES, Mailgun, SendGrid або Resend). `QUIRE_SMTP_URL` адхіляецца.
- **Няма лакальнага дыска.** `QUIRE_STORAGE_DRIVER=local` адхіляецца.
- **Няма агульнай памяці паміж выклікамі.** `QUIRE_REALTIME_DRIVER=inprocess` адхіляецца. Падзеі, адпраўленыя праз Server-Sent Events, абмежаваны часам функцыі; кліент перападключаецца з курсорам, таму падзеі не губляюцца, але статус прысутнасці недаступны.
- **Колькасць замацаваных баз даных кліентаў абмежавана прыкладна васьмю**, бо кожная патрабуе асобнага пула падключэнняў, а асяроддзе не можа дзяліць пулы.

## Разгортванне <!--quire:deploying-->

1. Стварыце праект Vercel з рэпазіторыя, задаўшы **Root Directory** як `apps/web`. Файл `apps/web/vercel.json` вызначае каманды ўсталявання і зборкі (`NITRO_PRESET=vercel`) і адключае кэшаванне для `/sw.js`.
2. Задайце зменныя асяроддзя. З `docker/.env.example` патрэбны прынамсі: `QUIRE_DEPLOY_TARGET=vercel`, `QUIRE_APP_ORIGIN`, `QUIRE_CONTENT_ORIGIN`, `QUIRE_PLATFORM_DOMAINS`, `QUIRE_SECRET_KEY`, `QUIRE_MASTER_KEY`, `DATABASE_URL` (адрас пулера), `QUIRE_REPORT_DATABASE_URL`, `QUIRE_AUDIT_DATABASE_URL`, `QUIRE_DATABASE_ID`, `QUIRE_EMAIL_PROVIDER_CONFIG`, `QUIRE_MAIL_FROM`, налады сховішча, а таксама `QUIRE_COLLAB_URL` і `QUIRE_COLLAB_SIGNING_KEY`, якія паказваюць на сэрвіс collab дапаможнага хоста. `QUIRE_REPORT_DATABASE_URL` адносіцца да фізічнай базы, названай у `DATABASE_URL`. Для кожнай дадатковай зарэгістраванай базы дадайце ў асяроддзі web і worker асобны URL злучэння `quire_report`, затым зарэгіструйце назву зменнай асяроддзя як `env:NAME` у кансолі платформы. Калі URL справаздач для гэтай базы адсутнічае, аналітыка не працуе.
3. На дапаможным хосце запусціце `docker/compose.yaml` без сэрвісу `web`, з тым жа файлам `docker/.env`:
   ```sh
   docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
   ```
   Міграцыі запускаюцца там перад актывацыяй кожнага разгортвання Vercel.
4. Разгарніце праект. Калі канфігурацыя адхілена, журнал функцыі пачынаецца з "The web tier did not start on vercel" і пералічвае параметры, якія трэба змяніць.

## Абнаўленне <!--quire:upgrading-->

Спачатку запусціце міграцыі на дапаможным хосце, затым актывуйце новае разгортванне Vercel і пасля абнавіце worker-ы дапаможнага хоста: паслядоўнасць апісана ў [upgrade.md](/be/ops/upgrade/). Імгненны адкат у Vercel — гэта адкат кода, заўсёды бяспечны ў межах выпуску.

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