Агуулг руу шилжих

Vercel дээрх веб түвшин

Quire-н веб түвшинг туслах ажилч хамтатган Vercel дээр ажиллуулах.

Markdown хэлбэрээр харах

Зохион байгуулалт нь docs/architecture/23-ops.md хэсэг 5. Vercel зөвхөн веб түвшинг ажиллуулна. Бусад бүх зүйл та ажиллуулдаг туслах хост дээр ажиллана бөгөөд энэ нь сонголт биш юм.

Энэ хувилбарын төлөв

Тохиргоо бэлэн (apps/web/vercel.json, vercel Nitro preset болон ачааллагын шалгалтууд). Vercel-д хуваалцсан файлын хадгалалт (QUIRE_STORAGE_DRIVER=s3 эсвэл azure), функцийн инстанцуудын дунд ажиллах бодит цагийн жолооч (QUIRE_REALTIME_DRIVER=sse эсвэл centrifugo), мөн HTTP имэйлийн өгөгч хэрэгтэй. Үгүй бол веб түвшин эхлэхээс татгалзаж, лог нь дутагдаж буй тохиргоо бүрийг нэрлэнэ.

Хэсгүүд

Хэсэг Хаана ажилладаг вэ
web Vercel Functions, Bun runtime: хуудсууд, REST, MCP, LTI, хүлээн авсан вебхүүкүүд
worker, scheduler, collab, content Туслах хост: Fly, Railway, ECS, эсвэл docker/compose.yaml-тай өөрийн Docker хост
Postgres Гадаад, гүйлгээний тэнцвэрүүлэгчийн ард: Neon, Supabase, эсвэл PgBouncer-тай RDS
Файлууд S3 эсвэл R2. Тогтмол диск байхгүй
Арын ажлууд Хүсэлтийн гүйлгээн дотор pg-boss-оор ээлжлэгдэж, туслах ажилч ажиллуулна. Туслах ажилч дээр QUIRE_QUEUE_DRIVER=vercel байвал хөнгөн ажлууд (ээлжлээгүй мэдэгдэл болон вебхүүкийн хүргэлтүүд) Vercel Queues (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN) дамжуулан явдаг тул тэдгээрийн тулд тэнцвэржүүлсэн Postgres-ийг асуухгүй
Давтан гардаг ажлууд Туслах scheduler. 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. Төслөөс Vercel төсөл үүсгээд, Root Directory-г 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, хадгалалтын тохиргоонууд, мөн туслах collab үйлчилгээг зааж буй QUIRE_COLLAB_URL болон QUIRE_COLLAB_SIGNING_KEY. QUIRE_REPORT_DATABASE_URL нь DATABASE_URL-аар нэрлэгдсэн физик өгөгдлийн санд хамаарна. Нэмэлт бүртгэгдсэн өгөгдлийн сан бүрийн хувьд өөрийн quire_report холболтын URL-ийг веб болон 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 хаах