自用的全栈博客/管理系统,基于 Cloudflare 基础设施。
- 后端 (Backend): Hono + Drizzle ORM + Cloudflare D1 (Database) + Cloudflare Workers(serverless)
- 前端 (Frontend): React + Vite + Shadcn UI + Cloudflare Pages
- 部署: Cloudflare 全家桶 (Workers + D1 + Pages + R2)
- 进入目录:
cd backend - 安装依赖:
pnpm install - 数据库准备:
- 创建 D1:
pnpm wrangler d1 create my-api-db - 配置: 将返回的
database_id填入wrangler.toml。 - 迁移:
pnpm run migrate:remote(线上) 或pnpm run migrate:local(本地)。
- 创建 D1:
- 日志查看:
- 生产环境:
pnpm run logs - 开发环境:
pnpm run logs:dev
- 生产环境:
- 设置密钥 (Secrets):
npx wrangler secret put JWT_SECRET
- 部署:
pnpm run deploy - 初始化管理员:
本系统采用“首位注册提权”机制。部署完成后,直接访问
POST /api/v1/auth/register进行注册。若数据库用户为空,首个注册者将自动获得admin权限。
- 进入目录:
cd frontend - 安装依赖:
pnpm install - 本地开发:
pnpm run dev - 部署: 推荐直接关联 GitHub 仓库部署到 Cloudflare Pages。
JWT_SECRET: 必须,用于身份验证。ALLOWED_ORIGINS: 允许的跨域来源。