使用Cloudflare Workers搭建图传系统

Cloudflare Workers(边缘计算)、Pages(静态托管)、D1(边缘 SQLite 数据库)、KV(键值存储)、R2(对象存储,无出站流量费)、Durable Objects(有状态边缘对象)、Queues(消息队列)--这套组合已经成为独立开发者的"零成本基础设施"标配:免服务器、免备案、全球边缘节点,再加上足够用的免费额度,催生了大量高质量开源项目。

这篇文章重点就是介绍使用Cloudflare Workers部署图床系统 :通过 GitHub Actions 部署,适合熟悉 CI/CD 流程的用户,支持 push 到 main 分支时自动部署,也可手动触发。

📂 第一步:Fork 项目

  1. 访问 CloudFlare ImgBed 项目 这个是图床的Github程序源码
  2. 点击右上角的 "Fork" 按钮
  3. 选择您的 GitHub 账户
  4. 确认 Fork 完成

🔑 第二步:准备 Cloudflare 资源

2.1 获取 API Token 和 Account ID

  1. 登录 Cloudflare Dashboard
  2. 点击右上角头像 → "我的个人资料" → "API 令牌"
  3. 点击 "创建令牌"
  4. 选择 "编辑 Cloudflare Workers" 模板
  5. 确认权限并创建,记录生成的 TokenAccount ID
  6. 建议直接截图弹窗的配置信息保存,因为Token只在创建的时候显示

2.2 创建数据库

数据库用于存储文件元数据,可选 KV 或 D1(二选一)。

特点KV 数据库D1 数据库
读写性能较低
免费额度

KV 数据库

  1. 在 Dashboard 中选择 "存储和数据库" → "Workers KV"
  2. 点击 "创建实例",名称填 img_url
  3. 创建完成后,记录命名空间 ID(Namespace ID)

D1 数据库

  1. 在 Dashboard 中选择 "存储和数据库" → "D1 SQL 数据库"
  2. 点击 "创建数据库",名称填 img_d1
  3. 创建完成后,记录数据库 ID
  4. 在 "控制台" 选项卡中执行初始化 SQL(见 init.sql

2.3 创建 R2 存储桶(可选)

如果需要使用 R2 存储渠道:

  1. 在 Dashboard 中选择 "存储和数据库" → "R2 对象存储"
  2. 点击 "创建存储桶",记录存储桶名称

⚙️ 第三步:配置 GitHub Secrets

在 Fork 的仓库中,进入 Settings → Secrets and variables → Actions → Secrets,添加以下 Secrets:

Secret 名称说明是否必填
CLOUDFLARE_API_TOKENCloudflare API Token✅ 必填
CLOUDFLARE_ACCOUNT_IDCloudflare Account ID✅ 必填
D1_DATABASE_IDD1 数据库 ID二选一
KV_NAMESPACE_IDKV 命名空间 ID二选一
R2_BUCKET_NAMER2 存储桶名称可选
WORKER_NAMEWorker 名称(默认 cloudflare-imgbed可选
WORKER_VARS业务环境变量(JSON 格式)可选

WORKER_VARS 用于配置业务相关的环境变量,格式为 JSON 字符串。例如配置 Telegram 渠道:

{"TG_BOT_TOKEN":"your-bot-token","TG_CHAT_ID":"your-chat-id"}非必要不建议在此处配置

所有可用的环境变量请参考 配置说明

所有业务设置(存储渠道、审查策略等)都可以在部署完成后通过管理面板进行配置,无需在此处填写。仅当管理面板无法覆盖的特殊环境变量才需要通过 WORKER_VARS 配置。

安全提示

所有配置项均通过 Secrets 传入。GitHub 的 Secrets 是加密存储的,不会在日志中泄露。请勿使用 Variables(在 public 仓库中对所有人可见)。

🚀 第四步:运行部署

  1. 进入 Fork 仓库的 Actions 页面
  2. 在左侧选择 Deploy to Cloudflare Workers
  3. 点击 Run workflow
  4. 选择要部署的分支(默认 main
  5. 可选修改 Worker 名称(优先级:手动输入 > Secrets 中的 WORKER_NAME > cloudflare-imgbed
  6. 点击 Run workflow 开始部署

部署完成后,可以通过 https://<worker-name>.<account-subdomain>.workers.dev 访问。国内workers.dev域名被墙了,你要国内访问的话,还需要配置一个自定义域名。

🚀 最后一步

部署完成后,登入图床系统,进入系统设置,添加存储渠道后就可以正常使用。

相关推荐

小米路由器AX3600 解锁SSH

小米AIoT路由器AX3600,是一台标准的Wi-Fi 6路由,采用高通第二代Wi-Fi 6方案,更加成熟。全套高通芯片,2.4GHz频段支持2T2R ...

2 条评论

发表评论