Жоба 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 уақыт шегінен шығады
Веб-деңгей мұны іске қосылғанда тексеріп, әр мәселені атап, бас тартады —
кейін ешқашан жіберілмейтін алғашқы хатта сәтсіз болудың орнына:
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 дерекқорлары шектеулі, шамамен сегізге дейін,
өйткені әрқайсысы байланыс топтарын бөлісе алмайтын ортада қосымша
байланыс тобына айналады.
Орналастыру
Қоймадан Vercel жобасын Root Directoryapps/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 (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_URLDATABASE_URL атап тұрған физикалық
дерекқорға жатады. Әр қосымша тіркелген дерекқор үшін өз
quire_report байланыс URL-ін web пен worker орталарына қосыңыз,
содан кейін оның айнымалы атауын платформа консольінде env:NAME
ретінде тіркеңіз. Сол дерекқордың есеп URL-і болмаса, analytics
жұмысын тоқтатады.
Жанама хостта docker/compose.yaml файлын web қызметінсіз және
дәл сол docker/.env файлымен іске қосыңыз:
Миграциялар сонда, әр Vercel орналастыруы жоғарылатылғанға дейін
жүреді.
Орналастырыңыз. Қабылданмаған баптауда функция журналы “The web
tier did not start on vercel” деп басталып, өзгерту керек әр
параметрді тізеді.
Жаңарту
Алдымен жанама хосттан миграция жасаңыз, содан кейін жаңа Vercel
орналастыруын жоғарылатыңыз, содан кейін жанама worker-лерді
аударыңыз: реті upgrade.md файлында. Vercel-дің
бірден қайтаруы — кодты қайтару және шығарылым аясында әрқашан
қауіпсіз.