Next.jsReact启动器

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 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-04查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

Payload CMS 3 与 Next.js App Router 集成,前后端共用 TypeScript 类型

02

Turso(libSQL)作为数据库,Cloudflare R2 作为 S3 兼容文件存储

03

内置 Users 认证集合与 Media 上传集合,支持 JWT 登录

04

自动生成 REST 与 GraphQL 接口,并提供 Lexical 富文本编辑器

05

包含多阶段 Docker 构建与 GitHub Actions CI/CD 工作流

06

配置 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 中配置密钥;模板本身不包含这些外部服务,也不代表已具备生产环境所需的全部配置。

Next.js启动器

适合你的项目吗?

适用场景

  • 需要快速搭建带管理后台的内容型网站或应用
  • 希望以 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. 1

    通过 GitHub 的 Use this template 创建仓库,或克隆后修改 origin 地址

  2. 2

    复制 .env.example 为 .env,并填入 PAYLOAD_SECRET、Turso 与 R2 相关凭据

  3. 3

    使用 pnpm install 安装依赖,pnpm dev 启动开发服务器

  4. 4

    首次访问 /admin 时创建管理员用户

  5. 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 等外部服务可能另外收费。
查看原文依据

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)
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。