रचना ही 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 ईमेल प्रदाता लागतो. त्यांच्याशिवाय वेब
थिअर सुरू होण्यास नाकारतो आणि त्याच्या लॉगमध्ये कोणती सेटिंग
गुमलेली आहे ते नावासह दाखवतो.
बाह्य, ट्रान्झॅक्शन पूलरमागे: 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 वेळेत पुरेसा येतो
वेब थिअर सुरू होताना हे तपासतो आणि नंतर पहिल्या ईमेलला कधीही
पाठवता आल्याशिवाय अपयशस्वी होण्याऐवजी प्रत्येक समस्या नावासह
सांगून नाकारतो:
SMTP नाही. Vercel बाहेरील SMTP रोखतो. QUIRE_EMAIL_PROVIDER_CONFIG
ला HTTP प्रदात्यावर (Postmark, SES, Mailgun, SendGrid किंवा Resend)
सेट करा. QUIRE_SMTP_URL नाकारला जातो.
स्थानिक डिस्क नाही.QUIRE_STORAGE_DRIVER=local नाकारला जातो.
कॉलमध्ये साझी स्मृती नाही.QUIRE_REALTIME_DRIVER=inprocess
नाकारला जातो. सर्व्वर-पाठवलेल्या घटना फंक्शन वेळमर्यादेपर्यंतच
मर्यादित आहेत; क्लायंट कर्सरसह पुन्हा जोडला जातो, त्यामुळे कोणतीही
घटना गमावली जात नाही, पण उपस्थिती उपलब्ध होत नाही.
पिन केलेल्या टेनंट डेटाबेस मर्यादित आहेत — साधारण आठपर्यंत,
कारण प्रत्येक म्हणजे पूल साझे करू शकणारी नसलेल्या वातावरणात
आणखी एक कनेक्शन पूल.
डिप्लॉय
रिपढ़झिटरीमधून Root Directoryapps/web असा Vercel प्रोजेक्ट
तयार करा. apps/web/vercel.json इन्स्टॉल व बिल्ड कमांड
(NITRO_PRESET=vercel) सेट करते आणि /sw.js कॅश न करता
पुरवते.
एन्व्हायरमेंट व्हेरिएबल सेट करा. 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 गायब असेल तर अॅनालिटिक्स
बंदपणे अपयशस्वी होते.
सहाय्यक होस्टवर, docker/compose.yaml ला web सेवाशिवाय त्याच
docker/.env सह चालवा:
मायग्रेशन तिथे, प्रत्येक Vercel डिप्लॉय प्रवर्गित होण्यापूर्वी
चालतात.
डिप्लॉय करा. नाकारलेल्या कॉन्फिगरेशनवर फंक्शन लॉग “The web
tier did not start on vercel” ने सुरू होते आणि बदलायची प्रत्येक
सेटिंग दाखवते.
अपग्रेड
आधी सहाय्यक होस्टवर मायग्रेट करा, नंतर नवीन Vercel डिप्लॉय
प्रवर्गित करा, नंतर सहाय्यकाचे वर्कर रोल करा: क्रम
upgrade.md मध्ये. Vercel चे त्वरित रोलबॅक हे कोड
रोलबॅक आहे आणि आवृत्तीच्या आत नेहमी सुरक्षित असते.