დიზაინია 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 ფუნქციები, Node გაშვება: გვერდები, REST, MCP, LTI, მიღებული ვებჰუკები
worker, scheduler, collab, content
თანმხლები ჰოსტი: Fly, Railway, ECS ან თქვენი საკუთარი Docker ჰოსტი docker/compose.yaml-ით
Postgres
გარე, ტრანზაქციის პულერის უკან: Neon, Supabase ან RDS PgBouncer-ით
ფაილები
S3 ან R2. მუდმივი დისკი არ არის
ფონური სამუშაოები
რიგში მოთხოვნის ტრანზაქციის შიგნით pg-boss-ით, გაშვებული თანმხლები worker-ით. QUIRE_QUEUE_DRIVER=vercel-ით თანმხლებ worker-ზე მსუბუქი სამუშაოები (ურიგო შეტყობინებებისა და ვებჰუკის მიწოდებები) Vercel რიგებით მიდის (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN), ასე რომ გაერთიანებული Postgres მათთვის არ იკითხება
განმეორებადი სამუშაოები
თანმხლები განრიგი. Vercel 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
უარყოფილია. სერვერის მიერ გაგზავნილი მოვლენები შემოიფარგლება ფუნქციის ვადით; კლიენტი
ხელახლა უკავშირდება კურსორით, ასე რომ არცერთი მოვლენა არ იკარგება, მაგრამ დასწრება
მიუწვდომელია.
მიბმული მოიჯარის მონაცემთა ბაზები შეზღუდულია დაახლოებით რვამდე, რადგან თითოეული კიდევ ერთი
შეერთების პულია გარემოში, რომელსაც პულების გაზიარება არ შეუძლია.
გაშვება
შექმენით Vercel პროექტი რეპოზიტორიიდან საკუთარი დირექტორიითapps/web. 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, საცავის პარამეტრები,
და QUIRE_COLLAB_URL და QUIRE_COLLAB_SIGNING_KEY, რომლებიც თანმხლების
collab სერვისზე მიუთითებენ.
QUIRE_REPORT_DATABASE_URL ეკუთვნის ფიზიკურ მონაცემთა ბაზას, დასახელებულს
DATABASE_URL-ით. თითოეული დამატებითი რეგისტრირებული მონაცემთა ბაზისთვის დაამატეთ მისი საკუთარი
quire_report შეერთების URL ვების და worker-ის გარემოებში, შემდეგ
დაარეგისტრირეთ მისი გარემოს ცვლადის სახელი, როგორც env:NAME, პლატფორმის
კონსოლში. ანალიტიკა დახურულად ვარდება, თუ იმ მონაცემთა ბაზის ანგარიშის URL აკლია.
თანმხლებ ჰოსტზე გაუშვით docker/compose.yamlweb
სერვისის გარეშე, იგივე docker/.env-ით:
მიგრაციები იქ მუშაობენ, სანამ თითოეული Vercel გაშვება დაწინაურდება.
გაუშვით. უარყოფილ კონფიგურაციაზე ფუნქციის ჟურნალი იწყება „ვებ-დონე vercel-ზე არ
გაშვებულა“-თი და ჩამოთვლის თითოეულ შესაცვლელ პარამეტრს.
განახლება
მიგრაცია ჯერ თანმხლები ჰოსტიდან, შემდეგ ახალი Vercel გაშვების
დაწინაურება, შემდეგ თანმხლების worker-ების გადახვევა: თანმიმდევრობა
upgrade.md-ში. Vercel-ის მყისიერი უკან დაბრუნება კოდის უკან დაბრუნებაა და
ყოველთვის უსაფრთხოა რელიზის ფარგლებში.