বিষয়বস্তুলৈ যাওক

Vercel-ত web tier

Vercel-ত Quire web tier আৰু সহায়ক worker চলাওক।

Markdown হিচাপে চাওক

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

এই 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-ৰ নাম কয়।

অংশবোৰ

অংশ ক’ত চলে
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-এ কি কৰিব নোৱাৰে

পিছত প্ৰথম 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

  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 লৈ চলাওক:
    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

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

নেভিগেচন

বিচাৰিবলৈ লিখক…

↑↓ নেভিগেট কৰক↵ বাছকEsc বন্ধ কৰক