---
title: "Vercel-дегі веб-деңгей"
description: "Quire веб-деңгейін жанама worker-мен бірге Vercel-де жүргізіңіз."
image: "https://docs.quirelms.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.quirelms.com/kk/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`), функция инстанттары
бойынша жұмыс істейтін realtime драйверін
(`QUIRE_REALTIME_DRIVER=sse` немесе `centrifugo`) және HTTP пошта
провайдерін қажет етеді. Олар болмаса, веб-деңгей іске қосылудан бас
тартады және оның журналы әр жетіспейтін параметрді атайды.

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

| Бөлік | Қайда жұмыс істейді |
| --- | --- |
| `web` | Vercel Functions, Bun runtime: беттер, REST, MCP, LTI, қабылданған webhook-тар |
| `worker`, `scheduler`, `collab`, `content` | Жанама хост: Fly, Railway, ECS немесе `docker/compose.yaml` бар өз Docker хостыңыз |
| Postgres | Сыртқы, транзакциялық pooler артында: Neon, Supabase немесе PgBouncer-і бар RDS |
| Файлдар | S3 немесе R2. Тұрақты диск жоқ |
| Фондық жұмыстар | Сұраныс транзакциясының ішінде pg-boss арқылы кезекке түседі, жанама worker жүргізеді. Жанама worker-де `QUIRE_QUEUE_DRIVER=vercel` орнатылса, жеңіл жұмыстар (реттелмеген хабарламалар мен webhook жеткізілімдері) Vercel Queues (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`) арқылы өтеді, сондықтан олар үшін pooler-дегі Postgres сұраныс жасамайды |
| Қайталанатын жұмыстар | Жанама scheduler. 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`
  қабылданбайды. Server-sent events функция уақыт шегімен шектелген;
  клиент курсормен қайта қосылады, сондықтан еш оқиға жоғалмайды, бірақ
  қатысу (presence) қолжетімсіз.
- **Бекітілген tenant дерекқорлары шектеулі**, шамамен сегізге дейін,
  өйткені әрқайсысы байланыс топтарын бөлісе алмайтын ортада қосымша
  байланыс тобына айналады.

## Орналастыру <!--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` (pooler мекенжайы),
   `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` байланыс URL-ін web пен worker орталарына қосыңыз,
   содан кейін оның айнымалы атауын платформа консольінде `env:NAME`
   ретінде тіркеңіз. Сол дерекқордың есеп URL-і болмаса, analytics
   жұмысын тоқтатады.
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](/kk/ops/upgrade/) файлында. Vercel-дің
бірден қайтаруы — кодты қайтару және шығарылым аясында әрқашан
қауіпсіз.

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