Перайсці да змесціва

Вэб-узровень на Vercel

Запускайце вэб-узровень Quire на Vercel разам з дапаможным worker.

Праглядзець як Markdown

Архітэктура апісана ў раздзеле 5 docs/architecture/23-ops.md. Vercel запускае толькі вэб-узровень. Усё астатняе працуе на дапаможным хосце, якім кіруеце вы; без яго нельга абысціся.

Стан у гэтым выпуску

Канфігурацыя гатовая (apps/web/vercel.json, перадусталёўка Nitro для vercel і праверкі запуску). Vercel патрабуе агульнае файлавае сховішча (QUIRE_STORAGE_DRIVER=s3 або azure), драйвер рэальнага часу, які працуе паміж асобнікамі функцый (QUIRE_REALTIME_DRIVER=sse або centrifugo), і HTTP-пастаўшчыка электроннай пошты. Без іх вэб-узровень адмаўляецца запускацца, а журнал называе ўсе адсутныя параметры.

Кампаненты

Кампанент Дзе працуе
web Vercel Functions, асяроддзе Node: старонкі, REST, MCP, LTI, атрыманыя вэбхукі
worker, scheduler, collab, content Дапаможны хост: Fly, Railway, ECS або ваш Docker-хост з docker/compose.yaml
Postgres Знешні сэрвіс за транзакцыйным пулерам: Neon, Supabase або RDS з PgBouncer
Файлы S3 або R2. Пастаяннага дыска няма
Фонавыя заданні Стаўяцца ў чаргу pg-boss у транзакцыі запыту і запускаюцца worker-ам дапаможнага хоста. Калі на ім зададзена QUIRE_QUEUE_DRIVER=vercel, лёгкія заданні (неўпарадкаваныя апавяшчэнні і дастаўкі вэбхукаў) праходзяць праз Vercel Queues (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN), каб не апытваць для іх пуленую базу Postgres
Перыядычныя заданні Планавальнік дапаможнага хоста. Маршрута Vercel 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, абмежаваны часам функцыі; кліент перападключаецца з курсорам, таму падзеі не губляюцца, але статус прысутнасці недаступны.
  • Колькасць замацаваных баз даных кліентаў абмежавана прыкладна васьмю, бо кожная патрабуе асобнага пула падключэнняў, а асяроддзе не можа дзяліць пулы.

Разгортванне

  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 (адрас пулера), QUIRE_REPORT_DATABASE_URL, QUIRE_AUDIT_DATABASE_URL, QUIRE_DATABASE_ID, QUIRE_EMAIL_PROVIDER_CONFIG, QUIRE_MAIL_FROM, налады сховішча, а таксама QUIRE_COLLAB_URL і QUIRE_COLLAB_SIGNING_KEY, якія паказваюць на сэрвіс collab дапаможнага хоста. QUIRE_REPORT_DATABASE_URL адносіцца да фізічнай базы, названай у DATABASE_URL. Для кожнай дадатковай зарэгістраванай базы дадайце ў асяроддзі web і worker асобны URL злучэння quire_report, затым зарэгіструйце назву зменнай асяроддзя як env:NAME у кансолі платформы. Калі URL справаздач для гэтай базы адсутнічае, аналітыка не працуе.
  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 закрыць