Мазмунга өтүү

Vercel'деги веб катмары

Quire'дин веб катмарын кошумча жумушчу менен Vercel'де иштетиңүз.

Markdown түрүндө көрүү

Дизайн docs/architecture/23-ops.md 5-бөлүмүндө. Vercel веб катмарын гана иштетет. Башка баары сиз башкарган кошумча хостто иштейт, жана бул милдеттүү эмес.

Бул релиздин абалы

Конфигурация даяр (apps/web/vercel.json, vercel Nitro пресети жана башталыш текшерүүлөрү). Vercel’ге орток файл сактоо (QUIRE_STORAGE_DRIVER=s3 же azure), функция инстанциялары аркылуу иштей турган реалдуу убакыт драйвери (QUIRE_REALTIME_DRIVER=sse же centrifugo) жана HTTP почта провайдери керек. Алар болбосо веб катмары башталыштан баш тартат жана анын журналы ар бир жетпей турган жөндөөнү атайт.

Бөлүктөр

Piece Where it runs
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 суранбайт
Кайталануучу жумуштар Кошумча кезектеөөчү. 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 четке кагылат. Серверден жиберилген окуялар функциянын убакыт чегине чейин чектелет; клиент курсор менен кайра туташат, ошондуктан эч кандай окуя жоголбойт, бирок болуу (presence) жеткиликсиз.
  • Тигилген tenant маалымат базалары чектелген, кеминде сегизге чейин, анткени ар бири бассейндерди бөлүшө албаган чөйрөдө башка туташтыруу бассейни.

Жайгаштыруу

  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 туташуу дарегин веб жана жумушчу чөйрөлөрүнөн экөөнө кошуңуз, андан кийин анын чөйрө өзгөрмөсүнүн атын платформа консольунда env:NAME катары каттаңыз. Ал маалымат базасынын отчёт дареги жок болсо аналитика ийгиликсиз болот.
  3. Кошумча хостто docker/compose.yaml’ды web кызматысыз, ошол эле docker/.env менен иштетиңүз:
    docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
    Миграциялар ошол жерде, ар бир Vercel жайгаштыруусу көтөрүлгөнгө чейин иштетилет.
  4. Жайгаштырыңыз. Четке кагылган конфигурацияда функция журналы “The web tier did not start on vercel” менен башталып, өзгөртүү керек болгон ар бир жөндөөнү тизмелейт.

Жаңылоо

Алгач кошумча хосттон миграция кылыңыз, андан кийин жаңы Vercel жайгаштыруусун көтөрүңүз, андан кийин кошумчанын жумушчуларын түшүрүңүз: тартип upgrade.md документинде. Vercel’дин заматта кайтаруусу — бул кодду кайтаруу жана релиз ичинде ар дайым коопсуз.

Навигация

Издөө үчүн жазыңыз…

↑↓ навигация↵ тандооEsc жабуу