---
title: "Vercel-də web qatı"
description: "Quire web qatını əlavə worker ilə Vercel-də işlədin."
image: "https://docs.quirelms.com/og.png"
---

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

# Vercel-də web qatı

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

Dizayn `docs/architecture/23-ops.md` sənədinin 5-ci bölməsindədir. Vercel yalnız web qatını işlədir. Qalan hər şey sizin idarə etdiyiniz əlavə hostda işləyir və bu məcburidir.

## Bu buraxılışın vəziyyəti <!--quire:status-in-this-release-->

Konfiqurasiya hazırdır (`apps/web/vercel.json`, `vercel` Nitro preset-i və başlanğıc yoxlamaları). Vercel üçün paylaşılan fayl saxlama (`QUIRE_STORAGE_DRIVER=s3` və ya `azure`), funksiya instansiyaları arasında işləyən real vaxt sürücüsü (`QUIRE_REALTIME_DRIVER=sse` və ya `centrifugo`) və HTTP e-poçt provayderi lazımdır. Bunlar yoxdursa, web qatı başlamağı rədd edir və jurnalında çatışmayan parametrləri sadalayır.

## Hissələr <!--quire:the-pieces-->

| Hissə | Harada işləyir |
| --- | --- |
| `web` | Vercel Functions, Node icra mühiti: səhifələr, REST, MCP, LTI, alınan vebhuklar |
| `worker`, `scheduler`, `collab`, `content` | Əlavə host: Fly, Railway, ECS və ya `docker/compose.yaml` işlədən öz Docker hostunuz |
| Postgres | Xarici, tranzaksiya pooler-i arxasında: PgBouncer-li Neon, Supabase və ya RDS |
| Fayllar | S3 və ya R2. Davamlı disk yoxdur |
| Fon tapşırıqları | Sorğunun tranzaksiyasında pg-boss ilə növbəyə alınır, əlavə worker işlədir. Əlavə worker-də `QUIRE_QUEUE_DRIVER=vercel` olduqda yüngül tapşırıqlar (sıralanmamış bildiriş və vebhuk çatdırılmaları) Vercel Queues (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`) vasitəsilə gedir, beləliklə, pool edilmiş Postgres bu işlər üçün sorğulanmır |
| Təkrarlanan tapşırıqlar | Əlavə scheduler. Funksiya daxilində iş görən cron vaxtı aşdığına görə Vercel Cron marşrutu yoxdur |
| İzləmə | Öz toplayıcınıza OpenTelemetry, `OTEL_EXPORTER_OTLP_ENDPOINT` vasitəsilə |

## Bu hədəfin edə bilmədikləri <!--quire:what-this-target-cannot-do-->

Web qatı işə başlayanda hər birini yoxlayır və heç bir problem barədə xəbər vermədən sonradan ilk göndərilməyən e-poçtda uğursuz olmaqdansa, hamısını adları ilə rədd edir:

- **SMTP yoxdur.** Vercel çıxan SMTP-ni bloklayır. `QUIRE_EMAIL_PROVIDER_CONFIG` parametrini HTTP provayderinə (Postmark, SES, Mailgun, SendGrid və ya Resend) verin. `QUIRE_SMTP_URL` rədd edilir.
- **Lokal disk yoxdur.** `QUIRE_STORAGE_DRIVER=local` rədd edilir.
- **Çağırışlar arasında ortaq yaddaş yoxdur.** `QUIRE_REALTIME_DRIVER=inprocess` rədd edilir. Serverdən göndərilən hadisələr funksiyanın vaxt limiti ilə məhdudlaşır; client cursor ilə yenidən qoşulur, hadisə itmir, lakin iştirak məlumatı əlçatan deyil.
- **Sabit tenant verilənlər bazaları təxminən səkkizlə məhdudlaşır**, çünki hər biri pool-u paylaşa bilməyən mühitdə daha bir bağlantı hovuzu yaradır.

## Yerləşdirmə <!--quire:deploying-->

1. Repozitoriyadan **Root Directory** `apps/web` olmaqla Vercel layihəsi yaradın. `apps/web/vercel.json` quraşdırma və yığım əmrlərini (`NITRO_PRESET=vercel`) təyin edir və `/sw.js` faylını keşsiz təqdim edir.
2. Mühit dəyişənlərini təyin edin. `docker/.env.example` faylından ən azı bunlar lazımdır: `QUIRE_DEPLOY_TARGET=vercel`, `QUIRE_APP_ORIGIN`, `QUIRE_CONTENT_ORIGIN`, `QUIRE_PLATFORM_DOMAINS`, `QUIRE_SECRET_KEY`, `QUIRE_MASTER_KEY`, `DATABASE_URL` (pooler ünvanı), `QUIRE_REPORT_DATABASE_URL`, `QUIRE_AUDIT_DATABASE_URL`, `QUIRE_DATABASE_ID`, `QUIRE_EMAIL_PROVIDER_CONFIG`, `QUIRE_MAIL_FROM`, saxlama parametrləri, həmçinin əlavə hostdakı collab xidmətini göstərən `QUIRE_COLLAB_URL` və `QUIRE_COLLAB_SIGNING_KEY`. `QUIRE_REPORT_DATABASE_URL`, `DATABASE_URL` ilə adlandırılmış fiziki bazaya aiddir. Əlavə hər qeydə alınmış bazanın öz `quire_report` bağlantı URL-sini web və worker mühitlərinə əlavə edin, sonra platforma konsolunda mühit dəyişəninin adını `env:NAME` kimi qeyd edin. Həmin bazanın hesabat URL-si yoxdursa analitika təhlükəsizlik naminə işləmir.
3. Əlavə hostda `docker/compose.yaml`-i `web` xidməti olmadan və eyni `docker/.env` ilə başladın:
   ```sh
   docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
   ```
   Hər Vercel yerləşdirməsi yayımlanmamışdan əvvəl miqrasiyalar orada işləyir.
4. Yerləşdirin. Konfiqurasiya rədd edilərsə, funksiya jurnalı “The web tier did not start on vercel” ilə başlayır və dəyişdirilməli parametrləri sadalayır.

## Yeniləmə <!--quire:upgrading-->

Əvvəl əlavə hostdan miqrasiya edin, sonra Vercel-in yeni yerləşdirməsini yayımlayın, ardınca əlavədəki worker-ləri mərhələli yeniləyin: [upgrade.md](/az/ops/upgrade/) sənədindəki ardıcıllıq. Vercel-in ani geri qaytarması kodun geri qaytarılmasıdır və buraxılış daxilində həmişə təhlükəsizdir.

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