---
title: "Haen we Vercel"
description: "Rhedeg haen we Quire ar Vercel gyda worker cydymaith."
image: "https://docs.quirelms.com/og.png"
---

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

# Haen we Vercel

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

Mae'r dyluniad yn adran 5 o `docs/architecture/23-ops.md`. Dim ond y
haen we mae Vercel yn ei rhedeg. Mae popeth arall yn rhedeg ar host cydymaith rydych yn ei weithredu, ac nid yw'n
opsiynol.

## Statws yn y datganiad hwn <!--quire:status-in-this-release-->

Mae'r ffurfweddiad ar waith (`apps/web/vercel.json`, rhagosodiad Nitro `vercel`
a'r gwiriadau cychwyn). Mae angen storfa ffeiliau a rennir ar Vercel
(`QUIRE_STORAGE_DRIVER=s3` neu `azure`), gyrrwr amser real sy'n gweithio ar draws instansiau
swyddogaeth (`QUIRE_REALTIME_DRIVER=sse` neu `centrifugo`) a darparwr e-bost HTTP. Hebddynt mae'r haen we yn gwrthod cychwyn ac mae ei log
yn enwi pob gosodiad sydd ar goll.

## Y cydrannau <!--quire:the-pieces-->

| Cydran | Lle mae'n rhedeg |
| --- | --- |
| `web` | Vercel Functions, runtime Node: tudalennau, REST, MCP, LTI, webhooks a dderbyniwyd |
| `worker`, `scheduler`, `collab`, `content` | Host cydymaith: Fly, Railway, ECS, neu eich host Docker eich hun gyda `docker/compose.yaml` |
| Postgres | Allanol, y tu ôl i bwlwr trafodion: Neon, Supabase neu RDS gyda PgBouncer |
| Ffeiliau | S3 neu R2. Nid oes disg barhaol |
| Gwaith cefndir | Wedi'u ciwio gan pg-boss o fewn trafodiad y cais, a'u rhedeg gan y worker cydymaith. Gyda `QUIRE_QUEUE_DRIVER=vercel` ar y worker cydymaith, mae'r gwaith ysgafn (hysbysiadau heb drefn a dosbarthiadau webhook) yn mynd drwy Vercel Queues (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`), felly ni pholir Postgres pwl ar eu cyfer |
| Gwaith rheolaidd | Y scheduler cydymaith. Nid oes llwybr Vercel Cron, oherwydd mae cron sy'n gwneud gwaith y tu mewn i swyddogaeth yn cyrraedd ei therfyn amser |
| Olrhain | OpenTelemetry at eich casglwr, `OTEL_EXPORTER_OTLP_ENDPOINT` |

## Beth na all y targed hwn ei wneud <!--quire:what-this-target-cannot-do-->

Mae'r haen we yn gwirio'r rhain wrth gychwyn ac yn gwrthod, gan enwi pob problem,
yn hytrach na methu'n ddiweddarach pan na chaiff yr e-bost cyntaf erioed ei anfon:

- **Dim SMTP.** Mae Vercel yn rhwystro SMTP sy'n mynd allan. Gosodwch `QUIRE_EMAIL_PROVIDER_CONFIG`
  i ddarparwr HTTP (Postmark, SES, Mailgun, SendGrid neu Resend).
  Gwrthodir `QUIRE_SMTP_URL`.
- **Dim disg lleol.** Gwrthodir `QUIRE_STORAGE_DRIVER=local`.
- **Dim cof a rennir rhwng galwadau.** Gwrthodir `QUIRE_REALTIME_DRIVER=inprocess`.
  Mae digwyddiadau a anfonir gan y gweinydd wedi'u cyfyngu i derfyn amser y swyddogaeth; mae'r
  cleient yn ailgysylltu gyda chyrchwr, felly ni chollir digwyddiad ond nid yw presenoldeb
  ar gael.
- **Mae cronfeydd data tenantiaid wedi'u pinio'n gyfyngedig** i tua wyth, oherwydd bod pob un yn
  bwl cronfa ddata arall mewn amgylchedd na all rannu pyllau.

## Defnyddio <!--quire:deploying-->

1. Crëwch brosiect Vercel o'r storfa gyda **Cyfeiriadur gwraidd**
   `apps/web`. Mae `apps/web/vercel.json` yn gosod y gorchmynion gosod ac adeiladu
   (`NITRO_PRESET=vercel`) ac yn gwasanaethu `/sw.js` heb storfa.
2. Gosodwch y newidynnau amgylchedd. O `docker/.env.example`, o leiaf:
   `QUIRE_DEPLOY_TARGET=vercel`, `QUIRE_APP_ORIGIN`, `QUIRE_CONTENT_ORIGIN`,
   `QUIRE_PLATFORM_DOMAINS`, `QUIRE_SECRET_KEY`, `QUIRE_MASTER_KEY`,
   `DATABASE_URL` (cyfeiriad y pwlwr), `QUIRE_REPORT_DATABASE_URL`,
   `QUIRE_AUDIT_DATABASE_URL`, `QUIRE_DATABASE_ID`,
   `QUIRE_EMAIL_PROVIDER_CONFIG`, `QUIRE_MAIL_FROM`, y gosodiadau storio,
   ac `QUIRE_COLLAB_URL` a `QUIRE_COLLAB_SIGNING_KEY` sy'n pwyntio at wasanaeth collab
   y cydymaith.
   Mae `QUIRE_REPORT_DATABASE_URL` yn perthyn i'r gronfa ddata ffisegol a enwir gan
   `DATABASE_URL`. Ar gyfer pob cronfa ddata gofrestredig ychwanegol, ychwanegwch ei URL cysylltiad
   `quire_report` ei hun at amgylcheddau'r we a'r worker, yna
   cofrestrwch enw ei newidyn amgylchedd fel `env:NAME` yng nghonsol
   y platfform. Mae dadansoddeg yn methu'n ddiogel os nad oes URL adrodd y gronfa ddata honno.
3. Ar host y cydymaith, rhedwch `docker/compose.yaml` heb y gwasanaeth `web`,
   gyda'r un `docker/.env`:
   ```sh
   docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
   ```
   Mae mudo'n rhedeg yno cyn hyrwyddo pob defnydd Vercel.
4. Defnyddiwch. Os gwrthodir ffurfweddiad, mae log swyddogaeth yn dechrau â “The web
   tier did not start on vercel” ac yn rhestru pob gosodiad i'w newid.

## Uwchraddio <!--quire:upgrading-->

Mewnfudwch o host y cydymaith yn gyntaf, yna hyrwyddwch ddefnydd Vercel newydd,
yna treiglwch weithwyr y cydymaith: yr archeb sydd yn
[upgrade.md](/cy/ops/upgrade/). Mae dychwelyd ar unwaith Vercel yn ddychweliad cod ac mae'n
ddiogel bob amser o fewn datganiad.

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