Payload CMS 3 与 Next.js App Router 集成,前后端共用 TypeScript 类型
Payload-CMS-3-Nextjs16-Turso-Cloudflare-R2 — Next.js 启动器模板
作者 Lostovayne
基于 Payload CMS 3 与 Next.js App Router 的全栈 TypeScript 启动模板,集成 Turso 数据库与 Cloudflare R2 存储,并附带 Docker 与 GitHub Actions 配置。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 2
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
Turso(libSQL)作为数据库,Cloudflare R2 作为 S3 兼容文件存储
内置 Users 认证集合与 Media 上传集合,支持 JWT 登录
自动生成 REST 与 GraphQL 接口,并提供 Lexical 富文本编辑器
包含多阶段 Docker 构建与 GitHub Actions CI/CD 工作流
配置 Vitest 集成测试与 Playwright 端到端测试
模板详细介绍
这是一个面向全栈开发的启动模板,将 Payload CMS 3 作为无头内容管理系统嵌入 Next.js App Router 项目,前后端共用同一套 TypeScript 代码库。数据层使用 Turso(libSQL)作为 SQLite 兼容数据库,文件上传通过 Cloudflare R2 的 S3 兼容接口存储。模板内置 Users 与 Media 两个集合,提供 JWT 用户认证、Lexical 富文本编辑器,以及自动生成的 REST 与 GraphQL 接口。
工程化方面,仓库包含多阶段 Docker 构建、GitHub Actions 工作流、Prettier 格式化、依赖自动更新,以及 Vitest 集成测试与 Playwright 端到端测试的配置。项目结构区分公开前端与 Payload 管理面板,并附带快速开始、开发、架构、命令和 CI/CD 等文档。
使用前需要自行准备 Turso 数据库与 Cloudflare R2 存储桶,并在 .env 中配置密钥;模板本身不包含这些外部服务,也不代表已具备生产环境所需的全部配置。
适合你的项目吗?
适用场景
- 需要快速搭建带管理后台的内容型网站或应用
- 希望以 Turso 作为边缘 SQLite 数据库的全栈项目
- 使用 Cloudflare R2 存储媒体文件并需要 S3 兼容接口
- 需要 Docker 镜像与 GitHub Actions 自动化流程的团队
- 想参考 Payload CMS 与 Next.js App Router 的整合方式
适合人群
- 熟悉 TypeScript 与 Next.js 的全栈开发者
- 需要无头 CMS 管理后台的内容项目
- 计划部署到 Vercel、Docker 或 Railway/Render/Fly.io 的团队
- 希望以 MIT 许可代码为基础二次开发的开发者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
通过 GitHub 的 Use this template 创建仓库,或克隆后修改 origin 地址
- 2
复制 .env.example 为 .env,并填入 PAYLOAD_SECRET、Turso 与 R2 相关凭据
- 3
使用 pnpm install 安装依赖,pnpm dev 启动开发服务器
- 4
首次访问 /admin 时创建管理员用户
- 5
Turso 数据库与 Cloudflare R2 存储桶需自行创建,外部服务可能产生费用
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 使用前必须自行创建并配置 Turso 数据库,需提供 TURSO_DATABASE_URL 与 TURSO_AUTH_TOKEN,属于外部服务依赖。
- 文件上传依赖 Cloudflare R2 存储桶,需自行创建并提供 R2_BUCKET_NAME、R2_ACCESS_KEY_ID、R2_SECRET_ACCESS_KEY 与 R2_ENDPOINT。
- 运行前必须复制 .env.example 为 .env 并填入 Payload、Turso 与 R2 凭据,否则无法正常启动。
- 首次访问 /admin 需手动创建管理员用户,模板不预置任何账号。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
Turso database URL
README 原文
Cloudflare R2 bucket name
README 原文
Edit .env with your credentials
README 原文
https://github.com/Lostovayne/Payload-CMS-3-Nextjs16-Turso-Cloudflare-R2/blob/main/LICENSEhttps://github.com/Lostovayne/Payload-CMS-3-Nextjs16-Turso-Cloudflare-R2/blob/main/README.mdcreate your admin user on first visit
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-04。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 87 / 100
- 技术栈
- Next.js · React
- 网站类型
- 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-09-24
- 截图检查日期
- 2026-10-04
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-04
查看当时使用的来源资料
SHA-256: 9ea076a427fb0d917b31a81c15b07c4e77f018ecfc81f4e6d7ee39dde9b749c3
2026-10-04T00:19:23.148Z
来源文件 / 仓库<a href="https://github.com/Gentleman-Programming/gentle-ai"> <img width="220" src="https://raw.githubusercontent.com/Gentleman-Programming/gentle-ai/main/docs/assets/brand/built-with-gentle-ai.png" alt="Built with Gentle-AI" /> </a> --- ## 🚀 Use This Template Click the **"Use this template"** button on GitHub (not git clone) to create your own repository instantly: 1. Go to [github.com/Lostovayne/Payload-CMS-3-Nextjs16-Turso-Cloudflare-R2](https://github.com/Lostovayne/Payload-CMS-3-Nextjs16-Turso-Cloudflare-R2) 2. Click **"Use this template"** → **"Create a new repository"** 3. Name your project and click **Create** 4. Clone your new repo and start coding: ```bash git clone https://github.com/YOUR-USERNAME/YOUR-REPO.git cd YOUR-REPO pnpm install ``` > **Prefer cloning?** Run these commands instead: > ```bash > git clone https://github.com/Lostovayne/Payload-CMS-3-Nextjs16-Turso-Cloudflare-R2.git > cd Payload-CMS-3-Nextjs16-Turso-Cloudflare-R2 > git remote set-url origin https://github.com/YOUR-USERNAME/YOUR-REPO.git > pnpm install > ``` --- ## ⚡ Quick Start ```bash # 1. Configure environment cp .env.example .env # Edit .env with your credentials # 2. Start development pnpm dev ``` Open `http://localhost:3000/admin` — create your admin user on first visit. ### Environment Variables | Variable | Description | How to get | |---|---|---| | `PAYLOAD_SECRET` | Encryption key (min 32 chars) | `openssl rand -base64 32` | | `TURSO_DATABASE_URL` | Turso database URL | `turso db show <db> --url` | | `TURSO_AUTH_TOKEN` | Turso auth token | `turso db tokens create <db>` | | `R2_BUCKET_NAME` | Cloudflare R2 bucket name | Cloudflare Dashboard > R2 | | `R2_ACCESS_KEY_ID` | R2 API access key | Manage R2 API Tokens | | `R2_SECRET_ACCESS_KEY` | R2 API secret key | Shown once on creation | | `R2_ENDPOINT` | R2 endpoint URL | `https://<account-id>.r2.cloudflarestorage.com` | See [docs/QUICKSTART.md](./docs/QUICKSTART.md) for step-by-step setup with Turso CLI and Cloudflare Dashboard. --- ## ✨ Features - **Payload CMS 3.80.0** — Headless CMS with full admin panel - **Next.js 16 App Router** — React 19 with server components - **Turso** — Edge SQLite database with global replication - **Cloudflare R2** — S3-compatible storage (zero egress fees) - **Lexical Editor** — Rich text editing - **JWT Authentication** — Built-in user management - **REST + GraphQL** — Auto-generated API endpoints - **TypeScript** — End-to-end type safety - **Docker** — Multi-stage optimized build - **CI/CD** — GitHub Actions, auto-format, security audit - **Testing** — Vitest (integration) + Playwright (E2E) --- ## 🛠 Tech Stack | Technology | Version | Purpose | |---|---|---| | Payload CMS | 3.80.0 | Headless CMS | | Next.js | 16.2 | React framework | | React | 19.2.3 | UI library | | TypeScript | 5.9.3 | Type safety | | Turso / libSQL | 0.15.15 | Edge database | | Cloudflare R2 | — | File storage | | Drizzle Kit | 0.31.10 | Database migrations | --- ## 💻 Development ```bash pnpm dev # Start dev server (http://localhost:3000) pnpm devsafe # Start dev server (clean cache) pnpm build # Build for production pnpm lint # Run ESLint pnpm format # Format with Prettier pnpm test # Run all tests pnpm generate:types # Regenerate TypeScript types ``` ### Project Structure ``` src/ ├── app/ │ ├── (frontend)/ # Public frontend │ ├── (payload)/ # Admin panel │ ├── api/health/ # Health check endpoint │ └── my-route/ # Example custom API route ├── collections/ │ ├── Users.ts # User collection with auth │ └── Media.ts # File uploads (stored in R2) ├── payload.config.ts # Central Payload configuration └── payload-types.ts # Auto-generated TypeScript types ``` --- ## 🚀 Deployment | Platform | Guide | |---|---| | **Vercel** (recommended) | [docs/VERCEL.md](./docs/VERCEL.md) | | **Docker** | `docker-compose up -d` | | **Railway / Render / Fly.io** | [docs/DOCKER.md](./docs/DOCKER.md) | See [docs/DOCKER.md](./docs/DOCKER.md) for detailed deployment guides. --- ## 📚 Documentation | Guide | Description | |---|---| | [QUICKSTART.md](./docs/QUICKSTART.md) | Get running in 5 minutes | | [DEVELOPMENT.md](./docs/DEVELOPMENT.md) | Create collections, fields, customize | | [ARCHITECTURE.md](./docs/ARCHITECTURE.md) | Technical architecture | | [COMMANDS.md](./docs/COMMANDS.md) | Complete command reference | | [CI_CD.md](./docs/CI_CD.md) | GitHub Actions and automation | --- ## 🤝 Contributing Contributions are welcome! Read [CONTRIBUTING.md](./CONTRIBUTING.md) first. 1. Fork the repository 2. Create a branch (`git checkout -b feature/my-feature`) 3. Commit (`git commit -m 'feat: add my feature'`) 4. Push (`git push origin feature/my-feature`) 5. Open a Pull Request --- ## 🔒 Security Report vulnerabilities via [SECURITY.md](./SECURITY.md). --- ## 📄 License [MIT](LICENSE)
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

ai-website-cloner-template
Clone any website with one command using AI coding agents
Next.js · 启动器

Next.js SaaS Starter
Next.js SaaS Starter 是 Next.js 官方维护的 SaaS 起点模板,定位介于学习资源和可直接部署的脚手架之间。
Next.js · SaaS

Next.js Commerce
Next.js Commerce 是 Vercel 团队维护的电商启动模板,基于 Next.js App Router 构建,采用服务端渲染、React Server Components、Server Actions …
Next.js · 电商

Next-js-Boilerplate
Next-js-Boilerplate 是一个面向 Next.js 16、Tailwind CSS 4 和 TypeScript 的启动器,核心定位是开发者体验优先。
Next.js · 启动器

tailwind-nextjs-starter-blog
tailwind-nextjs-starter-blog 是一个面向个人技术博客的 Next.js 与 Tailwind CSS 启动模板,其 v2 版本基于 App Router 与 React Server Comp…
Next.js · 博客

next-forge
Production-grade Turborepo template for Next.js apps.
Next.js · 启动器
