---
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/lo/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`, preset `vercel`
ຂອງ Nitro ແລະການກວດສອບການເລີ່ມ). Vercel ຕ້ອງການການເກັບ
ໄຟລ໌ທີ່ແບ່ງປັນ (`QUIRE_STORAGE_DRIVER=s3` ຫຼື `azure`), ແຂກຮັບຊົງ
realtime ທີ່ເຮັດວຽກຂ້າມ function instances (`QUIRE_REALTIME_DRIVER=sse`
ຫຼື `centrifugo`) ແລະ ຜູ້ໃຫ້ບໍລິການອີເມວ HTTP. ໂດຍບໍ່ມີພວກມັນ
ຊັ້ນເວັບປະຕິເສດການເລີ່ມ ແລະບັນທຶກຂອງມັນລະບຸການຕັ້ງຄ່າ
ແຕ່ລະອັນທີ່ຂາດ.

## ອັນລວມຕ່າງໆ <!--quire:the-pieces-->

| ອັນລວມ | ບ່ອນທີ່ມັນແລ່ນ |
| --- | --- |
| `web` | Vercel Functions, Bun runtime: ໜ້າ, REST, MCP, LTI, webhooks ທີ່ໄດ້ຮັບ |
| `worker`, `scheduler`, `collab`, `content` | ເຊີບເວີເພື່ອການ: Fly, Railway, ECS, ຫຼື Docker host ຂອງທ່ານເອງກັບ `docker/compose.yaml` |
| Postgres | ພາຍນອກ, ຢູ່ເບື້ອງຫຼັງ transaction pooler: Neon, Supabase, ຫຼື RDS ກັບ PgBouncer |
| ໄຟລ໌ | S3 ຫຼື R2. ບໍ່ມິດິດຖະຫນົນຖາວອນ |
| ງານພື້ນຫຼັງ | ບັນທຶກເຂົ້າ queue ດ້ວຍ pg-boss ພາຍໃນ transaction ຂອງຄຳຮ້ອງຂໍ, ແລ່ນໂດຍ worker ເພື່ອການ. ດ້ວຍ `QUIRE_QUEUE_DRIVER=vercel` ໃນ worker ເພື່ອການ ງານເບົາໆ (ການແຈ້ງເຕືອນ ແລະການສົ່ງ webhook ທີ່ບໍ່ມີລຳດັບ) ໄປຜ່ານ Vercel Queues (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`) ດັ່ງນັ້ນ Postgres ທີ່ປົກຄຸມບໍ່ຖືກເອີ້ນສຳລັບພວກມັນ |
| ງານຊ້ຳເວລາ | Scheduler ເພື່ອການ. ບໍ່ມີເສັ້ນທາງ Vercel Cron ເພາະ cron ທີ່ເຮັດງານພາຍໃນ function ຈະໝົດເວລາ |
| ການຕິດຕາມ | 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` ຖືກປະຕິເສດ. Server-sent events
  ຖືກເກນໄວ້ທີ່ timeout ຂອງ function; clientເຊື່ອມຕໍ່ຄືນດ້ວຍ cursor
  ດັ່ງນັ້ນບໍ່ມີເຫດການໃດສູນ ແຕ່ການມີຕົວຢູ່ບໍ່ສາມາດໃຊ້ໄດ້.
- **ຖານຂໍ້ມູນ tenant ທີ່ຖືກ pin ຖືກຈຳກັດ** ເທົ່າກັບປະມານແປດ
  ແຫ່ງ ເພາະແຕ່ລະແຫ່ງແມ່ນ connection pool ໜຶ່ງອີກໃນສະພາບ
  ແວດລ້ອມທີ່ບໍ່ສາມາດແບ່ງປັນ pools ໄດ້.

## ການນຳສົ່ງ <!--quire:deploying-->

1. ສ້າງໂຄງການ Vercel ຈາກ repo ດ້ວຍ **Root Directory** `apps/web`.
   `apps/web/vercel.json` ຕັ້ງຄຳສັ່ງຕິດຕັ້ງ ແລະສ້າງ
   (`NITRO_PRESET=vercel`) ແລະບໍລິການ `/sw.js` ໂດຍບໍ່ມີ cache.
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` (ທີ່ຢູ່ຂອງ pooler),
   `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` ລະບຸ. ສຳລັບຖານຂໍ້ມູນທີ່ລົງທະບຽນເພີ່ມເຕີມ
   ແຕ່ລະແຫ່ງ ເພີ່ມ URL ການເຊື່ອມຕໍ່ `quire_report` ຂອງມັນເອງ
   ເຂົ້າສະພາບແວດລ້ອມ web ແລະ worker ທັງສອງ ຈາກນັ້ນລົງທະບຽນ
   ຊື່ຕົວແປສະພາບແວດລ້ອມຂອງມັນເປັນ `env:NAME` ໃນ console ຂອງ
   ເພລຟອມ. ການວິເຄາະລົ້ມແຫຼວໂດຍປິດຖ້າ 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. ສົ່ງ. ໃນການຕັ້ງຄ່າທີ່ຖືກປະຕິເສດ ບັນທຶກ function ເລີ່ມດ້ວຍ
   "The web tier did not start on vercel" ແລະລາຍຊື່ການຕັ້ງຄ່າ
   ແຕ່ລະອັນທີ່ຈະປ່ຽນ.

## ການອັບເດດ <!--quire:upgrading-->

ຍ້າຍຈາກເຊີບເວີເພື່ອການກ່ອນ, ຈາກນັ້ນຍົກການສົ່ງ Vercel ໃໝ່
ຂຶ້ນ, ຈາກນັ້ນແກວງ workers ຂອງເພື່ອການ: ລຳດັບຢູ່ໃນ
[upgrade.md](/lo/ops/upgrade/). ການກັບຄືນທັນທີຂອງ Vercel ແມ່ນການກັບ
ຄືນລະຫັດ ແລະປອດໄພສະເໝີພາຍໃນສະບັບໜຶ່ງ.

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