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-filesbun run --bun wrangler queues create quire-jobs
将两个 Hyperdrive ID 填入 apps/web/wrangler.jsonc。
使用 bun run --bun wrangler secret put <NAME> 设置密钥(在 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。普通设置(QUIRE_APP_ORIGIN、QUIRE_CONTENT_ORIGIN、QUIRE_PLATFORM_DOMAINS、QUIRE_DATABASE_ID、S3_ENDPOINT、S3_BUCKET、QUIRE_COLLAB_URL)放入 vars。
在 apps/web 中构建并部署:
NITRO_PRESET=cloudflare-module bun run buildbun run --bun wrangler deploy
部署实时 Worker,配置与 Web 层相同的 QUIRE_REALTIME_WORKER_SECRET,并将其 token 密钥设为 QUIRE_REALTIME_TOKEN_SECRET(Web 层使用自己的 QUIRE_REALTIME_TOKEN_SECRET 为实时令牌签名;未设置时使用 QUIRE_SECRET_KEY,请按实际情况配置)。再将 Web 层的 QUIRE_REALTIME_WORKER_URL 设为该 Worker 的地址:
cd apps/realtime-workerbun run --bun wrangler secret put QUIRE_REALTIME_WORKER_SECRETbun run --bun wrangler secret put QUIRE_REALTIME_TOKEN_SECRETbun run --bun wrangler deploy
要通过 Cloudflare Queues 运行轻量任务,请为每个轻量队列创建一个队列,并在配套 worker 上设置以下配置(使用具有队列读取和写入权限的 API token):
bun run --bun wrangler queues create quire-events-notificationsbun run --bun wrangler queues create quire-events-notifications-deadbun run --bun wrangler queues create quire-events-webhooksbun run --bun wrangler queues create quire-events-webhooks-dead