Cloudflare Workers 部署
Cloudflare Workers 部署是 Pages 部署之外的另一种 Serverless 部署方式。与 Pages 相比,Workers 提供更灵活的路由控制和更高的自定义能力,适合需要精细控制部署流程的用户。
Pages vs Workers
- Pages 部署:更简单,适合大多数用户,通过 Cloudflare Dashboard 可视化操作即可完成,支持自动更新
- Workers 部署:通过 GitHub Actions 部署,适合熟悉 CI/CD 流程的用户,支持 push 到 main 分支时自动部署,也可手动触发
两种方式功能完全一致,选择适合自己的即可。
📂 第一步:Fork 项目
- 访问 CloudFlare ImgBed 项目
- 点击右上角的 "Fork" 按钮
- 选择您的 GitHub 账户
- 确认 Fork 完成
🔑 第二步:准备 Cloudflare 资源
2.1 获取 API Token 和 Account ID
- 登录 Cloudflare Dashboard
- 点击右上角头像 → "我的个人资料" → "API 令牌"
- 点击 "创建令牌"
- 选择 "编辑 Cloudflare Workers" 模板
- 确认权限并创建,记录生成的 Token
- 返回 Dashboard 首页,在右侧栏找到并记录 Account ID
2.2 创建数据库
数据库用于存储文件元数据,可选 KV 或 D1(二选一)。
| 特点 | KV 数据库 | D1 数据库 |
|---|---|---|
| 读写性能 | 高 | 较低 |
| 免费额度 | 少 | 多 |
KV 数据库
- 在 Dashboard 中选择 "存储和数据库" → "Workers KV"
- 点击 "创建实例",名称填
img_url - 创建完成后,记录命名空间 ID
D1 数据库
- 在 Dashboard 中选择 "存储和数据库" → "D1 SQL 数据库"
- 点击 "创建数据库",名称填
img_d1 - 创建完成后,记录数据库 ID
- 在 "控制台" 选项卡中执行初始化 SQL(见 init.sql)
2.3 创建 R2 存储桶(可选)
如果需要使用 R2 存储渠道:
- 在 Dashboard 中选择 "存储和数据库" → "R2 对象存储"
- 点击 "创建存储桶",记录存储桶名称
⚙️ 第三步:配置 GitHub Secrets
在 Fork 的仓库中,进入 Settings → Secrets and variables → Actions → Secrets,添加以下 Secrets:
| Secret 名称 | 说明 | 是否必填 |
|---|---|---|
CLOUDFLARE_API_TOKEN | Cloudflare API Token | ✅ 必填 |
CLOUDFLARE_ACCOUNT_ID | Cloudflare Account ID | ✅ 必填 |
D1_DATABASE_ID | D1 数据库 ID | 二选一 |
KV_NAMESPACE_ID | KV 命名空间 ID | 二选一 |
R2_BUCKET_NAME | R2 存储桶名称 | 可选 |
WORKER_NAME | Worker 名称(默认 cloudflare-imgbed) | 可选 |
WORKER_VARS | 业务环境变量(JSON 格式) | 可选 |
WORKER_VARS 格式说明
WORKER_VARS 用于配置业务相关的环境变量,格式为 JSON 字符串。例如配置 Telegram 渠道:
{"TG_BOT_TOKEN":"your-bot-token","TG_CHAT_ID":"your-chat-id"}所有可用的环境变量请参考 配置说明。
非必要不建议在此处配置
所有业务设置(存储渠道、审查策略等)都可以在部署完成后通过管理面板进行配置,无需在此处填写。仅当管理面板无法覆盖的特殊环境变量才需要通过 WORKER_VARS 配置。
安全提示
所有配置项均通过 Secrets 传入。GitHub 的 Secrets 是加密存储的,不会在日志中泄露。请勿使用 Variables(在 public 仓库中对所有人可见)。
🚀 第四步:运行部署
手动部署
- 进入 Fork 仓库的 Actions 页面
- 在左侧选择 Deploy to Cloudflare Workers
- 点击 Run workflow
- 选择要部署的分支(默认
main) - 可选修改 Worker 名称(默认使用 Secrets 中的
WORKER_NAME,未配置则为cloudflare-imgbed) - 点击 Run workflow 开始部署
自动部署
配置好 Secrets 后,每次 main 分支有 push(包括通过 Sync fork 同步上游更新)时,会自动触发部署。
配合自动同步
仓库内置了 Upstream Sync Action(每日自动同步上游更新)。启用后,上游有新版本时会自动同步到你的 main 分支,随后自动触发 Worker 部署,实现全自动更新。
启用方式:进入 Fork 仓库的 Actions 页面,找到 Upstream Sync,点击 Enable workflow。
部署过程会自动完成以下步骤:
- 安装依赖
- 扫描路由并生成 Worker 入口
- 收集前端静态资源
- 根据 Secrets 生成部署配置
- 部署到 Cloudflare Workers
部署完成后,可以通过 https://<worker-name>.<account-subdomain>.workers.dev 访问。
🔄 更新版本
Workers 部署支持两种更新方式:
自动更新(推荐)
启用 Upstream Sync Action 后,上游仓库有更新时会自动同步并触发部署,无需手动操作。
手动更新
- 在 Fork 仓库中同步上游更新(Sync fork)
- 同步完成后会自动触发部署;也可以手动进入 Actions 页面运行 Deploy to Cloudflare Workers
🚀 下一步
部署完成后,需要添加存储渠道才能正常使用。请参考 配置说明 进行配置。
