---
title: "A webes réteg Cloudflare Workersen"
description: "A Quire csökkentett webes rétegének futtatása Cloudflare Workersen."
image: "https://docs.quirelms.com/og.png"
---

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

# A webes réteg Cloudflare Workersen

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

A kialakítást a `docs/architecture/23-ops.md` 6. szakasza ismerteti. A Workers csökkentett webes réteget futtat. A teljes funkcióegyezés nem cél Workersen (PRD 12. szakasz); amit ez a célkörnyezet nem tud, azt induláskor név szerint elutasítja.

## Állapot ebben a kiadásban <!--quire:status-in-this-release-->

A konfiguráció rendelkezésre áll (`apps/web/wrangler.jsonc`, a `cloudflare-module` Nitro-előbeállítás, a Hyperdrive-kapcsoló és indítási ellenőrzések). A Workernek S3-kompatibilis tárolás kell az R2-höz (`QUIRE_STORAGE_DRIVER=s3`), kérések között használható realtime driver (`QUIRE_REALTIME_DRIVER=durable_objects` vagy `centrifugo`), megosztott gyorsítótár (`QUIRE_CACHE_DRIVER=postgres` vagy `valkey`) és HTTP-s e-mail-szolgáltató. Ezek nélkül a Worker nem indul, és a napló megnevezi a hiányzó beállításokat. A Durable Objects driver az `apps/realtime-worker` realtime Worker kliensét használja (csatornánként egy Durable Object továbbításhoz, jelenléthez és előzményekhez, személyenként egy a leválasztáshoz); telepítse vele együtt az alábbiak szerint, vagy használjon Centrifugót.

## Összetevők <!--quire:the-pieces-->

| Összetevő | A Cloudflare-en |
| --- | --- |
| `web` | `nodejs_compat`-ot használó Worker |
| Postgres | Külső, Hyperdrive-on keresztül: `HYPERDRIVE` az alkalmazásszerepkörhöz, `REPORT_HYPERDRIVE` ugyanazon fizikai adatbázis jelentési szerepköréhez. Induláskor a webes réteg minden kapcsolati karakterláncot `DATABASE_URL` és `QUIRE_REPORT_DATABASE_URL` értékként másol be |
| Fájlok | R2 az S3 API-n keresztül (`S3_ENDPOINT=https://<account>.r2.cloudflarestorage.com`); a `FILES` kötés kapcsolja hozzá a bucketet |
| Háttérfeladatok | pg-boss Hyperdrive-on át, ha a feladatot írással egy tranzakcióban kell sorba állítani. A kiegészítő worker `QUIRE_QUEUE_DRIVER=cloudflare` beállításával az egyszerű feladatok (nem sorrendhez kötött értesítések és webhookkézbesítések) Cloudflare Queues-en futnak, így ezek miatt nem ellenőrzi a Postgres-sorokat. A kiegészítő worker mindkét típust futtatja |
| Realtime | Realtime Worker, `apps/realtime-worker`, Durable Objects használatával |
| `worker`, `scheduler`, `collab`, `content`, ClamAV, Gotenberg, ffmpeg | Kiegészítő konténerhost. A Worker nem tudja futtatni őket |
| Nyomkövetés | Workers megfigyelhetőség, a `wrangler.jsonc` fájlban engedélyezve |

A `REPORT_HYPERDRIVE` a `HYPERDRIVE` által megadott fizikai adatbázis jelentési szerepkörét biztosítja. Ez a célkörnyezet nem szolgál ki további fizikai adatbázishoz rögzített tenantokat, ahogy lentebb olvasható.

## Amit ez a célkörnyezet nem tud <!--quire:what-this-target-cannot-do-->

Induláskor minden problémát egyszerre felsorolva elutasítja a beállítást:

