بازدان بۆ ناوەڕۆک

توڕی وێب لەسەر Vercel

توڕی وێبی Quire لەسەر Vercel لەگەڵ workerێکی هاوڕێ بەکاربهێنە.

بینین وەک Markdown

دیزاینەکە لە 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ەکان ناتوانن هاوبەش بکرێن.

بڵاوکردنەوە

  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 جێبەجێ بکە:
    docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
    کۆچکردنەکان لەوێ جێبەجێ دەبن، پێش پەسەندکردنی هەر بڵاوکردنەوەی Vercel.
  4. بڵاوی بکەرەوە. ئەگەر ڕێکخستن ڕەت کرایەوە، تۆماری فانکشن بە “The web tier did not start on vercel” دەست پێ دەکات و هەر ڕێکخستنێک کە دەبێت بگۆڕدرێت لیست دەکات.

نوێکردنەوە

سەرەتا لە میوانداری هاوڕێ کۆچی داتا جێبەجێ بکە، پاشان بڵاوکردنەوەی نوێی Vercel پەسەند بکە و دواتر workerەکانی هاوڕێ بگێڕەوە: ڕیزبەندییەکە لە upgrade.md هاتووە. گەڕانەوەی خێرای Vercel گەڕانەوەی کۆدە و لەناو وەشانێکدا هەمیشە سەلامەتە.

ڕێنیشاندەر

بۆ گەڕان بنووسە…

↑↓ بۆ گەڕان↵ بۆ هەڵبژاردنEsc بۆ داخستن