---
title: "An t-sreath-lìn air Cloudflare Workers"
description: "Ruith sreath-lìn Quire lùghdaichte air Cloudflare Workers."
image: "https://docs.quirelms.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.quirelms.com/gd/llms.txt
> Use this file to discover all available pages before exploring further.

# An t-sreath-lìn air Cloudflare Workers

<span id="the-web-tier-on-cloudflare-workers"></span>

Tha an dealbhadh aig earrann 6 de `docs/architecture/23-ops.md`. Tha Workers a’ ruith sreath-lìn lùghdaichte. Chan eil co-ionannachd fheartan air Workers am broinn na h-obrach (earrann 12 den PRD): thèid na rudan nach urrainn don targaid seo a dhèanamh a dhiùltadh nuair a thòisicheas i, a rèir ainm.

## Inbhe san tionndadh seo <!--quire:status-in-this-release-->

Tha an rèiteachadh deiseil (`apps/web/wrangler.jsonc`, ro-shuidheachadh Nitro `cloudflare-module`, drochaid Hyperdrive agus sgrùdaidhean tòiseachaidh). Feumaidh Worker stòradh a tha co-chòrdail ri S3 airson R2 (`QUIRE_STORAGE_DRIVER=s3`), draibhear fìor-ùine thar iarrtasan (`QUIRE_REALTIME_DRIVER=durable_objects` no `centrifugo`), tasgadan co-roinnte (`QUIRE_CACHE_DRIVER=postgres` no `valkey`) agus solaraiche post-d HTTP. Mura h-eil iad ann, diùltas Worker tòiseachadh agus ainmichidh an log gach suidheachadh a tha a dhìth. ’S e cliant de Worker na fìor-ùine ann an `apps/realtime-worker` a th’ ann an draibhear Durable Objects (aon Durable Object gach seanail airson craoladh, làthaireachd is eachdraidh, agus aon gach neach airson dì-cheanglaidhean); cleachd e còmhla ri Worker na fìor-ùine mar gu h-ìosal, no cleachd Centrifugo.

## Na pìosan <!--quire:the-pieces-->

| Pìos | Air Cloudflare |
| --- | --- |
| `web` | Worker le `nodejs_compat` |
| Postgres | Taobh a-muigh, tro Hyperdrive: `HYPERDRIVE` airson dreuchd na h-aplacaid, `REPORT_HYPERDRIVE` airson dreuchd nan aithisgean air an aon stòr-dàta fiosaigeach. Nì an t-sreath-lìn lethbhreac de gach sreang ceangail gu `DATABASE_URL` agus `QUIRE_REPORT_DATABASE_URL` nuair a thòisicheas i |
| Faidhlichean | R2 tron API S3 aige (`S3_ENDPOINT=https://<account>.r2.cloudflarestorage.com`); ceanglaidh an binding `FILES` am bucaid |
| Obraichean cùl-raoin | pg-boss tro Hyperdrive nuair a dh’fheumas an obair a chur sa chiudha le sgrìobhadh. Le `QUIRE_QUEUE_DRIVER=cloudflare` air an neach-obrach companach, thèid na h-obraichean aotrom (lìbhrigeadh brathan is webhook gun òrdugh) tro Cloudflare Queues nan àite gus nach dèanar polladh orra ann am Postgres. Ruithidh an neach-obrach companach an dà chuid |
| Fìor-ùine | Worker na fìor-ùine, `apps/realtime-worker`, le Durable Objects |
| `worker`, `scheduler`, `collab`, `content`, ClamAV, Gotenberg, ffmpeg | Aoigh chompanaich airson soithichean. Chan urrainn do Worker an ruith |
| Tracadh | Amharcachd Workers, air a cur air ann an `wrangler.jsonc` |

Tha `REPORT_HYPERDRIVE` a’ toirt seachad dreuchd nan aithisgean airson an stòir-dàta fiosaigeach a tha `HYPERDRIVE` ag ainmeachadh. Chan eil an targaid seo a’ frithealadh luchd-gabhail a tha ceangailte ri stòran-dàta fiosaigeach eile, mar a tha air a mhìneachadh gu h-ìosal.

## Rudan nach urrainn don targaid seo a dhèanamh <!--quire:what-this-target-cannot-do-->

Thèid an rèiteachadh a dhiùltadh aig tòiseachadh agus thèid gach duilgheadas ainmeachadh còmhla:

