---
title: "Vercel дээрх веб түвшин"
description: "Quire-н веб түвшинг туслах ажилч хамтатган Vercel дээр ажиллуулах."
image: "https://docs.quirelms.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.quirelms.com/mn/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 preset болон ачааллагын шалгалтууд). Vercel-д хуваалцсан файлын хадгалалт (`QUIRE_STORAGE_DRIVER=s3` эсвэл `azure`), функцийн инстанцуудын дунд ажиллах бодит цагийн жолооч (`QUIRE_REALTIME_DRIVER=sse` эсвэл `centrifugo`), мөн HTTP имэйлийн өгөгч хэрэгтэй. Үгүй бол веб түвшин эхлэхээс татгалзаж, лог нь дутагдаж буй тохиргоо бүрийг нэрлэнэ.

## Хэсгүүд <!--quire:the-pieces-->

| Хэсэг | Хаана ажилладаг вэ |
| --- | --- |
| `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-ийг асуухгүй |
| Давтан гардаг ажлууд | Туслах 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` татгалзагдана. Серверээс илгээсэн мэдэгдлүүд функцийн хугацаатай хязгаарлагдсан; клиент курсортойгоор дахин холбогддог тул ямар ч үйл явдал алдагдахгүй, гэхдээ байршил боломжгүй болно.
- **Пин хийгдсэн түрээсчийн өгөгдлийн сангууд хязгаарлагдсан** — ойролцоо найман ширхэг, учир нь бүр нь санах ойгаа хуваалцаж чадахгүй орчинд өөр холболтын тэнцвэрүүлэгч юм.

## Байршуулах <!--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`, хадгалалтын тохиргоонууд, мөн туслах collab үйлчилгээг зааж буй `QUIRE_COLLAB_URL` болон `QUIRE_COLLAB_SIGNING_KEY`. `QUIRE_REPORT_DATABASE_URL` нь `DATABASE_URL`-аар нэрлэгдсэн физик өгөгдлийн санд хамаарна. Нэмэлт бүртгэгдсэн өгөгдлийн сан бүрийн хувьд өөрийн `quire_report` холболтын URL-ийг веб болон worker орчин хоёуланд нэмээд, дараа нь түүний орчны хувьсагчийн нэрийг платформын консол дээр `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 байршуулалтыг дэвшүүлээд, дараа нь туслах ажилчдыг эргүүлнэ: дараалал нь [upgrade.md](/mn/ops/upgrade/)-д байна. Vercel-ийн мөчийн буцаалт нь кодын буцаалт бөгөөд хувилбарын дотор үргэлж аюулгүй.

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