Langkau ke kandungan

Lapisan web pada Vercel

Jalankan lapisan web Quire pada Vercel dengan satu pekerja pasangan.

Reka bentuknya ialah docs/architecture/23-ops.md seksyen 5. Vercel menjalankan lapisan web sahaja. Segala-galanya berjalan pada hos pasangan yang anda kendalikan, dan ia bukan pilihan.

Status dalam keluaran ini

Konfigurasi telah sedia (apps/web/vercel.json, pratetap Nitro vercel dan semakan permulaan). Vercel memerlukan storan fail dikongsi (QUIRE_STORAGE_DRIVER=s3 atau azure), satu pemandu masa nyata yang berfungsi merentas instans fungsi (QUIRE_REALTIME_DRIVER=sse atau centrifugo) dan satu pembekal e-mel HTTP. Tanpanya, lapisan web enggan bermula dan lognya menamakan setiap tetapan yang hilang.

Komponen

Komponen Di mana ia berjalan
web Vercel Functions, masa laksana Node: halaman, REST, MCP, LTI, webhook yang diterima
worker, scheduler, collab, content Hos pasangan: Fly, Railway, ECS, atau hos Docker anda sendiri dengan docker/compose.yaml
Postgres Luar, di belakang satu pengumpul transaksi: Neon, Supabase, atau RDS dengan PgBouncer
Fail S3 atau R2. Tiada cakera berterusan
Tugas latar belakang Dijadualkan dengan pg-boss di dalam transaksi permintaan, dijalankan oleh pekerja pasangan. Dengan QUIRE_QUEUE_DRIVER=vercel pada pekerja pasangan, tugas ringan (penghantaran notis dan webhook tanpa pesanan) melalui Vercel Queues (VERCEL_QUEUE_REGION, VERCEL_QUEUE_TOKEN), jadi Postgres terkumpul tidak dikerjakan untuknya
Tugas berulang Perancang pasangan. Tiada laluan Vercel Cron, kerana satu cron yang melakukan kerja dalam fungsi akan tamat masa
Penjejakan OpenTelemetry ke pengumpul anda, OTEL_EXPORTER_OTLP_ENDPOINT

Apa yang sasaran ini tidak boleh lakukan

Lapisan web menyemak perkara ini semasa ia bermula dan menolak, dengan menamakan setiap masalah, daripada gagal kemudian pada e-mel pertama yang tidak pernah dihantar:

  • Tiada SMTP. Vercel menghalang SMTP keluar. Tetapkan QUIRE_EMAIL_PROVIDER_CONFIG kepada satu pembekal HTTP (Postmark, SES, Mailgun, SendGrid atau Resend). QUIRE_SMTP_URL ditolak.
  • Tiada cakera setempat. QUIRE_STORAGE_DRIVER=local ditolak.
  • Tiada perkongsian memori antara panggilan. QUIRE_REALTIME_DRIVER=inprocess ditolak. Peristiwa server-sent dihadkan pada tamat masa fungsi; pelanggan menyambung semula dengan satu kursor, jadi tiada peristiwa hilang, tetapi kehadiran tidak tersedia.
  • Pangkalan data penyewa yang disemat dihadkan kepada kira-kira lapan, kerana setiap satu ialah satu lagi kumpulan sambungan dalam persekitaran yang tidak dapat berkongsi kumpulan.

Melepaskan

  1. Cipta satu projek Vercel daripada repositori dengan Root Directory apps/web. apps/web/vercel.json menetapkan arahan pemasangan dan binaan (NITRO_PRESET=vercel) dan menyajikan /sw.js tanpa cache.
  2. Tetapkan pemboleh ubah persekitaran. Daripada docker/.env.example, sekurang- kurangnya: QUIRE_DEPLOY_TARGET=vercel, QUIRE_APP_ORIGIN, QUIRE_CONTENT_ORIGIN, QUIRE_PLATFORM_DOMAINS, QUIRE_SECRET_KEY, QUIRE_MASTER_KEY, DATABASE_URL (alamat pengumpul), QUIRE_REPORT_DATABASE_URL, QUIRE_AUDIT_DATABASE_URL, QUIRE_DATABASE_ID, QUIRE_EMAIL_PROVIDER_CONFIG, QUIRE_MAIL_FROM, tetapan storan, serta QUIRE_COLLAB_URL dan QUIRE_COLLAB_SIGNING_KEY yang menunjuk kepada perkhidmatan collab pasangan. QUIRE_REPORT_DATABASE_URL adalah milik pangkalan data fizikal yang dinamakan oleh DATABASE_URL. Bagi setiap pangkalan data berdaftar tambahan, tambahkan URL sambungan quire_reportnya sendiri kepada persekitaran web dan worker, kemudian namakan pemboleh ubah persekitarannya sebagai env:NAME dalam konsol platform. Analitik gagal tertutup jika URL laporan pangkalan data itu hilang.
  3. Pada hos pasangan, jalankan docker/compose.yaml tanpa perkhidmatan web, dengan docker/.env yang sama:
    docker compose -f docker/compose.yaml up -d migrate init worker scheduler collab content
    Migrasi berjalan di sana, sebelum setiap pelepasan Vercel dinaikkan.
  4. Lepaskan. Pada satu konfigurasi yang ditolak, log fungsi bermula dengan “The web tier did not start on vercel” dan menyenaraikan setiap tetapan yang perlu diubah.

Naik taraf

Migrate daripada hos pasangan terlebih dahulu, kemudian naikkan pelepasan Vercel yang baharu, kemudian kemas kini berperingkat pada pekerja pasangan: urutannya dalam upgrade.md. Satu rollback segera Vercel ialah satu rollback kod dan sentiasa selamat dalam sesebuah keluaran.

Navigasi

Taip untuk mencari…

↑↓ navigasi↵ pilihEsc tutup