Зохион байгуулалт нь docs/architecture/23-ops.md хэсэг 5. Vercel зөвхөн веб түвшинг ажиллуулна. Бусад бүх зүйл та ажиллуулдаг туслах хост дээр ажиллана бөгөөд энэ нь сонголт биш юм.
Энэ хувилбарын төлөв
Тохиргоо бэлэн (apps/web/vercel.json, vercel Nitro preset болон ачааллагын шалгалтууд). Vercel-д хуваалцсан файлын хадгалалт (QUIRE_STORAGE_DRIVER=s3 эсвэл azure), функцийн инстанцуудын дунд ажиллах бодит цагийн жолооч (QUIRE_REALTIME_DRIVER=sse эсвэл centrifugo), мөн HTTP имэйлийн өгөгч хэрэгтэй. Үгүй бол веб түвшин эхлэхээс татгалзаж, лог нь дутагдаж буй тохиргоо бүрийг нэрлэнэ.
Хэсгүүд
| Хэсэг | Хаана ажилладаг вэ |
|---|---|
web |
Vercel Functions, Bun runtime: хуудсууд, REST, MCP, LTI, хүлээн авсан вебхүүкүүд |
worker, scheduler, collab, content |
Туслах хост: Fly, Railway, ECS, эсвэл docker/compose.yaml-тай өөрийн Docker хост |
| Postgres | Гадаад, гүйлгээний тэнцвэрүүлэгчийн ард: Neon, Supabase, эсвэл PgBouncer-тай RDS |
| Файлууд | S3 эсвэл R2. Тогтмол диск байхгүй |
| Арын ажлууд | Хүсэлтийн гүйлгээн дотор pg-boss-оор ээлжлэгдэж, туслах ажилч ажиллуулна. Туслах ажилч дээр QUIRE_QUEUE_DRIVER=vercel байвал хөнгөн ажлууд (ээлжлээгүй мэдэгдэл болон вебхүүкийн хүргэлтүүд) Vercel Queues (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN) дамжуулан явдаг тул тэдгээрийн тулд тэнцвэржүүлсэн Postgres-ийг асуухгүй |
| Давтан гардаг ажлууд | Туслах scheduler. Vercel Cron маршрут байдаггүй — функцийн дотор ажил хийдэг cron хугацаа дуусдаг |
| Мөрдөн хянах | OpenTelemetry таны коллекторт, OTEL_EXPORTER_OTLP_ENDPOINT |
Энэ зорилт чаддаггүй зүйлс
Веб түвшин эхлэх үедээ үүд шалгаад, асуудал бүрийг нэрлээд татгалздог — хэзээ ч илгээгдэхгүй анхны имэйл дээр хожмоо унахын оронд:
- SMTP байхгүй. Vercel гарсан SMTP-г хаадаг.
QUIRE_EMAIL_PROVIDER_CONFIG-ийг HTTP өгөгчөөр (Postmark, SES, Mailgun, SendGrid эсвэл Resend) тогтооно уу.QUIRE_SMTP_URLтатгалзагдана. - Орон нутгийн диск байхгүй.
QUIRE_STORAGE_DRIVER=localтатгалзагдана. - Дуудлагуудын хооронд хуваалцсан санах ой байхгүй.
QUIRE_REALTIME_DRIVER=inprocessтатгалзагдана. Серверээс илгээсэн мэдэгдлүүд функцийн хугацаатай хязгаарлагдсан; клиент курсортойгоор дахин холбогддог тул ямар ч үйл явдал алдагдахгүй, гэхдээ байршил боломжгүй болно. - Пин хийгдсэн түрээсчийн өгөгдлийн сангууд хязгаарлагдсан — ойролцоо найман ширхэг, учир нь бүр нь санах ойгаа хуваалцаж чадахгүй орчинд өөр холболтын тэнцвэрүүлэгч юм.
Байршуулах
- Төслөөс Vercel төсөл үүсгээд, Root Directory-г
apps/webболгон тохируулна уу.apps/web/vercel.jsonнь суулгах, бүтээх командуудыг (NITRO_PRESET=vercel) тогтооод/sw.js-ийг кэшгүйгээр үйлчилнэ. - Орчны хувьсагчуудыг тогтооно уу.
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-ийг веб болон worker орчин хоёуланд нэмээд, дараа нь түүний орчны хувьсагчийн нэрийг платформын консол дээрenv:NAMEболгон бүртгэнэ үү. Тэр өгөгдлийн сангийн тайлангийн URL дутуу бол шинжилгээ хаагдах байдлаар амжилтгүй болно. - Туслах хост дээр
docker/compose.yaml-гwebүйлчилгээгүйгээр, ижилdocker/.env-тэйгээр ажиллуулна уу: Шилжүүлэлтүүд тэнд, Vercel байршуулалт бүр дэвшүүлэхээс өмнө ажиллана.docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content - Байршуулна уу. Татгалзагдсан тохиргоотой бол функцийн лог “The web tier did not start on vercel”-оор эхэлж, өөрчлөх тохиргоо бүрийг жагсаана.
Шинэчлэх
Эхлээд туслах хостоос шилжүүлэлт хийгээд, дараа нь шинэ Vercel байршуулалтыг дэвшүүлээд, дараа нь туслах ажилчдыг эргүүлнэ: дараалал нь upgrade.md-д байна. Vercel-ийн мөчийн буцаалт нь кодын буцаалт бөгөөд хувилбарын дотор үргэлж аюулгүй.