部署 Sink 到 Cloudflare Workers
- Fork 仓库。
- 创建 KV 命名空间并复制其 ID。
- 创建 D1 并复制 ID:
pnpm wrangler d1 create sink。 - 创建名为
sink的 R2 存储桶,或运行pnpm wrangler r2 bucket create sink。部署配置始终包含R2;OpenGraph 图片上传和自动兼容性备份依赖它。 - 创建连接到 Fork 的 Cloudflare Workers 项目。
- 配置命令:
- 构建命令:
pnpm build - 部署命令:
pnpm deploy:worker
- 构建命令:
- 在 Workers Builds → Build variables and secrets 中配置:
DEPLOY_D1_DATABASE_ID(必填)DEPLOY_KV_NAMESPACE_ID(必填,用于生产与预览 KV 绑定)DEPLOY_D1_DATABASE_NAME(可选,默认sink)DEPLOY_R2_BUCKET_NAME(可选,默认sink,存储桶必须已存在)DEPLOY_ANALYTICS_DATASET(可选,默认sink)NUXT_API_CORS(可选,仅构建时)- 实例需要的所有
NUXT_PUBLIC_*值
DEPLOY_* 仅用于部署。不要将其添加为 Worker 运行时变量,也不要编辑版本库中的 wrangler.jsonc。部署命令会生成已被 Git 忽略的 wrangler.deploy.jsonc、应用待执行的 D1 迁移并发布 Worker。
- 保存并部署。
- 在 Worker 的 Settings → Variables and Secrets 中配置运行时值:
- 重复配置构建阶段的全部
NUXT_PUBLIC_*值。 - 设置安全的
NUXT_SITE_TOKEN;建议使用至少 8 个字符,并避免纯数字等可预测值。 - 配置
NUXT_CF_ACCOUNT_ID,以及至少拥有 Account Analytics 权限的NUXT_CF_API_TOKEN。 - 按需添加其他运行时
NUXT_*,包括NUXT_DATASET、Access 和 Webhook 设置。
- 重复配置构建阶段的全部
- 在 Workers & Pages → Account details 中启用 Analytics Engine,并保持
NUXT_DATASET与DEPLOY_ANALYTICS_DATASET一致。 - 重新部署项目。
D1 是链接的权威存储。KV 是写穿式读取缓存,并在迁移完成前临时提供旧数据。已有 KV 链接的升级实例应在应用 D1 迁移后使用迁移 API。
如需保护仪表盘,请参阅 Cloudflare Access;事件投递详见点击 Webhook。更新 Fork 可参考 GitHub 的同步 Fork指南。