---
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/ckb/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`، پێشڕێکی Nitroی `vercel` و پشکنینەکانی دەستپێکردن). Vercel پێویستی بە هەڵگرتنی هاوبەشی فایلە (`QUIRE_STORAGE_DRIVER=s3` یان `azure`)، ڕێگای کاتیی کارکردنی ڕاستەوخۆ کە لە نێوان نموونەکانی فانکشن کار بکات (`QUIRE_REALTIME_DRIVER=sse` یان `centrifugo`) و دابینکەری ئیمەیڵی HTTP هەیە. بەبێ ئەمانە توڕی وێب ڕەت دەکاتەوە دەست پێ بکات و تۆماری کارکردنی هەر ڕێکخستنێکی کەمبوو ناو دەبات.

## پارچەکان <!--quire:the-pieces-->

| پارچە | شوێنی کارکردن |
| --- | --- |
| `web` | Vercel Functions، ژینگەی Node: پەڕە، REST، MCP، LTI، وەرگرتنی webhook |
| `worker`، `scheduler`، `collab`، `content` | میوانداری هاوڕێ: Fly، Railway، ECS یان میوانداری Dockerی خۆت بە `docker/compose.yaml` |
| Postgres | دەرەکی، لە پشت transaction pooler: Neon، Supabase یان RDS لەگەڵ PgBouncer |
| فایلەکان | S3 یان R2. دیسکی هەمیشەیی نییە |
| کارەکانی پاشبنەما | لەناو transactionی داواکاری بە pg-boss زیاد دەکرێن و لەلایەن workerی هاوڕێوە جێبەجێ دەکرێن. لەگەڵ `QUIRE_QUEUE_DRIVER=vercel` لە workerی هاوڕێ، کارە سووکەکان (ئاگادارکردنەوە و گەیاندنی webhook بەبێ ڕیزبەندی) لە ڕێگەی Vercel Queues (`VERCEL_QUEUE_REGION`، `VERCEL_QUEUE_TOKEN`) دەڕۆن، بۆیە Postgresی کۆکراو بۆیان ناپشکنرێت |
| کارە دووبارەبووەکان | schedulerی هاوڕێ. ڕێڕەوی 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` ڕەت دەکرێتەوە. ڕووداوە نێردراوەکانی ڕاژە تا کاتی بەسەرچوونی فانکشن سنووردارن؛ کڕیار بە cursor پەیوەندی دووبارە دەکاتەوە بۆیە هیچ ڕووداوێک ون نابێت، بەڵام بوونی بەکارهێنەر بەردەست نییە.
- **بنکەدراوەی tenantی بەجێگیر سنووردارە** بە نزیکەی هەشت، چونکە هەر یەکەیان poolێکی پەیوەندییە لە ژینگەیەک کە poolەکان ناتوانن هاوبەش بکرێن.

## بڵاوکردنەوە <!--quire:deploying-->

1. پرۆژەیەکی Vercel لە گەنجینەکەوە دروست بکە و **بوخچەی ڕەگ** دابنێ بۆ `apps/web`. `apps/web/vercel.json` فەرمانی دامەزراندن و بنیاتنان ڕێکدەخات (`NITRO_PRESET=vercel`) و `/sw.js` بەبێ cache پێشکەش دەکات.
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`، ڕێکخستنی هەڵگرتن و `QUIRE_COLLAB_URL` و `QUIRE_COLLAB_SIGNING_KEY` کە بۆ خزمەتگوزاری collabی هاوڕێ ئاماژە دەکەن. `QUIRE_REPORT_DATABASE_URL` سەر بەو بنکەدراوە جەستەییەیە کە `DATABASE_URL` دیاری دەکات. بۆ هەر بنکەدراوەیەکی تۆمارکراوی زیادە، URLی پەیوەندی `quire_report`ی خۆی بۆ ژینگەی وێب و 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 پەسەند بکە و دواتر workerەکانی هاوڕێ بگێڕەوە: ڕیزبەندییەکە لە [upgrade.md](/ckb/ops/upgrade/) هاتووە. گەڕانەوەی خێرای Vercel گەڕانەوەی کۆدە و لەناو وەشانێکدا هەمیشە سەلامەتە.

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