欢迎光临
小舅子的一亩三分地

写个部署CloudFlare ImgBed三月图床教程

今天写个部署CloudFlare ImgBed三月图床的教程。

CloudFlare ImgBed 是一个支持 Docker 与 Serverless 部署的开源图床和文件托管方案,可将 Telegram、Discord、Cloudflare R2、S3 兼容存储、Hugging Face 和 WebDAV 等后端统一接入一个管理界面。项目提供上传、读取、目录与标签管理、身份认证、内容审查、HTTP API、WebDAV 和公开浏览等能力,适用于个人图床、网站资源管理和轻量文件分发。

项目支持使用不同的存储渠道作为后端存储,每种渠道有不同的优缺点和限制,您可以根据自己的需求选择合适的渠道。

渠道类型优点限制
Telegram Bot完全免费、无限容量大于20MB文件需分片存储
Cloudflare R2无文件大小限制、企业级性能超出10G免费额度后收费,需要绑定支付方式
S3 兼容存储选择多样、价格灵活根据服务商定价
Discord完全免费、简单易用大于10MB文件需分片存储
HuggingFace完全免费、支持大文件直传需要 HuggingFace 账号
WebDAV兼容性广、支持自建存储根据服务商定价

不废话了,本次部署教程为在cloudflare上部署三月图床和对接HuggingFace。当然你有开通Cloudflare R2也可以对接上。

本教程整备工作。一个cloudflare账号、一个GitHub账号、一个HuggingFace账号。如果要对接其他接口,你需要准备对应账号。

首先用的你GitHub账号去fork个项目,项目地址:https://github.com/MarSeventh/CloudFlare-ImgBed

然后登录cloudflare,然后去部署,这里有两种部署方式,第一个就是cloudflare pages部署,第二个是Cloudflare Workers 部署是 Pages 部署之外的另一种 Serverless 部署方式。与 Pages 相比,Workers 提供更灵活的路由控制和更高的自定义能力,适合需要精细控制部署流程的用户。

Pages vs Workers

  • Pages 部署:更简单,适合大多数用户,通过 Cloudflare Dashboard 可视化操作即可完成,支持自动更新
  • Workers 部署:通过 GitHub Actions 部署,适合熟悉 CI/CD 流程的用户,支持 push 到 main 分支时自动部署,也可手动触发

两种方式功能完全一致,选择适合自己的即可。

本次我们就用pages部署

这里要注意了,我们需要创建个pages 所以要点我键号哪里创建pages(我电脑问题,显示不全,看不到创建pages按钮),不然就是创建worker了。

链接我们前面fork项目的GitHub账户即可。

项目设置

配置项说明
项目名称cloudflare-imgbed(或自定义)项目标识符
生产分支main生产环境分支
构建命令npm install重要:v2.0 新构建命令
构建输出目录/frontend-dist前端构建产物目录

点击 “保存并部署” 等待首次部署完成(约 2-3 分钟左右)

配置数据库

数据库用于存储文件元数据,是必需的组件,可选数据库为 KV 数据库和 D1 数据库。两者对比如下表所示,根据自己使用场景从其中选择一种配置即可

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

重要提示

KV 数据库和 D1 数据库只需要配置其中一个即可,不需要同时配置两个!建议根据上表选择适合自己的数据库类型。

下面是KV 数据库配置

创建 KV 命名空间

  1. 首先在 Cloudflare Dashboard 中选择 “存储和数据库”
  2. 点击 “Workers KV”
  3. 点击 “创建实例”
  4. 输入命名空间名称:img_url(建议使用此名称)
  5. 点击 “创建”

绑定 KV 到项目

  1. 返回您的 Pages 项目
  2. 选择 “设置” → “绑定”
  3. 点击 “添加” → “KV 命名空间”
  4. 填写绑定信息:
    • 变量名称img_url(必须是这个名称)
    • KV 命名空间:选择刚创建的命名空间
  5. 点击 “保存”

注意

绑定 KV 时,变量名称必须为 img_url,这是项目预设的变量名,填错会出现无法进入管理界面等情况。

以上就是KV的开通配置说明,但是我本次教程使用D1数据库,毕竟D1数据库免费额度大点,如果内容多推荐。

数据库配置

创建 D1 数据库

  1. 首先在 Cloudflare Dashboard 中选择 “存储和数据库”
  2. 点击 “D1 SQL 数据库”
  3. 点击 “创建数据库”
  4. 输入数据库名称:img_d1(建议使用此名称)
  5. 点击 “创建”

接着执行安装 D1 数据库

  1. 创建完成后,点击进入数据库详情页
  2. 选择 “控制台” 选项卡
  3. 在 SQL 输入框中粘贴并执行注释区域以下的内容(见项目仓库
  4. 点击 “执行”

打开项目仓库:https://github.com/MarSeventh/CloudFlare-ImgBed/blob/main/database/init.sql

绑定 D1 到项目

  1. 现在我们返回 Pages 项目
  2. 选择 “设置” → “绑定”
  3. 点击 “添加” → “D1 数据库”
  4. 填写绑定信息:
    • 变量名称img_d1(必须是这个名称)
    • D1 数据库:选择刚创建的数据库
  5. 点击 “保存

如果你有激活cloudflare R2,也是这里添加,不过填写的时候选择R2存储和对应变量名称和存储桶名称。

现在一切准备就绪,去pages重新部署下即可。

三点这里选择重新部署就可以访问了。部署好,你 可以看到cloudflare提供的域名,点这个域名就可以访问你的图床了,当然你也可以绑定自己的域名进行访问。

到这里图床部署成功了,接着对接Hugging Face。

访问你的网盘地址,进入网盘

第一次登录会提示创建索引什么的忽略它就好。

到这里你需要先去登录Hugging Face 创建token

配置 HuggingFace 说明

在管理后台的 HuggingFace 渠道配置中填入:

  • 渠道名称:自定义名称
  • Token:HuggingFace Access Token(进入这个网址 https://huggingface.co/settings/tokens 获取,具体看下图)
  • Repo:仓库名称(格式:username/repo-name,用户名须填写正确,仓库名随意,会自动创建 dataset 类型仓库)
  • Is Private:是否为私有仓库

提示

HuggingFace 渠道支持大文件直传,适合上传超过 20MB 的文件。对于大文件,系统会自动使用 LFS 协议进行分片上传。

这里的名称可以随意填写

把这个复制了去图床上接着设置

渠道名称可以随意写,仓库名就是Hugging Face的用户名,/下面的也可以随意填写。然后确认添加就可以了。

这样Hugging Face就对接好了,上传文件就可以了,当然还可以对接更多渠道,图床的更多功能就自己研究下。写个教程花了我好几个小时。对了,图床也可以设置上传密码和后台登录账号密码,自己设置下就好。

赞(2) 打赏
未经允许不得转载:小舅子Blog » 写个部署CloudFlare ImgBed三月图床教程

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下小舅子

非常感谢你的打赏,小舅子将继续努力提供更多优质内容。

支付宝扫一扫

微信扫一扫

登录

找回密码

注册