---
title: "Ka papa pūnaewele ma Vercel"
description: "Holo i ka papa pūnaewele Quire ma Vercel me kahi worker hoa."
image: "https://docs.quirelms.com/og.png"
---

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

# Ka papa pūnaewele ma Vercel

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

Aia ka hoʻolālā ma ka māhele 5 o `docs/architecture/23-ops.md`. Holo wale ka papa pūnaewele ma Vercel. Holo nā mea ʻē aʻe a pau ma kekahi host hoa āu e mālama ai; he koi nō ia.

## Kūlana o kēia mana <!--quire:status-in-this-release-->

Ua mākaukau ka hoʻonohonoho (`apps/web/vercel.json`, ka hoʻonohonoho mua Nitro `vercel`, a me nā nānā hoʻomaka). Pono ʻo Vercel i waihona faila kaʻana (`QUIRE_STORAGE_DRIVER=s3` a i ʻole `azure`), mea hoʻokele manawa maoli e hana ana ma waena o nā laʻana hana (`QUIRE_REALTIME_DRIVER=sse` a i ʻole `centrifugo`), a me mea hoʻolako leka uila HTTP. Inā ʻaʻohe o lākou, hōʻole ka papa pūnaewele e hoʻomaka a papa inoa kona moʻolelo i kēlā me kēia hoʻonohonoho i nele.

## Nā ʻāpana <!--quire:the-pieces-->

| ʻĀpana | Kahi e holo ai |
| --- | --- |
| `web` | Vercel Functions, Bun runtime: nā ʻaoʻao, REST, MCP, LTI, nā webhook i loaʻa |
| `worker`, `scheduler`, `collab`, `content` | Host hoa: Fly, Railway, ECS, a i ʻole kou host Docker ponoʻī me `docker/compose.yaml` |
| Postgres | Waho, ma hope o pooler hana: Neon, Supabase, a i ʻole RDS me PgBouncer |
| Nā faila | S3 a i ʻole R2. ʻAʻohe disk paʻa |
| Nā hana hope | Hoʻokomo ʻia e pg-boss i loko o ka hana noi, holo ʻia e ka worker hoa. Me `QUIRE_QUEUE_DRIVER=vercel` ma ka worker hoa, holo nā hana māmā (nā leka hoʻomaopopo ʻole i hoʻonohonoho ʻia a me nā hoʻouna webhook) ma o Vercel Queues (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`), i ʻole e huli ʻia lākou ma Postgres pool |
| Nā hana hoʻihoʻi | Ka scheduler hoa. ʻAʻohe ala Vercel Cron no ka mea hala ka palena manawa o kahi cron e hana ana i loko o ka function |
| Nā kaha | OpenTelemetry i kāu collector, `OTEL_EXPORTER_OTLP_ENDPOINT` |

## Nā mea hiki ʻole i kēia wahi <!--quire:what-this-target-cannot-do-->

Nānā ka papa pūnaewele i kēia mau mea i ka hoʻomaka ʻana a hōʻole, me ka inoa o kēlā me kēia pilikia, ma kahi o ka hāʻule ʻana ma hope i ka leka uila mua hiki ʻole ke hoʻouna:

- **ʻAʻohe SMTP.** Hoʻopaʻa ʻo Vercel i ka SMTP puka. E hoʻonoho iā `QUIRE_EMAIL_PROVIDER_CONFIG` i mea hoʻolako HTTP (Postmark, SES, Mailgun, SendGrid, a i ʻole Resend). Hōʻole ʻia `QUIRE_SMTP_URL`.
- **ʻAʻohe disk kūloko.** Hōʻole ʻia `QUIRE_STORAGE_DRIVER=local`.
- **ʻAʻohe hoʻomanaʻo kaʻana ma waena o nā kāhea.** Hōʻole ʻia `QUIRE_REALTIME_DRIVER=inprocess`. Kaupalena ʻia nā hanana i hoʻouna ʻia e ke kikowaena i ka palena manawa o ka function; hoʻohui hou ka client me cursor, no laila ʻaʻole nalowale kekahi hanana, akā ʻaʻohe ʻike noho.
- **Kaupalena ʻia nā waihona ʻikepili tenant i hoʻopaʻa ʻia** ma kahi o ʻewalu, no ka mea, he pool pilina hou kēlā me kēia ma kahi kaiapuni hiki ʻole ke kaʻana i nā pool.

## Hoʻouka hana <!--quire:deploying-->

1. E hana i papahana Vercel mai ka waihona code me **Papa Kuhikuhi Kumu** `apps/web`. Hoʻonohonoho ʻo `apps/web/vercel.json` i nā kauoha hoʻouka a kūkulu (`NITRO_PRESET=vercel`) a lawelawe iā `/sw.js` me ka ʻole o ka cache.
2. E hoʻonoho i nā loli kaiapuni. Mai `docker/.env.example`, ma ka liʻiliʻi:
   `QUIRE_DEPLOY_TARGET=vercel`, `QUIRE_APP_ORIGIN`, `QUIRE_CONTENT_ORIGIN`,
   `QUIRE_PLATFORM_DOMAINS`, `QUIRE_SECRET_KEY`, `QUIRE_MASTER_KEY`,
   `DATABASE_URL` (helu wahi pooler), `QUIRE_REPORT_DATABASE_URL`,
   `QUIRE_AUDIT_DATABASE_URL`, `QUIRE_DATABASE_ID`,
   `QUIRE_EMAIL_PROVIDER_CONFIG`, `QUIRE_MAIL_FROM`, nā hoʻonohonoho waihona,
   a me `QUIRE_COLLAB_URL` a me `QUIRE_COLLAB_SIGNING_KEY` e kuhikuhi ana i ka
   lawelawe collab a ka host hoa.
   Hoʻohana ʻia `QUIRE_REPORT_DATABASE_URL` no ka waihona ʻikepili kino i kapa ʻia
   e `DATABASE_URL`. No kēlā me kēia waihona ʻikepili hou i hoʻopaʻa
   inoa ʻia, hoʻohui i kona URL pilina `quire_report` ponoʻī i nā kaiapuni web
   a me worker, a laila e hoʻopaʻa inoa i kona inoa loli kaiapuni ma ke ʻano
   `env:NAME` ma ka console paepae. Hāʻule paʻa ka helu ʻikepili inā nele ka URL
   hōʻike o ia waihona.
3. Ma ka host hoa, holo iā `docker/compose.yaml` me ka lawelawe `web` ʻole, a me ka `docker/.env` like:
   ```sh
   docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
   ```
   Holo nā neʻe ʻikepili ma laila ma mua o ka hoʻoikaika ʻia ʻana o kēlā me kēia Vercel deploy.
4. Hoʻouka i ka hana. Inā hōʻole ʻia ka hoʻonohonoho, hoʻomaka ka moʻolelo function me "The web tier did not start on vercel" a papa inoa i kēlā me kēia hoʻonohonoho e hoʻololi ai.

## Hōʻano hou <!--quire:upgrading-->

E neʻe mua i ka ʻikepili mai ka host hoa; a laila e hoʻoikaika i ka hoʻouka Vercel hou, a ma hope e hoʻololi mālie i nā worker o ka host hoa, e like me ke kaʻina ma [upgrade.md](/haw/ops/upgrade/). He hoʻihoʻi code ka hoʻihoʻi koke Vercel a palekana mau i loko o hoʻokahi mana.

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