دیزاینەکە لە docs/architecture/23-ops.md بەشی 5ە. Vercel تەنها توڕی وێبەکە کارپێدەکات. هەموو شتێکی تر لەسەر میواندارێکی هاوڕێیە کە خۆت بەڕێوەی دەبەیت، و ئەوەش ئیختیاری نییە.
دۆخ لەم بڵاوکراوەدا
ڕێکخستنەکان ئامادەن (apps/web/vercel.json، پێشڕێکی Nitroی vercel و پشکنینەکانی دەستپێکردن). Vercel پێویستی بە هەڵگرتنی هاوبەشی فایلە (QUIRE_STORAGE_DRIVER=s3 یان azure)، ڕێگای کاتیی کارکردنی ڕاستەوخۆ کە لە نێوان نموونەکانی فانکشن کار بکات (QUIRE_REALTIME_DRIVER=sse یان centrifugo) و دابینکەری ئیمەیڵی HTTP هەیە. بەبێ ئەمانە توڕی وێب ڕەت دەکاتەوە دەست پێ بکات و تۆماری کارکردنی هەر ڕێکخستنێکی کەمبوو ناو دەبات.
پارچەکان
| پارچە | شوێنی کارکردن |
|---|---|
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 |
ئەم ئامانجە ناتوانێت چی بکات
توڕی وێب لە کاتی دەستپێکردندا ئەمانە دەپشکنێت و ڕەتیان دەکاتەوە، هەموو کێشەکان ناو دەبات؛ لە جیاتی ئەوەی دواتر لە یەکەم ئیمەیڵی نەنێردراوەوە بشکێت:
- 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ەکان ناتوانن هاوبەش بکرێن.
بڵاوکردنەوە
- پرۆژەیەکی Vercel لە گەنجینەکەوە دروست بکە و بوخچەی ڕەگ دابنێ بۆ
apps/web.apps/web/vercel.jsonفەرمانی دامەزراندن و بنیاتنان ڕێکدەخات (NITRO_PRESET=vercel) و/sw.jsبەبێ cache پێشکەش دەکات. - گۆڕاوەکانی ژینگە دابنێ. لانیکەم ئەمانەی لە
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ی ڕاپۆرتی ئەو بنکەدراوەیە ون بێت بەردەوام نابێت. - لە میوانداری هاوڕێدا
docker/compose.yamlبەبێ خزمەتگوزاریwebو بە هەمانdocker/.envجێبەجێ بکە: کۆچکردنەکان لەوێ جێبەجێ دەبن، پێش پەسەندکردنی هەر بڵاوکردنەوەی Vercel.docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content - بڵاوی بکەرەوە. ئەگەر ڕێکخستن ڕەت کرایەوە، تۆماری فانکشن بە “The web tier did not start on vercel” دەست پێ دەکات و هەر ڕێکخستنێک کە دەبێت بگۆڕدرێت لیست دەکات.
نوێکردنەوە
سەرەتا لە میوانداری هاوڕێ کۆچی داتا جێبەجێ بکە، پاشان بڵاوکردنەوەی نوێی Vercel پەسەند بکە و دواتر workerەکانی هاوڕێ بگێڕەوە: ڕیزبەندییەکە لە upgrade.md هاتووە. گەڕانەوەی خێرای Vercel گەڕانەوەی کۆدە و لەناو وەشانێکدا هەمیشە سەلامەتە.