一个基于 Cloudflare 平台构建的 Memos 应用,提供轻量级的笔记和备忘录功能。
- 后端架构: Cloudflare Workers + D1 + R2
- 前端部署: Cloudflare Pages
- 版本兼容: 基于 Memos 经典版本 0.18.1
- API 兼容: 遵循 0.18.1 API 规范并稍作调整
- 完整的 Memos 核心功能
- 笔记创建、编辑、删除
- 标签管理
- 搜索功能
- S3 存储: 使用 Cloudflare R2 替代
- 上传限制: 硬编码为 32MB
- 自动备份: 移除此功能设置
- Node.js 20 或更高版本
- Wrangler CLI
- Cloudflare 账号
- Git
git clone https://github.com/jkjoy/cfmemos.git
cd cfmemos/backendnpm installwrangler loginwrangler d1 create memos_db记录下生成的 database id,并更新 wrangler.toml 文件中的 database_id 配置。
# 方式一:使用 npm 脚本
npm run db:init
# 方式二:直接执行 SQL 文件
wrangler d1 execute memos_db --file=./schema.sqlwrangler r2 bucket create memoswrangler deploy💡 提示:如果只需要 API 功能,部署到此步骤即可完成。API 文档可参考官方 Memos API 文档,基本保持一致。
cd ../frontendnpm installnpm run buildwrangler pages deploy dist --project-name=memos-frontend部署成功后,在 Cloudflare Pages 项目中:
- 找到
memos-frontend项目 - 进入「设置」→「绑定」
- 确认环境变量配置:
- 变量名:
BACKEND - 值:
memos-api
- 变量名:
API 接口遵循 Memos 0.18.1 版本规范,具体接口文档可参考:
- 使用 Cloudflare D1 作为数据库
- 自动初始化表结构
- 使用 Cloudflare R2 作为文件存储
- 支持最大 32MB 文件上传
欢迎提交 Issue 和 Pull Request 来改进这个项目!
本项目基于 MIT 许可证开源。