---
title: "Vercel ရှိ ဝဘ်အဆင့်"
description: "အဖော်အလုပ်သမားနှင့်အတူ Quire ဝဘ်အဆင့်ကို Vercel တွင် လည်ပတ်ပါ။"
image: "https://docs.quirelms.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.quirelms.com/my/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` အပိုင်း ၅ ဖြစ်သည်။ Vercel က ဝဘ်အဆင့်သာ
လည်ပတ်သည်။ ကျန်အရာအားလုံး သင်လည်ပတ်သော အဖော်အိမ်ရှင်တွင် လည်ပတ်သည်၊
ရွေးချယ်နိုင်သည် မဟုတ်ပါ။

## ဤထုတ်ဝေမှုရှိ အခြေအနေ <!--quire:status-in-this-release-->

စီစဉ်မှုက နေရာတကျ ရှိသည် (`apps/web/vercel.json`၊ `vercel` Nitro
ကြိုတင်သတ်မှတ်မှုနှင့် စတင်စစ်ဆေးမှုများ)။ Vercel က မျှဝေသောဖိုင်သိုလှောင်မှု
(`QUIRE_STORAGE_DRIVER=s3` သို့မဟုတ် `azure`)၊ function instance များ ဖြတ်ကျော်
အလုပ်လုပ်သော realtime မောင်းနှင်သူ (`QUIRE_REALTIME_DRIVER=sse` သို့မဟုတ်
`centrifugo`) နှင့် HTTP အီးမေးလ်ဝန်ဆောင်မှုပေးသူ လိုအပ်သည်။ ၎င်းတို့မရှိပါက
ဝဘ်အဆင့် စတင်ရန် ငြင်းပယ်ပြီး ၎င်း၏မှတ်တမ်း ပျောက်နေသောဆက်တင်တစ်ခုစီကို အမည်ပေးသည်။

## အစိတ်အပိုင်းများ <!--quire:the-pieces-->

| အစိတ်အပိုင်း | လည်ပတ်သည့်နေရာ |
| --- | --- |
| `web` | Vercel Functions၊ Bun runtime– စာမျက်နှာများ၊ REST၊ MCP၊ LTI၊ လက်ခံရရှိသော webhook များ |
| `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 လမ်းကြောင်း မရှိပါ၊ function အတွင်း အလုပ်လုပ်သော cron က အချိန်ကုန်သောကြောင့် |
| Tracing | သင့်စုဆောင်းသူထံ 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` ကို ငြင်းပယ်သည်။ ဆာဗာပို့ဖြစ်ရပ်များကို
  function အချိန်ကုန်တွင် အမိုးအကာထားသည်။ client က cursor ဖြင့် ပြန်ချိတ်ဆက်သောကြောင့်၊
  ဖြစ်ရပ်မဆုံးရှုံးပါ၊ သို့သော် တည်ရှိမှု မရနိုင်ပါ။
- **ချိတ်ထားသော tenant ဒေတာဘေ့စ်များ** ရှစ်ခုခန့်သာ ကန့်သတ်ထားသည်၊ တစ်ခုစီက
  ပေါင်းကူးများ မျှဝေ၍မရသောပတ်ဝန်းကျင်တွင် နောက်ထပ်ချိတ်ဆက်မှုပေါင်းကူးတစ်ခု
  ဖြစ်သောကြောင့်။

## ဖြန့်ကျက်ခြင်း <!--quire:deploying-->

1. **Root Directory** `apps/web` ဖြင့် သိုလှောင်မှုမှ Vercel ပရောဂျက်တစ်ခု ဖန်တီးပါ။
   `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` ဖြင့် လည်ပတ်ပါ–
   ```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 ဖြန့်ကျက်မှုအသစ် မြှင့်တင်ပါ၊
ထို့နောက် အဖော်၏အလုပ်သမားများ လှိမ့်ပါ– [upgrade.md](/my/ops/upgrade/) ရှိ အစီအစဉ်။
Vercel ချက်ချင်းပြန်လှည့်ခြင်းက ကုဒ်ပြန်လှည့်ခြင်း ဖြစ်ပြီး ထုတ်ဝေမှုတစ်ခုအတွင်း
အမြဲဘေးကင်းသည်။

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