基于 Cloudflare 全家桶构建的现代化博客系统
A modern, serverless blog system built entirely on Cloudflare's ecosystem
这是一个完全运行在 Cloudflare 生态上的开源博客程序,使用 Pages、Workers、D1 等服务实现,依托 Cloudflare 慷慨的免费额度即可稳定运行。 没有复杂环境、无需服务器、低成本、高可用、全球极速访问。 适合想零成本拥有独立博客,又不想折腾主机、运维的用户。
A clean, full-featured blog platform powered by Cloudflare Pages, Workers, and D1 Database. Runs completely free on Cloudflare's generous free tier, with global edge acceleration, zero server maintenance, and no hosting costs.
- 纯 Cloudflare 原生架构,免费额度就能跑满性能
- 全球边缘节点加速,访问速度快、稳定性强
- 无需数据库服务器、无需域名备案、无需运维
- 界面简洁,文章管理方便,适合长期使用
- 文章管理 - Markdown 文章发布、编辑、分类、标签
- 评论系统 - 访客评论、回复、审核机制、Turnstile 人机验证、频率限制
- 用户系统 - 注册登录、角色权限(用户/作者/管理员)、找回密码
- 用户文章管理 - 普通用户可发布文章,支持文章审核流程(待审核/已通过/已拒绝)
- 文章审核 - 管理员审核用户文章,编辑历史版本控制,审核通过后才展示
- 邮件服务 - 基于 Resend 的邮件发送,支持邮箱验证、密码修改确认(管理员可开关)
- 后台管理 - 文章、评论、用户、分类、标签、友链、主题、系统设置、文章审核
- 主题系统 - 自定义主题开发、主题上传、主题切换、内置主题(默认/暗色)📖 查看主题开发指南
- 友链管理 - 友链申请、审核、展示、频率限制
- 图片存储 - Cloudflare R2 对象存储
- 响应式设计 - 移动端适配、暗色模式支持
- Next.js 15 (App Router)
- TypeScript
- Tailwind CSS
- Cloudflare Workers (通过 OpenNext)
- Cloudflare D1 (SQLite)
- Cloudflare R2
- Cloudflare KV (缓存)
git clone https://github.com/gogcat/cf-blog.git
cd cf-blog
pnpm installpnpm dev📖 详细部署指南请查看 DEPLOY.md
本项目必须使用本地 wrangler 部署,不支持 Cloudflare Dashboard 的 GitHub 集成。
快速部署命令:
# 构建项目
pnpm run build:workers
# 部署到 Cloudflare Workers
npx wrangler deploy或者使用 npm script:
pnpm deploy| 邮箱 | 密码 |
|---|---|
| admin@example.com | admin123 |
部署后请及时修改密码!
├── migrations/ # 数据库迁移
├── public/ # 静态资源
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── (admin)/ # 后台管理
│ │ ├── (frontend)/ # 前台页面
│ │ └── api/ # API 路由
│ ├── components/ # 组件
│ └── lib/ # 工具函数
├── open-next.config.ts # OpenNext 配置
└── wrangler.jsonc.example # Cloudflare Workers 配置示例
参考 .env.example 配置必要的环境变量。
在 Cloudflare Dashboard 中设置环境变量(Settings > Variables)。
详细配置说明请查看 DEPLOY.md。
如有问题或建议,欢迎通过邮箱联系我们:i@lishiqi.cn
MIT License - see LICENSE file for details.