- **Gun SMTP.** Cleachd solaraiche HTTP ann an `QUIRE_EMAIL_PROVIDER_CONFIG`.
- **Gun diosg ionadail.** Feumaidh `QUIRE_STORAGE_DRIVER` stòradh nithean ainmeachadh.
- **Gun fhìor-ùine no tasgadan sa phròiseas.** Chan eil cuimhne cho-roinnte aig Workers eadar iarrtasan, agus mar sin thèid `QUIRE_REALTIME_DRIVER=inprocess` agus `QUIRE_CACHE_DRIVER=memory` a dhiùltadh.
- **Gun ClamAV, Gotenberg no ffmpeg am broinn Worker.** Thèid `CLAMAV_URL`, `GOTENBERG_URL` agus `FFMPEG_PATH` a chaidh a chur air Worker a dhiùltadh; cuir iad air an neach-obrach companach an àite sin.
- **Gun bhuidhnean le stòr-dàta sònraichte.** Tha bindings Hyperdrive aig Worker suidhichte aig àm cleachdaidh; mar sin gheibh buidheann le stòr-dàta fhèin duilleag shoilleir ag ràdh “chan eil e ri fhaighinn an seo”. Fritheil i bho Compose no Vercel.

Agus aon rud nach tèid a dhiùltadh ach air am feum thu fios a bhith agad: **chan obraich prerendering no ath-ghineadh statach mean air mhean air Workers**, ge bith dè tha ann an sgrìobhainnean a’ chreata. Thèid gach slighe a dhèanamh às ùr gach iarrtas.

Air an targaid seo, cùm gnothaichean goirid agus na cum fear thar gairm lìonra: ath-shuidhichidh Hyperdrive staid an t-seisein nuair a thilleas ceangal dhan amar, agus mar sin suidhichear co-theacsa an neach-gabhail gach gnothach.

## Cleachdadh <!--quire:deploying-->

1. Cruthaich na goireasan:
   ```sh
   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
   ```
   Cuir an dà ID Hyperdrive ann an `apps/web/wrangler.jsonc`.
2. Suidhich na dìomhaireachdan, aon turas aig an aon àm le `bun run --bun wrangler secret put <NAME>` bho `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`. Cuir roghainnean àbhaisteach (`QUIRE_APP_ORIGIN`, `QUIRE_CONTENT_ORIGIN`, `QUIRE_PLATFORM_DOMAINS`, `QUIRE_DATABASE_ID`, `S3_ENDPOINT`, `S3_BUCKET`, `QUIRE_COLLAB_URL`) ann an `vars`.
3. Tog is cleachd e bho `apps/web`:
   ```sh
   NITRO_PRESET=cloudflare-module bun run build
   bun run --bun wrangler deploy
   ```
4. Cleachd Worker na fìor-ùine, leis an t-sreath-lìn `QUIRE_REALTIME_WORKER_SECRET` agus an dìomhaireachd tòcan aige mar `QUIRE_REALTIME_TOKEN_SECRET` (soidhnidh an t-sreath-lìn tòcan fìor-ùine leis an `QUIRE_REALTIME_TOKEN_SECRET` aice fhèin, no le `QUIRE_SECRET_KEY` mura h-eil sin air a shuidheachadh; cleachd mar sin ge bith dè tha i a’ cleachdadh), agus suidhich `QUIRE_REALTIME_WORKER_URL` air an t-sreath-lìn gu seòladh an Worker:
   ```sh
   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. Airson obraichean aotrom ann an Cloudflare Queues, cruthaich ciudha airson gach ciudha aotrom agus suidhich iad sin air an neach-obrach companach (tòcan API le cead leughaidh is sgrìobhaidh Queues):
   ```sh
   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
   ```
   Cuir `QUIRE_QUEUE_DRIVER=cloudflare`, `CLOUDFLARE_ACCOUNT_ID`, `CLOUDFLARE_QUEUES_TOKEN` agus `QUIRE_QUEUE_PREFIX` ris mura h-eil an ro-leasachan `quire-`.
6. Ruith an aoigh companach mar ann an ceum 3 de [stiùireadh Vercel](/gd/ops/vercel/). Thèid imrich a ruith an sin mus cleachdar Worker gach turas.

Nochdaidh rèiteachadh a chaidh a dhiùltadh ann an `bun run --bun wrangler tail` mar “The web tier did not start on cloudflare”, agus an uair sin liosta nan roghainnean ri atharrachadh.

Source: https://docs.quirelms.com/gd/ops/cloudflare/index.mdx
