---
title: "Tier web ing Vercel"
description: "Mlakokake tier web Quire ing Vercel karo worker pendamping."
image: "https://docs.quirelms.com/og.png"
---

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

# Tier web ing Vercel

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

Desaine iku `docs/architecture/23-ops.md` bagean 5. Vercel mbukak tier web wae. Kabeh liyane mlaku ing host pendamping sing dioperasikake, lan ora opsional.

## Status ing rilis iki <!--quire:status-in-this-release-->

Konfigurasi wis ana (`apps/web/vercel.json`, preset Nitro `vercel` lan pamriksan start-up). Vercel butuh panyimpenan file bareng (`QUIRE_STORAGE_DRIVER=s3` utawa `azure`), driver realtime sing mlaku ing antar instance fungsi (`QUIRE_REALTIME_DRIVER=sse` utawa `centrifugo`) lan panyedhiya email HTTP. Tanpane tier web nolak miwiti lan loge nyebutake saben setelan sing ilang.

## Perangan <!--quire:the-pieces-->

| Perangan | Panggonan mlaku |
| --- | --- |
| `web` | Vercel Functions, runtime Node: kaca, REST, MCP, LTI, webhook ditampa |
| `worker`, `scheduler`, `collab`, `content` | Host pendamping: Fly, Railway, ECS, utawa host Docker dhewe nganggo `docker/compose.yaml` |
| Postgres | Eksternal, ing mburine pooler transaksi: Neon, Supabase, utawa RDS nganggo PgBouncer |
| File | S3 utawa R2. Ora ana disk persisten |
| Pagawean latar | Diantrekake nganggo pg-boss ing njero transaksi panjalukan, dibukak dening worker pendamping. Kanthi `QUIRE_QUEUE_DRIVER=vercel` ing worker pendamping, pagawean entheng (pangiriman notifikasi lan webhook sing ora urut) liwat Vercel Queues (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`), supaya Postgres sing dipool ora dipoll kanggo iku |
| Pagawean rutin | Scheduler pendamping. Ora ana rute Vercel Cron, amarga cron sing nindakake pagawean ing njero fungsi timeout |
| Tracing | OpenTelemetry menyang kolektor panjenengan, `OTEL_EXPORTER_OTLP_ENDPOINT` |

## Apa sing ora bisa ditindakake target iki <!--quire:what-this-target-cannot-do-->

Tier web mriksa iki nalika miwiti lan nolak, nyebutake saben masalah, tinimbang gagal mengko ing email kapisan sing ora tau ngirim:

- **Tanpa SMTP.** Vercel mblokir SMTP metu. Setel `QUIRE_EMAIL_PROVIDER_CONFIG` menyang panyedhiya HTTP (Postmark, SES, Mailgun, SendGrid utawa Resend). `QUIRE_SMTP_URL` ditolak.
- **Tanpa disk lokal.** `QUIRE_STORAGE_DRIVER=local` ditolak.
- **Tanpa memori bareng antar invocation.** `QUIRE_REALTIME_DRIVER=inprocess` ditolak. Server-sent events diwatesi ing timeout fungsi; klien nyambung maneh nganggo cursor, supaya ora ana prastawa ilang, nanging presence ora kasedhiya.
- **Database tenant sing disematake diwatesi** kira-kira wolung, amarga saben iku pool sambungan liyane ing lingkungan sing ora bisa nuduhake pool.

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

1. Gawe proyek Vercel saka repositori kanthi **Root Directory** `apps/web`. `apps/web/vercel.json` nyetel prentah instal lan build (`NITRO_PRESET=vercel`) lan ngladeni `/sw.js` tanpa cache.
2. Setel variabel lingkungan. Saka `docker/.env.example`, paling ora: `QUIRE_DEPLOY_TARGET=vercel`, `QUIRE_APP_ORIGIN`, `QUIRE_CONTENT_ORIGIN`, `QUIRE_PLATFORM_DOMAINS`, `QUIRE_SECRET_KEY`, `QUIRE_MASTER_KEY`, `DATABASE_URL` (alamate pooler), `QUIRE_REPORT_DATABASE_URL`, `QUIRE_AUDIT_DATABASE_URL`, `QUIRE_DATABASE_ID`, `QUIRE_EMAIL_PROVIDER_CONFIG`, `QUIRE_MAIL_FROM`, setelan panyimpenan, lan `QUIRE_COLLAB_URL` lan `QUIRE_COLLAB_SIGNING_KEY` sing nuduhake layanan collab pendamping. `QUIRE_REPORT_DATABASE_URL` kagungane database fisik sing dijenengi dening `DATABASE_URL`. Kanggo saben database kadhaptar tambahan, tambah URL sambungan `quire_report` dhewe menyang lingkungan web lan worker, banjur dhaptarake jeneng variabel lingkungane minangka `env:NAME` ing konsol platform. Analitik gagal nutup yen URL laporan database kasebut ilang.
3. Ing host pendamping, mbukak `docker/compose.yaml` tanpa layanan `web`, kanthi `docker/.env` sing padha:
   ```sh
   docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
   ```
   Migrasi mlaku ing kana, sadurunge saben deployment Vercel dipromosikake.
4. Deploy. Ing konfigurasi sing ditolak log fungsi diwiwiti kanthi "The web tier did not start on vercel" lan ndhaftar saben setelan sing diowahi.

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

Migrasi saka host pendamping dhisik, banjur promosikake deployment Vercel anyar, banjur gulung workere pendamping: urutan ing [upgrade.md](/jv/ops/upgrade/). Rollback instan Vercel iku rollback kode lan tansah aman sajrone rilis.

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