用HuggingFace搭建100G超大图床
今天要分享一个超级实用的黑科技教程——如何利用 HuggingFace 免费搭建一个 100G 的图床和网盘,而且全程无需实名认证,操作简单,小白也能轻松上手!
这个项目其实是一个开源的“宝藏”,名字叫 CloudFlare-ImgBed,是一个基于 Cloudflare Pages 打造的文件托管平台。它不仅完全免费,还非常稳定高效,目前在 GitHub 上已经收获了超过 4k 的 star,热度非常高!项目的作者是 MarSeventh 大佬,不得不说,这个设计真的很良心。
它支持多种存储方式,配置灵活,可以满足不同场景下的需求。无论是做图床、分享文件,还是搭建个人小网盘,都非常方便。话不多说,咱们直接进入正题,开搞!
项目预览
官方文档:https://cfbed.sanyue.de/
演示站点:https://cfbed.1314883.xyz/ 访问密码:cfbed
我自己搭建的实例:https://imgbed.202090.xyz/
前台界面
后台界面

技术架构
采用了前后端分离的架构:
- 前端:基于 Vue.js 开发,界面响应式,用起来很流畅。
- 后端:跑在 Cloudflare Workers 上,无服务器架构,省心又省钱。
- 存储层:支持多种存储后端,包括 Telegram、R2、S3、Discard,以及我们今天要用到的 HuggingFace。
- 元数据管理:统一通过 Cloudflare KV 进行管理,数据清晰又高效。
简单来说,就是通过 Cloudflare 的强大边缘网络,把 HuggingFace 的 100G 免费存储空间利用起来,变成一个私人的图床或网盘。
项目部署
作者提供了两种部署方式:一种是 Cloudflare Pages 托管(推荐,免费),另一种是 Docker 部署(适合有服务器的朋友),本博客仅展示 Cloudflare Pages 托管方式。
首先 fork 源码仓库:https://github.com/MarSeventh/CloudFlare-ImgBed 到自己的 GitHub 。如果有更新就可以直接将更新的立马部署到 Cloudflare Pages 上。
1、在控制面板找到【计算和AI】然后点击【Worker and Pages】在页面的右上角点击【创建应用程序】,然后点击下面的想要部署 Pages?的【开始按钮】。如下图

2、在 “导入现有 Git 存储库” 处点击 “开始使用”

3、选择【CloudFlare-ImgBed】项目,然后点击【开始设置】按钮

4、项目名称自定义,然后构建命令填入: npm install ,其他默认,点击【保存并部署】

5、配置数据库
数据库用于存储文件元数据,是必需的组件,可选数据库为 KV 数据库和 D1 数据库。两者对比如下表所示,根据自己使用场景从其中选择一种配置即可。
重要提示:KV 数据库和 D1 数据库只需要配置其中一个即可,不需要同时配置两个!建议根据下表选择适合自己的数据库类型。
| 特点 | KV 数据库 | D1 数据库 |
|---|---|---|
| 读写性能 | 高 | 较低 |
| 免费额度 | 少 | 多 |
在【存储和数据库】->【workers KV】添加KV数据库,KV名称填写 img_url

如果要使用D1数据库,就在【存储和数据库】->【D1 SQL数据库】,点击右上角的【创建数据库实例】,这里就不做详细说明了。
6、将数据库绑定到项目上。
在Workers and Pages中点击刚刚部署好的项目,在面板中找到【设置】选项,点击绑定按钮,添加绑定KV数据库的信息如下。点击保存以后,项目会重新部署。
- 变量名称:
img_url - KV命名空间:
img_url

7、重新部署以后,就可以使用CloudFlare分配的域名访问了,当然建议绑定自己的域名

HuggingFace注册
官方地址:https://huggingface.co
HuggingFace 渠道支持大文件直传,适合上传超过 20MB 的文件。对于大文件,系统会自动使用 LFS 协议进行分片上传。
1、注册登陆后,在控制面板新建一个新空间,空间名字自定义。
Select the Space SDK 选择 docker 的空项目或者是其他

Space hardware选择FREE版本不要钱的。空间的可见性也是根据你自己的意向选择就好了
然后点击下面的【Create Space 】按钮

2、创建 HuggingFace Access Token,在【Setting】中的【Access Tokens】中点击【Create New Token】就行了,token的名称自定义,然后勾选仓库的读写权限,如下。

存储配置
1、进入CloudFlare-ImgBed系统后台,在系统设置中,点击【系统设置】->在【上传设置】中添加上传渠道。如下

2、添加一个HF存储的渠道方式,渠道名称自定义,然后仓库名称一定是 用户名/仓库名 的格式,然后填入上面申请的Acess Token信息。点击保存就行了。

3、在系统设置中,点击【系统设置】->【页面设置】中去配置默认上传渠道信息和其他的配置就行了,如下。

你也可以增加其他的上传渠道,还可以开启负载均衡!
总结
这个方案是不是超级香?不需要实名认证,访问速度还杠杠的,最关键的是——完全免费!100G 的 HuggingFace 空间,加上 Cloudflare 的全球加速,无论是放博客图片、分享文件,还是当个人网盘,都绰绰有余。
而且全程无需自己买服务器、不用装任何客户端,只要有个 GitHub 账号和 Cloudflare 账号就能搞定。还要什么自行车?赶紧去搭建一个吧!