// the find
ifindev/fullstack-next-cloudflare
🚀 Full-stack Next.js 15 + Cloudflare Workers template with D1 database, R2 storage, Better Auth, and Server Actions. Production-ready with automated CI/CD and generous free tiers.
A starter template for running Next.js 15 on Cloudflare Workers with D1 (SQLite at the edge), R2 storage, and Better Auth with Google OAuth. Targets developers who want to stay on the Cloudflare free tier for MVPs and side projects without managing a separate database service.
D1 + Drizzle integration is wired up properly with separate local/prod configs and a migration workflow that actually makes sense for the edge runtime. The module-sliced directory structure (each feature owns its actions, components, schemas) is a sensible default that doesn't collapse into a god-level components/ folder. GitHub Actions CI/CD with preview deployments is included and not an afterthought — secrets, migration steps, and deploy targets are all accounted for. Better Auth is a better choice than Auth.js here; it avoids the adapter hell that plagues Next.js auth setups.
D1 is still SQLite with all its limitations: no concurrent writes, no foreign key enforcement by default, and Cloudflare's replication model means you can read stale data across regions — none of this is mentioned. The R2 setup docs spend two pages on the public dev URL and bury the fact that you need a custom domain in production behind a warning emoji. The demo app is a todo list, which tells you nothing about how the stack handles anything real like pagination, background jobs, or rate limiting. Workers AI is listed as a feature but the only included model is llama-3.2-1b, which is barely useful for anything beyond toy summarization.