---
title: "Vercel ನಲ್ಲಿ ವೆಬ್ ಹಂತ"
description: "ಸಹಚರ ವರ್ಕರ್‌ನೊಂದಿಗೆ Quire ವೆಬ್ ಹಂತವನ್ನು Vercel ನಲ್ಲಿ ಚಲಾಯಿಸಿ."
image: "https://docs.quirelms.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.quirelms.com/kn/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` ವಿಭಾಗ 5. Vercel ಕೇವಲ ವೆಬ್ ಹಂತವನ್ನು ಮಾತ್ರ
ಚಲಾಯಿಸುತ್ತದೆ. ಉಳಿದ ಎಲ್ಲವೂ ನೀವು ನಡೆಸುವ ಒಂದು ಸಹಚರ ಹೋಸ್ಟ್‌ನಲ್ಲಿ ನಡೆಯುತ್ತದೆ, ಮತ್ತು
ಅದು ಐಚ್ಛಿಕವಲ್ಲ.

## ಈ ಆವೃತ್ತಿಯಲ್ಲಿನ ಸ್ಥಿತಿ <!--quire:status-in-this-release-->

ಸಂರಚನೆ ಸ್ಥಳದಲ್ಲಿದೆ (`apps/web/vercel.json`, `vercel` Nitro preset ಮತ್ತು ಆರಂಭಿಕ
ಪರಿಶೀಲನೆಗಳು). Vercel ಗೆ ಹಂಚಿಕೆ ಫೈಲ್ ಸಂಗ್ರಹಣೆ (`QUIRE_STORAGE_DRIVER=s3` ಅಥವಾ
`azure`), ಫಂಕ್ಶನ್ ಇನ್‌ಸ್ಟೆನ್ಸ್‌ಗಳ ನಡುವೆ ಕೆಲಸ ಮಾಡುವ ರಿಯಲ್‌ಟೈಮ್ ಚಾಲಕ
(`QUIRE_REALTIME_DRIVER=sse` ಅಥವಾ `centrifugo`) ಮತ್ತು ಒಂದು HTTP ಇಮೇಲ್
ಪ್ರೊವೈಡರ್ ಬೇಕು. ಅವು ಇಲ್ಲದಿದ್ದರೆ ವೆಬ್ ಹಂತವು ಆರಂಭವಾಗಲು ನಿರಾಕರಿಸುತ್ತದೆ ಮತ್ತು ಅದರ
ಲಾಗ್ ಪ್ರತಿ ಕೊರತೆಯಿರುವ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಹೆಸರಿಸುತ್ತದೆ.

## ಭಾಗಗಳು <!--quire:the-pieces-->

