---
title: "Navûpa web li Cloudflare Workers"
description: "Navûpa web ya Quireyê kêm di Cloudflare Workers de bixebitîne."
image: "https://docs.quirelms.com/og.png"
---

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

# Navûpa web li Cloudflare Workers

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

Rêşebeciya `docs/architecture/23-ops.md` beş 6 e. Worker navûpeke weba kêm xebitîne. Hevman taybetmendiyan li Worker herî (PRD beş 12): çi ji vê armancê neyare gava dest pê dike bi nav raqûl dike.

## Derengam di vê wêşanê de <!--quire:status-in-this-release-->

Mîhaz di cihê xwe de ye (`apps/web/wrangler.jsonc`, preseta Nitro ya `cloudflare-module`, prîskê Hyperdrive û çawaskirinên destpêkê). Worker ji bo R2 hilanîneyeke hevpeyman bi S3 pêwîst dike (`QUIRE_STORAGE_DRIVER=s3`), driverek dema rastîn di nav daxwazan (`QUIRE_REALTIME_DRIVER=durable_objects` an `centrifugo`), cacheyeke parvekirî (`QUIRE_CACHE_DRIVER=postgres` an `valkey`) û dabînek e-poştê ya HTTP. Bê wan Worker naxebite û loga wê her mîhazê navdide. Driverea Durable Objects mirovek e ji Worker a dema rastîn di `apps/realtime-worker` de (ji bo fêrbûnê, wêjeyê û dîrokê kanalek Durable Objectek, ji bo derketinê yek ji bo her kesek); wê li pişgotû ve bezoste, wek jêrîn, an Centrifugo bikar bîne.

## Parçe <!--quire:the-pieces-->

| Parçe | Li Cloudflare |
| --- | --- |
| `web` | Workerek bi `nodejs_compat` |
| Postgres | Derve, tê gihiştin bi Hyperdrive: `HYPERDRIVE` ji bo rolê nivîsbariyê, `REPORT_HYPERDRIVE` ji bo rolê raporê li heman danegirşa fizîkî. Navûpa web her srtoka girêtiyê di `DATABASE_URL` û `QUIRE_REPORT_DATABASE_URL` de kopî dike gava dest pê dike |
| Dosye | R2, bi API ya S3 (`S3_ENDPOINT=https://<account>.r2.cloudflarestorage.com`); girêdana `FILES` bucketê girê dike |
| Erengên paşî | pg-boss bi Hyperdrive re gava ereng divê bi nivîsandeke ve bikêrînê ve bêve. Bi `QUIRE_QUEUE_DRIVER=cloudflare` li ser karmera beşdar, erengên sivik bi Cloudflare Queues ve derbas dibe, ji ber vê Postgres ji bo wan nayê çêlîskîn. Karmera beşdar herduyan bixebitîne |
| Dema rastîn | Worker a dema rastîn, `apps/realtime-worker`, bi Durable Objects |
| `worker`, `scheduler`, `collab`, `content`, ClamAV, Gotenberg, ffmpeg | Servereke konteynerên beşdar. Worker nikare wan bixebitîne |
| Tracing | Çawaskirina Workers, di `wrangler.jsonc` de çalak kirî |

`REPORT_HYPERDRIVE` rolê raporê ji bo danegirşa fizîkî ya bi `HYPERDRIVE` navdariye pêşkêş dike. Vê armanc ne tenantên veşartî ji bo danegirşên fizîkî yên zêde diêpe, wek jêrîn şîrokirîye.

## Çi ji vê armancê neyare <!--quire:what-this-target-cannot-do-->

Gava dest pê dike raqûl dike, bi her pirsgirêkê bi hev re li lîsteyê:

- **SMTP tune.** Di `QUIRE_EMAIL_PROVIDER_CONFIG` de dabînkek HTTP bikar bîne.
- **Dîskekî nexweş tune.** `QUIRE_STORAGE_DRIVER` divê navdide hilanîna tiştan.
- **Ne dema rastîn an cache di nawa processê de tune.** Worker di nav daxwazan bîranîne parve nakin, ji ber vê `QUIRE_REALTIME_DRIVER=inprocess` û `QUIRE_CACHE_DRIVER=memory` tên raqûlkirin.
- **ClamAV, Gotenberg an ffmpeg di Worker de tune.** `CLAMAV_URL`, `GOTENBERG_URL` û `FFMPEG_PATH` ku li ser Worker saz kiran tên raqûlkirin; wan li ser karmera beşdar saz bike.
- **Rêxistên danegirşê taybet tune.** Girêdana Hyperdrive a Worker di dema bezostonê de sabit in, ji ber vê rêxistinek bi danegirşa xwe rûpelekî dîtin ku bêhna "li vir neberdest" heye. Wê ji Compose an Vercel ve diêpe.

Û yek tiştî ku ne raqûl dike lê divê bibiznî: **pêşnivîs û nûvekirina bilez a statîk di Worker de naxebitin**, bi qet tiştên belgeya çarçeve bêjine. Her routek bi daxwazê tê avakirin.

Li vê armancê transaksiyonê kurt bigire û neyê biparîzî di navawayek torê de: Hyperdrive gava girêtiyek vegere bo pûl, doma seansê nû ve dike, ji ber vê konteksta tenant bi transaksiyon ve tê sazkirin.

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

1. Sarvek çêke:
   ```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
   ```
   Du IDya Hyperdrive biçe `apps/web/wrangler.jsonc`.
2. Nepûran saz bike, carekê bi `bun run --bun wrangler secret put <NAME>` ji `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`. Mîhazên ada (`QUIRE_APP_ORIGIN`, `QUIRE_CONTENT_ORIGIN`, `QUIRE_PLATFORM_DOMAINS`, `QUIRE_DATABASE_ID`, `S3_ENDPOINT`, `S3_BUCKET`, `QUIRE_COLLAB_URL`) di `vars` de tên.
3. Ji `apps/web` biafirîne û bezoste:
   ```sh
   NITRO_PRESET=cloudflare-module bun run build
   bun run --bun wrangler deploy
   ```
4. Worker a dema rastîn bezoste, bi `QUIRE_REALTIME_WORKER_SECRET` ya navûpa web û nepûra tokeya wê wek `QUIRE_REALTIME_TOKEN_SECRET` (navûpa web tokeyên dema rastîn bi `QUIRE_REALTIME_TOKEN_SECRET` xwe qedê dike, an bi `QUIRE_SECRET_KEY` gava ew neyê sazkirin, ji ber vê ewê ku bikar tîne bikar bîne), û `QUIRE_REALTIME_WORKER_URL` li ser navûpa web biçe navnivîsa wê:
   ```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. Ji bo erengên sivik li Cloudflare Queues, ji bo her kuyê sivikê kunekê çêke û van li ser karmera beşdar saz bike (tokeke API bi dixwîn û nivîsina 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
   ```
   `QUIRE_QUEUE_DRIVER=cloudflare`, `CLOUDFLARE_ACCOUNT_ID`, `CLOUDFLARE_QUEUES_TOKEN`, û `QUIRE_QUEUE_PREFIX` ger `quire-` nî.
6. Servera beşdar wek di [rêbebera Vercel](/ku/ops/vercel/) de, gav 3 bixebitîne. Guhertinên mîgar li wir tên xebitandin, berî her bezostona Worker.

Mîhazeke raqûlkirî di `bun run --bun wrangler tail` de wek "navûpa web li cloudflare dest pê nakir" dide xweyîn, bi her mîhazê ku divê biguhere re.

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