Cloudflare Workers 部署
该形态下:Proxy 与 Admin 各为一个 Worker,共享同一 D1(绑定名 DB)。这是 OctaFuse 的默认生产路径——个人与小流量通常可在 Workers / D1 免费额度内完成部署与日常使用。
一键 bootstrap(推荐)
Section titled “一键 bootstrap(推荐)”git clone https://github.com/OctaFuse/octafuse-gateway.gitcd octafuse-gatewaynpm installnpx wrangler loginnpm run bootstrap:cloudflare脚本会:创建或复用 D1 → 远程迁移 → 部署 Proxy / Admin → 写入 ADMIN_PASSWORD Secret → 打印下游 GATEWAY_* 提示。
后续发版:
npm run deploy:cloudflare -- <instance> --migrate # 有新 D1 SQL 时带 --migratenpm run deploy:cloudflare -- <instance> # 仅重新部署本机先试用、不上云:见 快速开始 · 本机启动。
配置模型(深入)
Section titled “配置模型(深入)”| 层级 | 说明 |
|---|---|
packages/*/wrangler.base.jsonc | 已提交模板(无生产 database_id) |
packages/proxy/wrangler.jsonc 等 | 生成产物(gitignore),由 gen:wrangler 写入 |
cloudflare-worker/example.env | dev 演示 canonical 配置(可提交) |
cloudflare-worker/<instance>.env | 生产/私有(gitignore);或仅用 Dashboard Build variables |
gen-wrangler 只读 环境变量(process.env),不关心来自 Dashboard 还是 dotenv -e 文件。
| 路径 | 何时用 |
|---|---|
| 本地开发 | 本机改代码、本地 D1(见 快速开始) |
| dev 演示 | 公共测试 test-api.octafuse.dev(example.env + CLI) |
| Workers Builds | Connect to Git 自动发版(D1 迁移仍需手动) |
远程部署后回到本地开发
Section titled “远程部署后回到本地开发”执行过 deploy:* 或 db:migrate:remote 后,本机生成的 wrangler.jsonc 可能带有远程 D1_DATABASE_ID。回到本地开发前,请在没有导出 D1_DATABASE_ID 的 shell 中执行 npm run gen:wrangler,再重启 dev:proxy / dev:admin。
Workers Builds 命令(可选)
Section titled “Workers Builds 命令(可选)”Root directory 留空(monorepo 根)。npm ci 的 postinstall 会跑 gen:wrangler。
| Worker | Build command | Deploy command |
|---|---|---|
| Proxy | npm ci && npm run gen:wrangler | npm run deploy -w @octafuse/proxy |
| Admin | npm ci && npm run gen:wrangler && npm run build:cf -w @octafuse/admin | cd packages/admin && npx opennextjs-cloudflare deploy |
Secrets 与下游
Section titled “Secrets 与下游”ADMIN_PASSWORD:bootstrap 会写入;也可npx wrangler secret put ADMIN_PASSWORD --name <ADMIN_WORKER_NAME>。- 下游门户:
GATEWAY_URL(Proxy)、GATEWAY_MASTER_URL(Admin)、GATEWAY_MASTER_KEY(D1system_config.MASTER_KEY)。种子为sk-dev-admin-key时须在 Admin Config 轮换。
与 Docker 自建如何选
Section titled “与 Docker 自建如何选”- 默认 / 边缘 / 免自备服务器 → 本页(Cloudflare)。
- 数据驻留、内网、BYO Postgres/MySQL → Docker 部署。