| ಭಾಗ | ಅದು ಎಲ್ಲಿ ನಡೆಯುತ್ತದೆ |
| --- | --- |
| `web` | Vercel Functions, Bun runtime: ಪುಟಗಳು, REST, MCP, LTI, ಸ್ವೀಕರಿಸಲ್ಪಟ್ಟ webhooks |
| `worker`, `scheduler`, `collab`, `content` | ಒಂದು ಸಹಚರ ಹೋಸ್ಟ್: Fly, Railway, ECS, ಅಥವಾ `docker/compose.yaml` ಸಹಿತ ನಿಮ್ಮದೇ Docker ಹೋಸ್ಟ್ |
| Postgres | ಬಾಹ್ಯ, ಒಂದು ವ್ಯವಹಾರ ಪೂಲರ್ ಹಿಂದೆ: Neon, Supabase, ಅಥವಾ PgBouncer ಸಹಿತ RDS |
| ಫೈಲ್‌ಗಳು | S3 ಅಥವಾ R2. ಶಾಶ್ವತ ಡಿಸ್ಕ್ ಇಲ್ಲ |
| ಹಿನ್ನೆಲೆ ಕೆಲಸಗಳು | ವಿನಂತಿಯ ವ್ಯವಹಾರದೊಳಗೇ pg-boss ನೊಂದಿಗೆ ಸರಿಸಲ್ಪಡುತ್ತವೆ, ಸಹಚರ ವರ್ಕರ್ ಚಲಾಯಿಸುತ್ತದೆ. ಸಹಚರ ವರ್ಕರ್‌ನಲ್ಲಿ `QUIRE_QUEUE_DRIVER=vercel` ಇದ್ದಾಗ, ಹಗುರ ಕೆಲಸಗಳು (ಕ್ರಮರಹಿತ ಅಧಿಸೂಚನೆ ಮತ್ತು webhook ಡೆಲಿವರಿಗಳು) Vercel Queues ಮೂಲಕ ಹೋಗುತ್ತವೆ (`VERCEL_QUEUE_REGION`, `VERCEL_QUEUE_TOKEN`), ಆದ್ದರಿಂದ ಪೂಲ್ ಆದ Postgres ಅವುಗಳಿಗಾಗಿ ಪೋಲ್ ಆಗುವುದಿಲ್ಲ |
| ಪುನರಾವರ್ತಿತ ಕೆಲಸಗಳು | ಸಹಚರ ಶೆಡ್ಯೂಲರ್. ಒಂದು Vercel Cron ಮಾರ್ಗ ಇಲ್ಲ, ಏಕೆಂದರೆ ಫಂಕ್ಶನ್‌ನೊಳಗೆ ಕೆಲಸ ಮಾಡುವ cron ಟೈಮ್‌ಔಟ್ ಆಗುತ್ತದೆ |
| ಟ್ರೇಸಿಂಗ್ | ನಿಮ್ಮ ಸಂಗ್ರಾಹಕಕ್ಕೆ 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`
  ನಿರಾಕರಿಸಲ್ಪಡುತ್ತದೆ. ಸರ್ವರ್-ಕಳುಹಿಸಿದ ಈವೆಂಟ್‌ಗಳು ಫಂಕ್ಶನ್ ಟೈಮ್‌ಔಟ್‌ನವರೆಗೆ ಮಿತಿಗೊಂಡಿವೆ;
  ಕ್ಲೈಂಟ್ cursor ನೊಂದಿಗೆ ಮರುಸಂಪರ್ಕಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಯಾವುದೇ ಈವೆಂಟ್ ಕಳೆದುಹೋಗುವುದಿಲ್ಲ,
  ಆದರೆ ಉಪಸ್ಥಿತಿ ಲಭ್ಯವಿಲ್ಲ.
- **ಬಂಧಿತ ಟೆನಂಟ್ ಡೇಟಾಬೇಸ್‌ಗಳು ಸುಮಾರು ಎಂಟರವರೆಗೆ ಮಿತಿಗೊಂಡಿವೆ**, ಏಕೆಂದರೆ ಪ್ರತಿಯೊಂದೂ
  ಪೂಲ್‌ಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲಾಗದ ಪರಿಸರದಲ್ಲಿ ಇನ್ನೊಂದು ಸಂಪರ್ಕ ಪೂಲ್ ಆಗಿದೆ.

## ಡಿಪ್ಲಾಯ್ ಮಾಡುವುದು <!--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 ಅನ್ನು web ಮತ್ತು 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. ಡಿಪ್ಲಾಯ್ ಮಾಡಿ. ನಿರಾಕರಿಸಲ್ಪಟ್ಟ ಸಂರಚನೆಯಲ್ಲಿ ಫಂಕ್ಶನ್ ಲಾಗ್ "The web tier did not
   start on vercel" ನೊಂದಿಗೆ ಆರಂಭವಾಗುತ್ತದೆ ಮತ್ತು ಬದಲಾಯಿಸಬೇಕಾದ ಪ್ರತಿ ಸೆಟ್ಟಿಂಗ್ ಪಟ್ಟಿ
   ಮಾಡುತ್ತದೆ.

## ಅಪ್‌ಗ್ರೇಡ್ ಮಾಡುವುದು <!--quire:upgrading-->

ಮೊದಲು ಸಹಚರ ಹೋಸ್ಟ್‌ನಿಂದ ವಲಸೆ ಮಾಡಿ, ನಂತರ ಹೊಸ Vercel ಡಿಪ್ಲಾಯ್‌ಮೆಂಟ್ ಉನ್ನತೀಕರಿಸಿ,
ನಂತರ ಸಹಚರದ ವರ್ಕರ್‌ಗಳನ್ನು ರೋಲ್ ಮಾಡಿ: ಕ್ರಮವು [upgrade.md](/kn/ops/upgrade/) ನಲ್ಲಿ. ಒಂದು
Vercel ತಕ್ಷಣದ ಹಿಂತಿರುಗಿಸುವಿಕೆಯು ಕೋಡ್ ಹಿಂತಿರುಗಿಸುವಿಕೆ ಮತ್ತು ಒಂದೇ ಆವೃತ್ತಿಯೊಳಗೆ ಯಾವಾಗಲೂ
ಸುರಕ್ಷಿತ.

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