- **Nincs SMTP.** Használjon HTTP-s szolgáltatót a `QUIRE_EMAIL_PROVIDER_CONFIG` beállításban.
- **Nincs helyi lemez.** A `QUIRE_STORAGE_DRIVER` értékének objektumtárolót kell megadnia.
- **Nincs folyamaton belüli realtime vagy gyorsítótár.** A Workers nem oszt meg memóriát a kérések között, ezért elutasítja a `QUIRE_REALTIME_DRIVER=inprocess` és `QUIRE_CACHE_DRIVER=memory` értékeket.
- **A Workerben nincs ClamAV, Gotenberg vagy ffmpeg.** A Worker környezetében megadott `CLAMAV_URL`, `GOTENBERG_URL` és `FFMPEG_PATH` elutasított; állítsa be őket a kiegészítő workeren.
- **Nincsenek dedikált adatbázisú szervezetek.** A Worker Hyperdrive-kötései telepítéskor rögzülnek, ezért a saját adatbázissal rendelkező szervezet érthető „unavailable here” oldalt kap. Szolgálja ki Compose-ról vagy Vercelről.

Egy további tudnivaló, amelyet nem utasít el: **a prerenderelés és a fokozatos statikus újragenerálás nem működik Workersen**, akármit is ír a keretrendszer dokumentációja. Minden útvonal kérésenként renderelődik.

Ezen a célkörnyezeten tartsa röviden a tranzakciókat, és soha ne tartson nyitva tranzakciót hálózati hívás alatt: a Hyperdrive visszaállítja a munkamenet állapotát, amikor a kapcsolat visszakerül a poolba, ezért a tenant kontextusát tranzakciónként kell beállítani.

## Üzembe helyezés <!--quire:deploying-->

1. Hozza létre az erőforrásokat:
   ```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
   ```
   Helyezze a két Hyperdrive-azonosítót az `apps/web/wrangler.jsonc` fájlba.
2. Az egyes titkok beállításához futtassa a `bun run --bun wrangler secret put <NAME>` parancsot az `apps/web` mappából: `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`. Az egyszerű beállításokat (`QUIRE_APP_ORIGIN`, `QUIRE_CONTENT_ORIGIN`, `QUIRE_PLATFORM_DOMAINS`, `QUIRE_DATABASE_ID`, `S3_ENDPOINT`, `S3_BUCKET`, `QUIRE_COLLAB_URL`) a `vars` alatt adja meg.
3. Az `apps/web` mappából építse és telepítse:
   ```sh
   NITRO_PRESET=cloudflare-module bun run build
   bun run --bun wrangler deploy
   ```
4. Telepítse a realtime Workert a webes réteg `QUIRE_REALTIME_WORKER_SECRET` értékével és annak tokenjét `QUIRE_REALTIME_TOKEN_SECRET` néven (a webes réteg saját `QUIRE_REALTIME_TOKEN_SECRET` értékével, ennek hiányában pedig `QUIRE_SECRET_KEY` értékkel írja alá a realtime tokeneket; használja ugyanazt), majd állítsa be a webes rétegben a `QUIRE_REALTIME_WORKER_URL` értékét a Worker címére:
   ```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. A Cloudflare Queues egyszerű feladatainak használatához hozzon létre sort minden egyszerű queue-hoz, és állítsa be őket a kiegészítő workeren (Queues írási és olvasási jogosultságú API-token szükséges):
   ```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
   ```
   Állítsa be a `QUIRE_QUEUE_DRIVER=cloudflare`, `CLOUDFLARE_ACCOUNT_ID`, `CLOUDFLARE_QUEUES_TOKEN` értékeket, valamint a `QUIRE_QUEUE_PREFIX` értékét, ha az nem `quire-`.
6. Futtassa a kiegészítő hostot a [Vercel-útmutató](/hu/ops/vercel/) 3. lépése szerint. A migrációk itt futnak le minden Worker-telepítés előtt.

Hibás konfigurációnál az `bun run --bun wrangler tail` kimenete ezt mutatja: “The web tier did not start on cloudflare”, majd felsorolja a módosítandó beállításokat.

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