payload-cms
Payload 3 and Next.js website starter with a layout builder, live preview, SEO tools and Postgres
Payload starter with Puck visual page editing, a page tree and Better Auth sign-in on Next.js and Postgres
Sets up a Payload 3 site on Next.js with the Puck drag-and-drop page builder, a hierarchical page tree with auto-generated slugs, and Better Auth for authentication. It uses PostgreSQL via Vercel Postgres and Vercel Blob storage, with Tailwind CSS v4 styling. Requires Node.js 20+, pnpm and a Postgres database, with secrets for Payload and Better Auth.
Delmare Digital starter template for Payload CMS
This repository is a GitHub template: create your own copy of it in one click.
Create a repository from this templateA modern Payload CMS starter template featuring visual page editing, hierarchical content management, and enhanced authentication. Built and maintained by Delmare Digital.
This template serves as a working demonstration of the @delmaredigital plugin ecosystem for Payload CMS.
Visual page builder powered by Puck. Create pages with a drag-and-drop interface instead of traditional block-based editing.
Hierarchical content organization with automatic slug generation.
Enhanced authentication using Better Auth.
cp .env.example .env.local
pnpm install
pnpm dev
The database schema is automatically synced in development mode (push mode).Required:
POSTGRES_URL - PostgreSQL connection stringPAYLOAD_SECRET - Secret for JWT signing (min 32 chars)BETTER_AUTH_SECRET - Secret for Better Auth (min 32 chars)Optional:
BLOB_READ_WRITE_TOKEN - Vercel Blob storage tokenPUCK_API_KEY - For Puck AI page generation (from puckeditor.com)src/
├── app/(frontend)/ # Next.js frontend routes
├── app/(payload)/ # Payload admin routes
├── collections/ # Payload collections (Posts, Media, Users)
├── components/ # React components
├── lib/
│ ├── auth/ # Better Auth configuration
│ └── puck/ # Puck layouts and options
├── puck/ # Puck editor configuration
└── plugins/ # Payload plugin configuration
/admin/page-treeThe Page Tree view (/admin/page-tree) provides a visual interface for organizing your content. Drag pages to reorder or nest them within folders.
Better Auth handles sign-in; Payload's admin panel manages users. Public sign-up is enabled, so the role model is deliberately strict:
| Role | Admin panel | Author content (pages, posts, media, globals, redirects, templates, folders) | Read published content |
|---|---|---|---|
admin | yes | yes | yes |
user | no | no | yes |
| anonymous | no | no | yes |
The first account created becomes admin; every later sign-up is a user and cannot set its own role. Drafts, version history, the Page Tree endpoints, the job runner and draft preview are all admin-only. The access helpers live in src/access/ and the integration tests in tests/int/cms-access.int.spec.ts pin this matrix.
# Start dev server
pnpm dev
# Type check + lint
pnpm check
# Integration tests (needs POSTGRES_URL; CI runs them against a Postgres service)
pnpm test:int
# Build for production
pnpm build
# Run production build
pnpm start
This template is ready to deploy to Vercel:
pnpm run ciThe ci script runs migrations before building, which is required for production deployments.
The project uses push mode in development, which automatically syncs schema changes.
For production, migrations are created once and included in the repository. If you make schema changes:
# Create a new migration
pnpm payload migrate:create
MIT
Built by Delmare Digital
Payload 3 and Next.js website starter with a layout builder, live preview, SEO tools and Postgres
Next.js website template with a layout builder, blog, search, SEO and live preview on Postgres

Block-based website builder on Payload 3.0 with Next.js, Tailwind CSS and the form builder plugin