Мазмұнға өту

Vercel-дегі веб-деңгей

Quire веб-деңгейін жанама worker-мен бірге Vercel-де жүргізіңіз.

Markdown ретінде қарау

Жоба docs/architecture/23-ops.md құжатының 5-тармағында. Vercel тек веб-деңгейді ғана жүргізеді. Қалғаның бәрі сіз басқаратын жанама хостта жұмыс істейді, және бұл қосымша емес, міндетті нәрсе.

Осы шығарылымдағы күйі

Баптау орнында тұрады (apps/web/vercel.json, vercel Nitro пресеті және іске қосу тексерістері). Vercel ортақ файл қоймасын (QUIRE_STORAGE_DRIVER=s3 немесе azure), функция инстанттары бойынша жұмыс істейтін realtime драйверін (QUIRE_REALTIME_DRIVER=sse немесе centrifugo) және HTTP пошта провайдерін қажет етеді. Олар болмаса, веб-деңгей іске қосылудан бас тартады және оның журналы әр жетіспейтін параметрді атайды.

Бөліктер

Бөлік Қайда жұмыс істейді
web Vercel Functions, Bun runtime: беттер, REST, MCP, LTI, қабылданған webhook-тар
worker, scheduler, collab, content Жанама хост: Fly, Railway, ECS немесе docker/compose.yaml бар өз Docker хостыңыз
Postgres Сыртқы, транзакциялық pooler артында: Neon, Supabase немесе PgBouncer-і бар RDS
Файлдар S3 немесе R2. Тұрақты диск жоқ
Фондық жұмыстар Сұраныс транзакциясының ішінде pg-boss арқылы кезекке түседі, жанама worker жүргізеді. Жанама worker-де QUIRE_QUEUE_DRIVER=vercel орнатылса, жеңіл жұмыстар (реттелмеген хабарламалар мен webhook жеткізілімдері) Vercel Queues (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN) арқылы өтеді, сондықтан олар үшін pooler-дегі 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 қабылданбайды. Server-sent events функция уақыт шегімен шектелген; клиент курсормен қайта қосылады, сондықтан еш оқиға жоғалмайды, бірақ қатысу (presence) қолжетімсіз.
  • Бекітілген tenant дерекқорлары шектеулі, шамамен сегізге дейін, өйткені әрқайсысы байланыс топтарын бөлісе алмайтын ортада қосымша байланыс тобына айналады.

Орналастыру

  1. Қоймадан Vercel жобасын Root Directory apps/web болатындай жасаңыз. 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 (pooler мекенжайы), 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-і болмаса, analytics жұмысын тоқтатады.
  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 орналастыруын жоғарылатыңыз, содан кейін жанама worker-лерді аударыңыз: реті upgrade.md файлында. Vercel-дің бірден қайтаруы — кодты қайтару және шығарылым аясында әрқашан қауіпсіз.

Навигация

Іздеу үшін теріңіз…

↑↓ шарлау↵ таңдауEsc жабу