Monolith — 一套跑在 Cloudflare 免费套餐上的高质感博客系统
[开源] Monolith — 一套跑在 Cloudflare 免费套餐上的高质感博客系统
纯 Cloudflare 全家桶(Workers + Pages + D1 + R2),零服务器成本运行一个带后台管理的完整博客,全球 CDN 加速,延迟 < 50ms。
在线预览:https://monolith-client.pages.dev
GitHub 仓库:https://github.com/one-ea/Monolith
协议:MIT
🤔 为什么又造了一个博客?
市面上的博客方案要么需要 VPS(Typecho、WordPress),要么只能生成静态页(Hexo、Hugo)没有后台管理,要么太重了(Notion API + Next.js)。
我就想要一个:
- ❌ 不需要服务器 — 不想维护 VPS
- ✅ 有完整后台 — 在线写文章、传图片、管评论
- ✅ 跑在免费套餐上 — Cloudflare 的免费额度完全够个人博客
- ✅ 好看 — 不是那种一眼就能看出是模板站的东西
所以就有了 Monolith。
✨ 有什么?
前台
- 💎 深色主题 + 玻璃拟态,不是随便套了个 CSS 框架的感觉
- 📝 Markdown 渲染(代码高亮 + 一键复制 + 目录 TOC + 阅读进度条)
- 🔍 全站搜索(Ctrl+K / ⌘K 弹窗式搜索)
- 📊 14 天访问趋势折线图(纯 SVG,零依赖)
- 💬 评论系统(Honeypot 反垃圾 + 人工审核)
- 📰 RSS 2.0 订阅 + sitemap.xml + robots.txt
- 📱 完全响应式,手机端体验也不错
后台
- 📊 仪表盘(文章统计 / 浏览量 / 热门排行)
- ✏️ Markdown 编辑器 + 实时预览
- 🖼️ 媒体库(图片上传到 R2,一键复制链接)
- ⚙️ 站点设置(名称 / 描述 / 社交链接)
- 💾 数据备份(JSON 导出 / R2 云端备份 / WebDAV 同步 / 备份恢复)
- 📄 独立页管理(关于页、自定义页面等)
- 💬 评论管理(审核 / 删除)
技术向
- 前端:Vite + React 19 + TypeScript(SPA,构建产物 ~187KB gzip)
- 后端:Hono + Cloudflare Workers(边缘计算,无冷启动)
- 数据库:默认 Cloudflare D1(还支持 Turso / PostgreSQL,环境变量一切)
- 存储:默认 Cloudflare R2(还支持 AWS S3 / B2 / 阿里 OSS / 腾讯 COS)
- 代理:前端内置 Pages Functions 反向代理,零跨域问题
💰 成本?
| 资源 | 免费额度 | 个人博客实际用量 |
|---|---|---|
| Workers 请求 | 10 万次/天 | 远远用不完 |
| D1 数据库 | 5GB 存储 + 500 万行读/天 | 几百篇文章才几 MB |
| R2 存储 | 10GB + 100 万 Class B 操作/月 | 存图片绰绰有余 |
| Pages | 500 次构建/月 + 无限带宽 | 完全够 |
结论:个人使用 100% 免费。
🚀 部署有多快?
1 | # 1. 克隆 |
从 clone 到上线,大概 5 分钟。
🔌 可扩展性
不想用 Cloudflare? 存储层是适配器模式,环境变量切一下就行:
1 | # wrangler.toml |
| 数据库 | 对象存储 |
|---|---|
| Cloudflare D1(默认) | Cloudflare R2(默认) |
| Turso(LibSQL) | AWS S3 |
| PostgreSQL | Backblaze B2 |
| — | 阿里云 OSS |
| — | 腾讯云 COS |
📚 文档
Wiki 写得比较详细:https://github.com/one-ea/Monolith/wiki
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Jason Blog!
