在自媒体创作、博客写作或日常分享中,图片存储一直是个痛点:

  • 免费图床不稳定,随时可能“跑路”或挂掉?

  • 商业云存储(如阿里云OSS、AWS S3)流量费贵,超出预算心疼?

  • 本地存图虽然安全,但外网访问慢,插入文章加载延迟高?

目前我用的博客图片是Halo链接minio进行图片存储,但是minion在2025年4月以后的社区版中没有控制面板了,就很难用了,并且官方也已经放弃了这个项目,所以今天这个项目可以解决图片存储的问题。


🌟 一、项目基本介绍

Cloudflare-Imgbed 是一款开源的图床管理系统(项目参考:https://cfbed.sanyue.de),它的核心架构非常巧妙:前端和管理端部署在任意地方(如群晖Docker),而图片实际存储在 Cloudflare R2 对象存储中,并通过 Cloudflare CDN 进行全球分发;当然这是其中一种,还有就是自己直接docker部署,把图片存在Nas的文件夹中。

🔹 核心亮点:

  • 💰 极致低成本:利用 Cloudflare R2 的免费额度(每月10GB存储 + 1000万次读取),个人用户基本完全免费。

  • 🚀 全球加速:依托 Cloudflare 庞大的 CDN 网络,图片加载速度飞快,无论国内国外。

  • 🔒 数据安全:数据掌握在自己手中(R2 Bucket),管理端私有化部署,无第三方窥探。

  • 🎨 功能丰富:支持多图上传、拖拽上传、Markdown/HTML链接一键复制、图片管理(删除、重命名)、API接口。

  • 🛡️ 抗攻击能力强:天然享有 Cloudflare 的 DDoS 防护能力,不用担心被恶意刷流量。

  • 🔗 自定义域名:支持绑定自己的域名,打造专业品牌形象。

💡 适用场景:博客/公众号配图、论坛头像/签名图、电商产品图床、个人相册备份、开发资源托管。


🖼️ 二、界面展示

部署成功后,Cloudflare-Imgbed 的界面简洁现代,操作逻辑符合直觉,用户体验极佳。

📺 主界面功能:

  • 上传区域:巨大的拖拽上传框,支持点击选择或直接拖入文件,支持批量上传。

  • 图片列表:以瀑布流形式展示已上传图片,显示缩略图、文件名、大小、上传时间。

  • 快捷操作:鼠标悬停即可看到“复制链接”、“查看大图”、“删除”等按钮。

📋 链接获取:

  • 点击任意图片,弹出详情窗口。

  • 提供多种格式链接一键复制:

    • 直接链接 (.jpg/.png)

    • Markdown 格式 (![alt](url))

    • HTML 代码 (<img src="...">)

    • BBCode 格式 (论坛常用)

  • 支持生成短链接(需配置短链服务,可选)。

⚙️ 管理后台(Docker部署不用这个):

  • 设置中心:配置 R2 密钥、Bucket名称、自定义域名、上传限制(大小、类型)。

  • 用户管理:支持多用户模式(若开启),分配不同权限。

  • 统计信息:查看存储空间使用情况、今日上传量等(依赖R2 API)。

💡 界面响应式设计,在手机端也能轻松管理图片,随时随地上传分享。


⚙️ 三、部署流程(群晖DSM + Docker 或 Cloudflare)

本方案分为两部分:Cloudflare端配置群晖端部署。Cloudflare配置可根据官方文档自行配置,数据量不大的话每月的额度应该够用,但是因为在国外时不时会抽风,我主要还是使用Nas部署,并且图片会存在Nas上,所以没有配置Cloudflare相关的,我这里仅使用Docker在群晖存储,不涉及cloudflare

前提准备

配置文件wrangler.toml


name = "cloudflare-imgbed"
compatibility_date = "2026-03-02"

# 如果需要设置环境变量,可以在这里添加
[vars]
AUTH_CODE = "你的访问密码"
# TG_BOT_TOKEN = "your_bot_token"
# TG_CHAT_ID = "your_chat_id"

✅ 第一步:群晖端创建文件夹

  1. 打开群晖 File Station

  2. docker 共享文件夹下新建 imgbed 文件夹。

  3. 在其内部新建 data(存放配置和数据库)子文件夹。

    • 数据持久化:/volume1/docker/imgbed/data:/app/data

    • 配置文件:/volume1/docker/imgbed/wrangler.toml:/app/wrangler.toml

✅ 第二步:拉取镜像

  1. 打开 Container Manager映像新增

  2. 输入镜像地址:moeor/cloudflare-imgbed (这是常用维护版本,具体请参考项目文档)。

    • 若拉取失败,请配置国内镜像加速。

  3. 下载完成后,双击镜像点击 启动

    image.png

✅ 第三步:配置容器

  1. 常规设置

    • 容器名称:cloudflare-imgbed

    • 勾选 启用自动重新启动

  2. 端口设置

    • 本地端口:自定义(如 10086)。

    • 容器端口:8080 (根据镜像文档确认,通常为8080)。

  3. 存储空间设置:映射data文件夹和wrangler.toml 配置文件

  4. 点击 下一步完成 启动容器。

✅ 第五步:初始化与使用

  1. 浏览器访问 http://群晖IP:10086

  2. 进入使用管理员账号密码登陆。

  3. 尝试上传一张图片,复制链接,在浏览器新标签页打开,验证是否成功。

image-mdeu.png

四、使用配置

1、登陆页面:根据在配置文件中配置的authcode登陆即可

2、默认界面:登陆成功后默认就是上传界面了,可以直接上传一张图片

3、配置自定义链接前缀

4、文件管理:支持对文件的删除、移动、下载、复制等

image-di2p.png

5、系统状态查看

image-lhd2.png

6、上传设置:可以配置不同的存储渠道

image-vt8t.png

7、安全设置:可以设置上传密码、管理端密码、APIToken等,也支持图片审查、访问管理等

8、网页设置,支持对页面上的内容进行自定义编辑

⚠️ 五、注意事项

📌 1. 费用控制(如果用了cloudFlare)

  • Cloudflare R2 免费额度:每月10GB存储 + 1000万次读取操作。

  • 注意:超过免费额度后会按量计费(虽然很便宜,但需留意)。

  • 若图片访问量巨大,可开启 Cloudflare 缓存规则,减少回源读取次数。

📌 2. 国内访问速度(如果用了cloudFlare)

  • Cloudflare 在国内部分地区访问速度可能不稳定(有时会被干扰)。

  • 优化方案

    • 开启 Cloudflare 的 Auto MinifyBrotli 压缩。

    • 配合国内 CDN 做二次加速(进阶玩法)。

    • 或者仅作为备份,主要流量走其他国内图床。

📌 3. 数据安全

  • 妥善保管 API Token,不要泄露。

  • 定期备份 data 目录中的数据库文件,以防配置丢失。

  • 建议开启后台管理界面的访问密码保护,防止未授权操作。

📌 4. 图片合规

  • 严禁上传违法违规内容(色情、暴力、政治敏感等),否则可能导致 Cloudflare 封禁账户。

  • 请遵守当地法律法规,文明使用。

📌 5. 镜像选择

  • 该项目有多个分支和镜像版本,部署前请仔细阅读对应镜像的 README 文档,确认环境变量名称和端口。


🎯 六、总结

通过 群晖NAS + Cloudflare-Imgbed 的组合,部署出来的图床相比minio来说更加简单了,并且界面交互友好,上传快捷方便,不再担心图片链接失效,真正实现了“我的图片我做主”。