---
title: "ვებ-დონე Vercel-ზე"
description: "Quire-ის ვებ-დონის გაშვება Vercel-ზე თანმხლები worker-ით."
image: "https://docs.quirelms.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.quirelms.com/ka/llms.txt
> Use this file to discover all available pages before exploring further.

# ვებ-დონე Vercel-ზე

<span id="the-web-tier-on-vercel"></span>

დიზაინია `docs/architecture/23-ops.md` მე-5 სექცია. Vercel აწარმოებს მხოლოდ ვებ-დონეს.
ყველა დანარჩენი მუშაობს თანმხლებ ჰოსტზე, რომელსაც თქვენ მართავთ, და ის
არჩევითი არ არის.

## სტატუსი ამ რელიზში <!--quire:status-in-this-release-->

კონფიგურაცია ადგილზეა (`apps/web/vercel.json`, `vercel` Nitro
წინასწარ დაყენებული და გაშვების შემოწმებები). Vercel-ს სჭირდება გაზიარებული ფაილების საცავი
(`QUIRE_STORAGE_DRIVER=s3` ან `azure`), რეალურ დროში დრაივერი, რომელიც მუშაობს ფუნქციის
ინსტანსებში (`QUIRE_REALTIME_DRIVER=sse` ან `centrifugo`) და HTTP
ელფოსტის პროვაიდერი. მათ გარეშე ვებ-დონე გაშვებაზე უარს ამბობს და მისი ჟურნალი
ასახელებს თითოეულ დაკარგულ პარამეტრს.

## ნაწილები <!--quire:the-pieces-->

| ნაწილი | სად მუშაობს |
| --- | --- |
| `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 მარშრუტი არ არის, რადგან კრონი, რომელიც სამუშაოს ფუნქციის შიგნით აკეთებს, ვადაში იწურება |
| ტრასირება | OpenTelemetry თქვენს კოლექტორში, `OTEL_EXPORTER_OTLP_ENDPOINT` |

## რისი გაკეთება არ შეუძლია ამ სამიზნეს <!--quire:what-this-target-cannot-do-->

ვებ-დონე ამოწმებს ამათ გაშვებისას და უარს ამბობს, ყველა პრობლემის დასახელებით,
ვიდრე მოგვიანებით ჩავარდებოდეს პირველ ელფოსტაზე, რომელიც არასდროს იგზავნება:

- **SMTP არ არის.** Vercel ბლოკავს გამავალ SMTP-ს. დააყენეთ `QUIRE_EMAIL_PROVIDER_CONFIG`
  HTTP პროვაიდერზე (Postmark, SES, Mailgun, SendGrid ან Resend).
  `QUIRE_SMTP_URL` უარყოფილია.
- **ლოკალური დისკი არ არის.** `QUIRE_STORAGE_DRIVER=local` უარყოფილია.
- **გაზიარებული მეხსიერება გამოძახებებს შორის არ არის.** `QUIRE_REALTIME_DRIVER=inprocess`
  უარყოფილია. სერვერის მიერ გაგზავნილი მოვლენები შემოიფარგლება ფუნქციის ვადით; კლიენტი
  ხელახლა უკავშირდება კურსორით, ასე რომ არცერთი მოვლენა არ იკარგება, მაგრამ დასწრება
  მიუწვდომელია.
- **მიბმული მოიჯარის მონაცემთა ბაზები შეზღუდულია** დაახლოებით რვამდე, რადგან თითოეული კიდევ ერთი
  შეერთების პულია გარემოში, რომელსაც პულების გაზიარება არ შეუძლია.

## გაშვება <!--quire:deploying-->

1. შექმენით Vercel პროექტი რეპოზიტორიიდან **საკუთარი დირექტორიით**
   `apps/web`. `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`, საცავის პარამეტრები,
   და `QUIRE_COLLAB_URL` და `QUIRE_COLLAB_SIGNING_KEY`, რომლებიც თანმხლების
   collab სერვისზე მიუთითებენ.
   `QUIRE_REPORT_DATABASE_URL` ეკუთვნის ფიზიკურ მონაცემთა ბაზას, დასახელებულს
   `DATABASE_URL`-ით. თითოეული დამატებითი რეგისტრირებული მონაცემთა ბაზისთვის დაამატეთ მისი საკუთარი
   `quire_report` შეერთების URL ვების და worker-ის გარემოებში, შემდეგ
   დაარეგისტრირეთ მისი გარემოს ცვლადის სახელი, როგორც `env:NAME`, პლატფორმის
   კონსოლში. ანალიტიკა დახურულად ვარდება, თუ იმ მონაცემთა ბაზის ანგარიშის URL აკლია.
3. თანმხლებ ჰოსტზე გაუშვით `docker/compose.yaml` `web`
   სერვისის გარეშე, იგივე `docker/.env`-ით:
   ```sh
   docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
   ```
   მიგრაციები იქ მუშაობენ, სანამ თითოეული Vercel გაშვება დაწინაურდება.
4. გაუშვით. უარყოფილ კონფიგურაციაზე ფუნქციის ჟურნალი იწყება „ვებ-დონე vercel-ზე არ
   გაშვებულა“-თი და ჩამოთვლის თითოეულ შესაცვლელ პარამეტრს.

## განახლება <!--quire:upgrading-->

მიგრაცია ჯერ თანმხლები ჰოსტიდან, შემდეგ ახალი Vercel გაშვების
დაწინაურება, შემდეგ თანმხლების worker-ების გადახვევა: თანმიმდევრობა
[upgrade.md](/ka/ops/upgrade/)-ში. Vercel-ის მყისიერი უკან დაბრუნება კოდის უკან დაბრუნებაა და
ყოველთვის უსაფრთხოა რელიზის ფარგლებში.

Source: https://docs.quirelms.com/ka/ops/vercel/index.mdx
