---
title: "Vercel'деги веб катмары"
description: "Quire'дин веб катмарын кошумча жумушчу менен Vercel'де иштетиңүз."
image: "https://docs.quirelms.com/og.png"
---

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

# Vercel'деги веб катмары

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

Дизайн `docs/architecture/23-ops.md` 5-бөлүмүндө. Vercel веб катмарын гана
иштетет. Башка баары сиз башкарган кошумча хостто иштейт, жана бул
милдеттүү эмес.

## Бул релиздин абалы <!--quire:status-in-this-release-->

Конфигурация даяр (`apps/web/vercel.json`, `vercel` Nitro пресети жана
башталыш текшерүүлөрү). Vercel'ге орток файл сактоо
(`QUIRE_STORAGE_DRIVER=s3` же `azure`), функция инстанциялары аркылуу
иштей турган реалдуу убакыт драйвери (`QUIRE_REALTIME_DRIVER=sse` же
`centrifugo`) жана HTTP почта провайдери керек. Алар болбосо веб катмары
башталыштан баш тартат жана анын журналы ар бир жетпей турган жөндөөнү
атайт.

## Бөлүктөр <!--quire:the-pieces-->

| Piece | Where it runs |
| --- | --- |
| `web` | Vercel Functions, Bun runtime: беттер, REST, MCP, LTI, кабыл алынган вебхуктар |
| `worker`, `scheduler`, `collab`, `content` | Кошумча хост: Fly, Railway, ECS же `docker/compose.yaml` менен өз Docker хостуңуз |
| Postgres | Сырткы, транзакциялык туташтыруу бассейнинин артында: Neon, Supabase же PgBouncer менен RDS |
| Файлдар | S3 же R2. Туруктуу диск жок |
| Фон жумуштары | Суроонун транзакциясынын ичинде pg-boss менен кезекке турат, кошумча жумушчу аткарат. Кошумча жумушчуда `QUIRE_QUEUE_DRIVER=vercel` болсо, жеңил жумуштар (тартиби жок билдирүү жана вебхук жеткирүүлөрү) Vercel Queues аркылуу өтөт (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`), ошондуктан алар үчүн бассейндеги Postgres суранбайт |
| Кайталануучу жумуштар | Кошумча кезектеөөчү. Vercel Cron маршруту жок, анткени функциянын ичинде иш кылган 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` четке кагылат. Серверден жиберилген
  окуялар функциянын убакыт чегине чейин чектелет; клиент курсор менен
  кайра туташат, ошондуктан эч кандай окуя жоголбойт, бирок болуу
  (presence) жеткиликсиз.
- **Тигилген tenant маалымат базалары чектелген**, кеминде сегизге
  чейин, анткени ар бири бассейндерди бөлүшө албаган чөйрөдө башка
  туташтыруу бассейни.

## Жайгаштыруу <!--quire:deploying-->

1. Репозиторийден **Root Directory** `apps/web` болгон Vercel долбоорун
   түзүңүз. `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`, сактоо жөндөөлөрү,
   жана кошумчанын collab кызматын көрсөткөн `QUIRE_COLLAB_URL` жана
   `QUIRE_COLLAB_SIGNING_KEY`.
   `QUIRE_REPORT_DATABASE_URL` `DATABASE_URL` атаган физикалык
   маалымат базасына таандык. Ар бир кошумча катталган маалымат базасы
   үчүн анын өзүнүн `quire_report` туташуу дарегин веб жана жумушчу
   чөйрөлөрүнөн экөөнө кошуңуз, андан кийин анын чөйрө өзгөрмөсүнүн атын
   платформа консольунда `env:NAME` катары каттаңыз. Ал маалымат
   базасынын отчёт дареги жок болсо аналитика ийгиликсиз болот.
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
жайгаштыруусун көтөрүңүз, андан кийин кошумчанын жумушчуларын
түшүрүңүз: тартип [upgrade.md](/ky/ops/upgrade/) документинде. Vercel'дин
заматта кайтаруусу — бул кодду кайтаруу жана релиз ичинде ар дайым
коопсуз.

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