डिजाइन 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
Files
S3 वा R2। स्थायी डिस्क छैन
Background jobs
अनुरोधकै कारोबारभित्र pg-boss सँग पङ्क्तिबद्ध, साथी वर्करद्वारा चलाइने। साथी वर्करमा QUIRE_QUEUE_DRIVER=vercel सहित, हल्का काम (अक्रमित सूचना र webhook वितरण) Vercel Queues (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN) मार्फत जान्छन्, त्यसैले पुल गरिएको Postgres तिनका लागि पोल गरिँदैन
Recurring jobs
साथी सेड्युलर। 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
अस्वीकार हुन्छ। सर्भर-पठाइएका घटना फङ्क्सन टाइमआउटमा सीमित छन्; क्लाइन्ट कर्सरसहित पुनः जोडिन्छ,
त्यसैले कुनै घटना हराउँदैन, तर उपस्थिति अनुपलब्ध छ।
पिन गरिएका टेनान्ट डेटाबेस लगभग आठमा सीमित छन्, किनभने हरेक पुल साझा गर्न नसक्ने वातावरणमा अर्को जडान पुल हो।
परिनियोजन गर्ने
रुट डाइरेक्टरीapps/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_URLDATABASE_URL ले नाम दिएको भौतिक डेटाबेसको हो।
हरेक थप दर्ता डेटाबेसका लागि, वेब र वर्कर दुवै वातावरणमा यसको आफ्नै
quire_report जडान URL थप्नुहोस्, त्यसपछि प्लेटफर्म कन्सोलमा यसको वातावरण चर नाम env:NAME का रूपमा
दर्ता गर्नुहोस्। त्यो डेटाबेसको प्रतिवेदन URL छुटेमा विश्लेषण बन्द असफल हुन्छ।
साथी होस्टमा, docker/compose.yaml लाई web सेवाबिना चलाउनुहोस्, उही docker/.env सहित:
माइग्रेसन त्यहाँ चल्छन्, हरेक Vercel परिनियोजन प्रवर्धन हुनुअघि।
परिनियोजन गर्नुहोस्। अस्वीकृत कन्फिगरेसनमा फङ्क्सन लग “The web
tier did not start on vercel” बाट सुरु हुन्छ र परिवर्तन गर्ने हरेक सेटिङ सूचीबद्ध गर्छ।
स्तरोन्नति गर्ने
पहिले साथी होस्टबाट माइग्रेट गर्नुहोस्, त्यसपछि नयाँ Vercel परिनियोजन प्रवर्धन गर्नुहोस्,
त्यसपछि साथीका वर्कर रोल गर्नुहोस्: upgrade.md मा क्रम।
Vercel तत्काल फिर्ता रोल कोड फिर्ता रोल हो र रिलिजभित्र सधैँ सुरक्षित छ।