---
title: "Vercel-ত web tier"
description: "Vercel-ত Quire web tier আৰু সহায়ক worker চলাওক।"
image: "https://docs.quirelms.com/og.png"
---

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

# Vercel-ত web tier

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

ডিজাইন `docs/architecture/23-ops.md`ৰ section 5-ত। Vercel-ত কেৱল web tier চলে। বাকী সকলো আপুনি চলোৱা সহায়ক host-ত চলে; ই ঐচ্ছিক নহয়।

## এই release-ৰ অৱস্থা <!--quire:status-in-this-release-->

Configuration সাজু (`apps/web/vercel.json`, `vercel` Nitro preset আৰু startup check)। Vercel-ৰ shared file storage (`QUIRE_STORAGE_DRIVER=s3` বা `azure`), function instance-সমূহৰ মাজত কাম কৰা realtime driver (`QUIRE_REALTIME_DRIVER=sse` বা `centrifugo`) আৰু HTTP email provider লাগে। এইবোৰ নাথাকিলে web tier আৰম্ভ হ’বলৈ অস্বীকাৰ কৰে আৰু log-ত প্ৰতিটো অনুপস্থিত setting-ৰ নাম কয়।

## অংশবোৰ <!--quire:the-pieces-->

| অংশ | ক’ত চলে |
| --- | --- |
| `web` | Vercel Functions, Bun runtime: page, REST, MCP, LTI, পোৱা webhook |
| `worker`, `scheduler`, `collab`, `content` | সহায়ক host: Fly, Railway, ECS অথবা `docker/compose.yaml`-সহ আপোনাৰ Docker host |
| Postgres | বাহ্যিক, transaction pooler-ৰ পিছত: PgBouncer-সহ Neon, Supabase অথবা RDS |
| File | S3 বা R2। Persistent disk নাই |
| Background job | Request-ৰ transaction-ৰ ভিতৰত pg-boss-ৰে queue কৰি সহায়ক worker-এ চলায়। সহায়ক worker-ত `QUIRE_QUEUE_DRIVER=vercel` দিলে সৰু job (ক্ৰমবিহীন notification আৰু webhook delivery) Vercel Queues (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`)-ৰে যায়; সেয়ে pooled Postgres ইয়াৰ বাবে poll নহয় |
| পুনৰাবৃত্ত job | সহায়ক scheduler। Vercel Cron route নাই, কাৰণ function-ৰ ভিতৰত কাম কৰা cron-ৰ timeout হয় |
| Tracing | আপোনাৰ collector-লৈ OpenTelemetry, `OTEL_EXPORTER_OTLP_ENDPOINT` |

## এই target-এ কি কৰিব নোৱাৰে <!--quire:what-this-target-cannot-do-->

পিছত প্ৰথম email নপঠিয়াওতে বিফল হোৱাৰ সলনি, web tier-এ আৰম্ভ হওঁতে এইবোৰ পৰীক্ষা কৰি প্ৰতিটো সমস্যা নামসহ নাকচ কৰে:

- **SMTP নাই।** Vercel-এ বাহিৰলৈ SMTP block কৰে। `QUIRE_EMAIL_PROVIDER_CONFIG` HTTP provider (Postmark, SES, Mailgun, SendGrid বা Resend)-লৈ ছেট কৰক। `QUIRE_SMTP_URL` নাকচ হয়।
- **Local disk নাই।** `QUIRE_STORAGE_DRIVER=local` নাকচ হয়।
- **Invocation-ৰ মাজত shared memory নাই।** `QUIRE_REALTIME_DRIVER=inprocess` নাকচ হয়। Server-sent event-ৰ সীমা function timeout; client-এ cursor-সহ পুনৰ সংযোগ কৰে, সেয়ে event নেহেৰায়, কিন্তু presence উপলব্ধ নহয়।
- **Pinned tenant database সীমিত** প্ৰায় আঠটালৈকে, কাৰণ pool ভাগ কৰিব নোৱাৰা environment-ত প্ৰতিটো আন এটা connection pool।

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

1. Repository-ৰ পৰা Vercel project সৃষ্টি কৰি **Root Directory** `apps/web` দিয়ক। `apps/web/vercel.json`-এ install আৰু build command (`NITRO_PRESET=vercel`) ছেট কৰি `/sw.js` cache নকৰাকৈ দিয়ে।
2. Environment variable ছেট কৰক। `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`, storage setting, আৰু সহায়ক collab service-লৈ যোৱা `QUIRE_COLLAB_URL` আৰু `QUIRE_COLLAB_SIGNING_KEY`। `QUIRE_REPORT_DATABASE_URL` `DATABASE_URL`-এ নাম দিয়া physical database-ৰ বাবে। প্ৰতিটো অতিৰিক্ত registered database-ৰ নিজা `quire_report` connection URL web আৰু worker environment-ত যোগ কৰি platform console-ত ইয়াৰ variable name `env:NAME` ৰূপে register কৰক। সেই database-ৰ report URL নাথাকিলে analytics fail closed হয়।
3. সহায়ক host-ত `docker/compose.yaml` `web` service বাদ দি একেটা `docker/.env` লৈ চলাওক:
   ```sh
   docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
   ```
   প্ৰতিটো Vercel deployment promote কৰাৰ আগতে তাত migration চলে।
4. Deploy কৰক। Configuration নাকচ হ’লে function log “The web tier did not start on vercel”ৰে আৰম্ভ হৈ সলনি কৰিবলগীয়া প্ৰতিটো setting তালিকাভুক্ত কৰে।

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

প্ৰথমে সহায়ক host-ৰ পৰা migrate কৰি নতুন Vercel deployment promote কৰক, তাৰ পিছত সহায়ক worker-সমূহ roll কৰক: [upgrade.md](/as/ops/upgrade/)ত ক্ৰম বৰ্ণনা কৰা হৈছে। Vercel-ৰ তাৎক্ষণিক rollback code rollback আৰু release-ৰ ভিতৰত সদায় নিৰাপদ।

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