Ad contentum transilire

Stratum textorium in Cloudflare Workers

Stratum textorium Quire diminutum in Cloudflare Workers curra.

Ostendere textu Markdown

Consilium est docs/architecture/23-ops.md sectio 6. Workers stratum textorium diminutum currunt. Paritas munerum in Workers extra scopum est (PRD sectio 12): quod haec meta facere non potest cum incipit refuitur, nomine.

Status in hac editione

Dispositio in loco est (apps/web/wrangler.jsonc, praescriptum Nitro cloudflare-module, pons Hyperdrive et censurae incursionis). Worker repositionem S3 compatibilem pro R2 desiderat (QUIRE_STORAGE_DRIVER=s3), ducem temporis realis per petitiones (QUIRE_REALTIME_DRIVER=durable_objects aut centrifugo), thesaurum communem (QUIRE_CACHE_DRIVER=postgres aut valkey) et praebitorem epistularum HTTP. Sine iis Worker recusat incipere et liber eius quamque constitutionem nominat. Dux Durable Objects est client of Worker temporis realis in apps/realtime-worker (unum Durable Object per canalem pro dispersione, praesentia et historia, unum per hominem pro disconnectionibus); eum una, ut infra, deploye aut Centrifugo utere.

Partes

Pars In Cloudflare
web Worker cum nodejs_compat
Postgres Externus, per Hyperdrive attingitur: HYPERDRIVE pro rola applicationis, REPORT_HYPERDRIVE pro rola commentariorum in iisdem basibus physicalibus. Stratum textorium quamque stringem connectionis in DATABASE_URL et QUIRE_REPORT_DATABASE_URL copiat cum incipit
Filetuli R2, per suum API S3 (S3_ENDPOINT=https://<account>.r2.cloudflarestorage.com); vinculum FILES bucket adiungit
Officia post tergum pg-boss per Hyperdrive cum opus est scribendo in ordinem poni. Cum QUIRE_QUEUE_DRIVER=cloudflare in operario comite, levia officia (traditiones nuntiorum et retextorum non ordinatae) per Cloudflare Queues eunt potius, ita ut Postgres pro iis non interrogetur. Operarius comes utrumque currit
Tempus reale Worker temporis realis, apps/realtime-worker, cum Durable Objects
worker, scheduler, collab, content, ClamAV, Gotenberg, ffmpeg Hospes container comitis. Worker ea curere non potest
Vestigatio Observabilitas Workers, in wrangler.jsonc activata

REPORT_HYPERDRIVE rolam commentariorum pro basibus physicalis a HYPERDRIVE nominatis praebet. Haec meta inquilinos in basibus physicalis additionalibus definitos non servit, ut infra describitur.

Quod haec meta facere non potest

Refuitur cum incipit, cum omni problema simul enumerato:

  • Nullum SMTP. Praebitorem HTTP in QUIRE_EMAIL_PROVIDER_CONFIG utere.
  • Nullus discus localis. QUIRE_STORAGE_DRIVER repositionem obiectorum nominare debet.
  • Nullum temporis reale aut thesaurus in processu. Workers nullam memoriam inter petitiones communicant, ideo QUIRE_REALTIME_DRIVER=inprocess et QUIRE_CACHE_DRIVER=memory refuuntur.
  • Nullus ClamAV, Gotenberg aut ffmpeg in Worker. CLAMAV_URL, GOTENBERG_URL et FFMPEG_PATH in Worker posita refuuntur; ea in operario comite pone potius.
  • Nulla collegia basium dedicatarum. Vincula Hyperdrive Worker tempore deployis fixa sunt, ideo collegium proprias bases datae habens paginam manifestam “unavailable here” accipit. Ex Compose aut Vercel id serve.

Et una res quae non refuitur sed cognosci debet: praerenderisatio et regeneratio statica incrementalis in Workers non operantur, quavis documentatione frameworks dicat. Quaqua via per petitionem redditur.

In hoc meta transactiones breves serva et numquam unam per vocationem retis contine: Hyperdrive statum sessionis restituit cum connexio in collectorem reditur, ideo contextus inquilini per transactionem ponitur.

Deploys

  1. Res crea:
    bun run --bun wrangler hyperdrive create quire-app --connection-string="postgres://quire_app:...@db.example.com:5432/quire"
    bun run --bun wrangler hyperdrive create quire-report --connection-string="postgres://quire_report:...@db.example.com:5432/quire"
    bun run --bun wrangler r2 bucket create quire-files
    bun run --bun wrangler queues create quire-jobs
    Duos identificatores Hyperdrive in apps/web/wrangler.jsonc pone.
  2. Arcana pone, unum per tempus cum bun run --bun wrangler secret put <NAME> ex apps/web: QUIRE_SECRET_KEY, QUIRE_MASTER_KEY, QUIRE_EMAIL_PROVIDER_CONFIG, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, QUIRE_COLLAB_SIGNING_KEY, QUIRE_REALTIME_WORKER_SECRET. Constitutiones nuda (QUIRE_APP_ORIGIN, QUIRE_CONTENT_ORIGIN, QUIRE_PLATFORM_DOMAINS, QUIRE_DATABASE_ID, S3_ENDPOINT, S3_BUCKET, QUIRE_COLLAB_URL) in vars eunt.
  3. Ex apps/web aedifica et deploye:
    NITRO_PRESET=cloudflare-module bun run build
    bun run --bun wrangler deploy
  4. Worker temporis realis deploye, cum QUIRE_REALTIME_WORKER_SECRET strati textorii et eius signo arcano ut QUIRE_REALTIME_TOKEN_SECRET (stratum textorium signa temporis realis suo proprio QUIRE_REALTIME_TOKEN_SECRET signat, aut QUIRE_SECRET_KEY cum id non positum est, ideo quod ipse usurpat utere), et QUIRE_REALTIME_WORKER_URL in strato textorio in eius addressam pone:
    cd apps/realtime-worker
    bun run --bun wrangler secret put QUIRE_REALTIME_WORKER_SECRET
    bun run --bun wrangler secret put QUIRE_REALTIME_TOKEN_SECRET
    bun run --bun wrangler deploy
  5. Pro levibus officiis in Cloudflare Queues, unum ordinem per levem ordinem crea et haec in operario comite pone (signum API cum Queues lectione et scriptura):
    bun run --bun wrangler queues create quire-events-notifications
    bun run --bun wrangler queues create quire-events-notifications-dead
    bun run --bun wrangler queues create quire-events-webhooks
    bun run --bun wrangler queues create quire-events-webhooks-dead
    QUIRE_QUEUE_DRIVER=cloudflare, CLOUDFLARE_ACCOUNT_ID, CLOUDFLARE_QUEUES_TOKEN, et QUIRE_QUEUE_PREFIX si non quire-.
  6. Hospitem comitem ut in praecepto Vercel, gradu 3, curre. Migrationes ibi curriunt, ante quamque deploy Worker.

Dispositio refusa in bun run --bun wrangler tail ut “The web tier did not start on cloudflare” monstratur, cum singulis constitutionibus mutandis.

Navigatio

Scribe ut quaeras…

↑↓ navigare↵ eligereEsc claudere