Payload CMS V3 Website Template
One-click deploy on Railway!
Need help?
Step by step guide and instructions
A powerful, flexible, and production-ready Payload CMS V3 website builder with PostgreSQL database.
This boilerplate is a pre-configured, ready-to-deploy solution for Payload CMS as a website builder. It includes a fully-working backend, enterprise-grade admin panel, and a beautifully designed, production-ready website. This template is optimized for seamless deployment on Railway, and uses PostgreSQL for both local development and production environments.
- Payload CMS:
3.82.1 - Next.js:
16.2.3 - Node.js:
^18.20.2 || >=20.9.0
- Authentication: Robust user authentication system
- Access Control: Role-based access control for admins and users
- Premium Content: Gated content for authenticated users
- Comments: User commenting system with admin approval
- Layout Builder: Flexible content creation with pre-configured blocks
- Draft Preview: Preview unpublished content before going live
- SEO: Built-in SEO optimization tools
- Redirects: Easy management of URL redirects
- PostgreSQL Support: Configured for both local and production use
Use one-click deploy template:
- Clone proejct: (recommeded) Laucnh on Railway and ejct watch how. Alternatively clone this repo or fork it.
- Copy
.env.exampleto.env(fill in your own values..) - Start PostgreSQL:
docker compose up -d postgres - Install dependencies:
pnpm installornpm install - Run development mode:
pnpm devornpm run devor - Build the project:
pnpm buildornpm run build - Start the server:
pnpm startornpm run start
The Playwright suite boots a fresh PostgreSQL container, builds the app from scratch, creates the first admin user through the onboarding UI, seeds the demo content, submits a public comment, approves it in the admin UI, and verifies it appears on the public post page.
Before the first run, make sure Docker Desktop is running. The suite starts a fresh PostgreSQL container automatically. For test determinism, the e2e harness uses bundled local seed images only during the test run. Normal seeding continues to use the hosted seed images.
- Install everything required for e2e:
corepack pnpm e2e:install - Run the suite headlessly:
corepack pnpm test:e2e - Run the suite with a visible browser:
corepack pnpm test:e2e:headed - Run the suite slowly and keep the browser open for manual review:
corepack pnpm test:e2e:manual
What e2e:install does:
- Installs project dependencies
- Rebuilds native dependencies used by the app on Windows, including
sharpandesbuild - Downloads the Chromium browser used by Playwright
If you prefer npm, you can run:
npm run e2e:installnpm run test:e2enpm run test:e2e:headednpm run test:e2e:manual
test:e2e:manual runs the suite in headed mode with a visible slowdown between actions and pauses only at the end of the happy path. While paused, the browser stays open so you can click around and manually inspect seeded content, the admin area, and public pages. When you are done, resume or stop the Playwright session from the inspector/terminal.
- Database: PostgreSQL
- Node.js: Compatible version as specified in
package.json