थेट मजकुराकडे जा

Vercel वरील वेब थिअर

सहाय्यक वर्करसह Quire चा वेब थिअर Vercel वर चालवा.

Markdown मध्ये पहा

रचना ही docs/architecture/23-ops.md विभाग 5 आहे. Vercel फक्त वेब थिअर चालवतो. उरलेले सर्व तुम्ही चालवणाऱ्या सहाय्यक होस्टवर चालते आणि ते पर्यायी नाही.

या आवृत्तीतील स्थिती

कॉन्फिगरेशन जागी आहे (apps/web/vercel.json, vercel Nitro प्रिसेट आणि सुरुवातीची तपासण्या). Vercel ला साझी फाइल स्टोरेज (QUIRE_STORAGE_DRIVER=s3 किंवा azure), फंक्शन इन्स्टन्समध्ये काम करणारा रियलटाइम ड्रायव्हर (QUIRE_REALTIME_DRIVER=sse किंवा centrifugo) आणि HTTP ईमेल प्रदाता लागतो. त्यांच्याशिवाय वेब थिअर सुरू होण्यास नाकारतो आणि त्याच्या लॉगमध्ये कोणती सेटिंग गुमलेली आहे ते नावासह दाखवतो.

घटक

घटक ते कुठे चालते
web Vercel Functions, Node रनटाइम: पृष्ठे, REST, MCP, LTI, मिळालेले webhooks
worker, scheduler, collab, content सहाय्यक होस्ट: Fly, Railway, ECS, किंवा docker/compose.yaml सह तुमचे स्वतःचे Docker होस्ट
Postgres बाह्य, ट्रान्झॅक्शन पूलरमागे: Neon, Supabase, किंवा PgBouncer सह RDS
फाइली S3 किंवा R2. स्थिर डिस्क नाही
बॅकग्राउंड जॉब विनंतीच्या ट्रान्झॅक्शनमध्ये pg-boss द्वारे क्यूमध्ये घातलेली, सहाय्यक वर्करद्वारे चालवलेली. सहाय्यक वर्करवर QUIRE_QUEUE_DRIVER=vercel असल्यास हलकी जॉब (क्रमहीन सूचना आणि webhook डिलिव्हरी) Vercel Queues (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN) द्वारे जातात, त्यामुळे त्यांसाठी पूल केलेले Postgres पोल केले जात नाही
पुनरावृत्ती जॉब सहाय्यक शेड्यूलर. Vercel Cron मार्ग नाही, कारण फंक्शनमध्ये काम करणारा 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 नाकारला जातो. सर्व्वर-पाठवलेल्या घटना फंक्शन वेळमर्यादेपर्यंतच मर्यादित आहेत; क्लायंट कर्सरसह पुन्हा जोडला जातो, त्यामुळे कोणतीही घटना गमावली जात नाही, पण उपस्थिती उपलब्ध होत नाही.
  • पिन केलेल्या टेनंट डेटाबेस मर्यादित आहेत — साधारण आठपर्यंत, कारण प्रत्येक म्हणजे पूल साझे करू शकणारी नसलेल्या वातावरणात आणखी एक कनेक्शन पूल.

डिप्लॉय

  1. रिपढ़झिटरीमधून Root Directory apps/web असा Vercel प्रोजेक्ट तयार करा. 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 web आणि 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 डिप्लॉय प्रवर्गित करा, नंतर सहाय्यकाचे वर्कर रोल करा: क्रम upgrade.md मध्ये. Vercel चे त्वरित रोलबॅक हे कोड रोलबॅक आहे आणि आवृत्तीच्या आत नेहमी सुरक्षित असते.

नेव्हिगेशन

शोधण्यासाठी लिहा…

↑↓ नेव्हिगेट करा↵ निवडाEsc बंद करा