🚀 Cloudflare 全栈 SaaS 开发套件
轻松在 Cloudflare 上构建和部署可扩展的产品。
这是一个固执己见的、包含所有必要组件的入门套件,用于在 Cloudflare 上快速构建和部署 SaaS 产品。
这是我用来构建 Supermemory.ai 的相同技术栈,其源代码开放在 git.new/memory
技术栈包括:
- Turborepo 用于 monorepo 管理
- Next.js 用于前端开发
- TailwindCSS 用于样式设计
- Drizzle ORM 用于数据库访问
- NextAuth 用于身份认证
- Cloudflare D1 用于无服务器数据库
- Cloudflare Pages 用于托管
- Biome 用于格式化和代码检查
- ShadcnUI 作为组件库
... 同时保持最小化和可组合性。
开始使用
要使用,只需通过运行以下命令克隆此仓库:
-
确保已安装 Wrangler。并且已使用
wrangler login
登录(您需要一个 Cloudflare 账户) -
运行以下命令:
git clone https://github.com/Dhravya/cloudflare-saas-stack
cd cloudflare-saas-stack
npm i -g bun
bun install
bun run setup
就这样。您已准备就绪!下次,您只需运行 bun run dev
即可开始开发。
准备部署时,运行 bun run deploy
即可部署到 Cloudflare。
如果失败,请按照这些步骤获取您的账户 ID,并将
CLOUDFLARE_ACCOUNT_ID
环境变量设置为您的账户 ID。详情请参见此问题。
手动设置
我们提供了自动设置脚本,但您也可以手动设置以下内容:
- 创建 Cloudflare 账户并安装 Wrangler CLI。
- 在 Cloudflare 仪表板的"Workers and Pages"下创建 D1 数据库,或运行
bunx wrangler d1 create ${dbName}
- 在
apps/web
中创建一个.dev.vars
文件,内容如下(从 Google 开发者控制台获取这些信息):
GOOGLE_CLIENT_ID=${your-google-client-id}
GOOGLE_CLIENT_SECRET=${your-google-client-secret}
NEXTAUTH_SECRET=${your-secret}
- 在
apps/web
中,运行此命令以进行迁移,设置数据库身份验证:bunx wrangler d1 execute ${dbName} --local --file=migrations/0000_setup.sql
。这将创建数据库的本地版本并创建适当的表。 - 为生产数据库运行远程迁移 - 相同的命令,但将
--local
替换为--remote
:bunx wrangler d1 execute ${dbName} --remote --file=migrations/0000_setup.sql
- 运行
bun run dev
启动开发服务器。 - 运行
bun run deploy
部署到 Cloudflare。
这个技术栈的优点
它完全可扩展和可组合。 想添加一个后端 hono worker 或 Python 后端?当然可以!只需将其放入 monorepo 并部署即可。
没有环境变量。 想使用数据库?只需 env.DB。想要一个键值实例?env.KV。想要一个队列?env.Queue。
想要 AI?env.AI
工具非常出色。有 wrangler - 您可以使用 wrangler 创建/删除数据库、运行迁移等各种操作。
获得大量流量?我也是。我每月只需支付 5 美元,就可以同时托管所有项目。(参见 https://supermemory.ai、https://md.dhr.wtf 等)