{"id":50360646,"url":"https://github.com/rpuls/payload-3-boilerplate","last_synced_at":"2026-05-30T01:09:05.845Z","repository":{"id":265142434,"uuid":"894166812","full_name":"rpuls/payload-3-boilerplate","owner":"rpuls","description":"Payload CMS V3 Boilerplate for Railway, by FUNKYTON","archived":false,"fork":false,"pushed_at":"2026-05-13T21:07:48.000Z","size":4095,"stargazers_count":31,"open_issues_count":0,"forks_count":25,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-05-13T23:13:42.742Z","etag":null,"topics":["cms","payload","payloadcms","railway","railway-app"],"latest_commit_sha":null,"homepage":"https://funkyton.com/payload-cms/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rpuls.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2024-11-25T21:49:24.000Z","updated_at":"2026-05-13T21:07:54.000Z","dependencies_parsed_at":"2024-11-27T22:41:31.779Z","dependency_job_id":null,"html_url":"https://github.com/rpuls/payload-3-boilerplate","commit_stats":null,"previous_names":["rpuls/payload-3-boilerplate"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rpuls/payload-3-boilerplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpuls%2Fpayload-3-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpuls%2Fpayload-3-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpuls%2Fpayload-3-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpuls%2Fpayload-3-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rpuls","download_url":"https://codeload.github.com/rpuls/payload-3-boilerplate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpuls%2Fpayload-3-boilerplate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33676315,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cms","payload","payloadcms","railway","railway-app"],"created_at":"2026-05-30T01:09:05.109Z","updated_at":"2026-05-30T01:09:05.829Z","avatar_url":"https://github.com/rpuls.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://funkyton.com/payload-cms/\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://res.cloudinary.com/hczpmiapo/image/upload/v1732576652/Static%20assets/Logos/payload_V3_mhv6wc.png\"\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://res.cloudinary.com/hczpmiapo/image/upload/v1732576652/Static%20assets/Logos/payload_V3_mhv6wc.png\"\u003e\n      \u003cimg alt=\"Payload CMS logo\" src=\"https://res.cloudinary.com/hczpmiapo/image/upload/v1732576652/Static%20assets/Logos/payload_V3_mhv6wc.png\" width=100\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://railway.app/template/L8TUlT?referralCode=-Yg50p\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://railway.app/brand/logo-light.svg\"\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://railway.app/brand/logo-dark.svg\"\u003e\n      \u003cimg alt=\"Railway logo\" src=\"https://railway.app/brand/logo-light.svg\" width=100\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch2 align=\"center\"\u003e\n  Payload CMS V3 Website Template\u003cbr\u003e\n  \u003ca href=\"https://railway.app/deploy/L8TUlT?referralCode=-Yg50p\"\u003eOne-click deploy on Railway!\u003c/a\u003e\n\u003c/h2\u003e\n\n\u003ch1 align=\"center\"\u003e\n  Need help?\u003cbr\u003e\n  \u003ca href=\"https://funkyton.com/payload-cms/\"\u003eStep by step guide and instructions\u003c/a\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  A powerful, flexible, and production-ready Payload CMS V3 website builder with PostgreSQL database.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/payloadcms/payload/blob/main/CONTRIBUTING.md\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat\" alt=\"PRs welcome!\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://discord.gg/payload\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/chat-on%20discord-7289DA.svg\" alt=\"Discord Chat\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## About this boilerplate\n\nThis 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](https://railway.app?referralCode=-Yg50p), and uses PostgreSQL for both local development and production environments.\n\n## Version Info\n\n- **Payload CMS**: `3.84.1`\n- **Next.js**: `16.2.6`\n- **Node.js**: `^18.20.2 || \u003e=20.9.0`\n\n## Preconfigured Features \u0026 Integrations\n\n- **Authentication**: Robust user authentication system\n- **Access Control**: Role-based access control for admins and users\n- **Premium Content**: Gated content for authenticated users\n- **Comments**: User commenting system with admin approval\n- **Layout Builder**: Flexible content creation with pre-configured blocks\n- **Draft Preview**: Preview unpublished content before going live\n- **SEO**: Built-in SEO optimization tools\n- **Redirects**: Easy management of URL redirects\n- **PostgreSQL Support**: Configured for both local and production use\n\n### Railway Setup\n\nUse one-click deploy template:\n\n[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/L8TUlT?referralCode=-Yg50p)\n\n### Local Setup\n\n1. Clone proejct: (recommeded) Laucnh on Railway and ejct [watch how](https://www.youtube.com/watch?v=LJFek8JP8TE). Alternatively clone this repo or fork it.\n2. Copy `.env.example` to `.env` (fill in your own values..)\n3. Start PostgreSQL: `docker compose up -d postgres`\n4. Install dependencies: `pnpm install` or `npm install`\n5. Run development mode: `pnpm dev` or `npm run dev`\nor\n6. Build the project: `pnpm build` or `npm run build`\n7. Start the server: `pnpm start` or `npm run start`\n\n### End-to-End Testing\n\nThe 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.\n\nBefore the first run, make sure Docker Desktop is running. The suite starts a fresh PostgreSQL container automatically.\nFor test determinism, the e2e harness uses bundled local seed images only during the test run. Normal seeding continues to use the hosted seed images.\n\n1. Install everything required for e2e: `corepack pnpm e2e:install`\n2. Run the suite headlessly: `corepack pnpm test:e2e`\n3. Run the suite with a visible browser: `corepack pnpm test:e2e:headed`\n4. Run the suite slowly and keep the browser open for manual review: `corepack pnpm test:e2e:manual`\n\nWhat `e2e:install` does:\n\n- Installs project dependencies\n- Rebuilds native dependencies used by the app on Windows, including `sharp` and `esbuild`\n- Downloads the Chromium browser used by Playwright\n\nIf you prefer `npm`, you can run:\n\n1. `npm run e2e:install`\n2. `npm run test:e2e`\n3. `npm run test:e2e:headed`\n4. `npm run test:e2e:manual`\n\n`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.\n\n\n### Requirements\n\n- **Database**: PostgreSQL\n- **Node.js**: Compatible version as specified in `package.json`\n\n## Useful Resources\n\n- **Blog post about this template**: [Read here](https://funkyton.com/payload-cms/)\n- **Official Payload Documentation**: [Read here](https://payloadcms.com/docs)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://funkyton.com/\"\u003e\n    A template by,\n    \u003cbr\u003e\u003cbr\u003e\n    \u003cpicture\u003e\n      \u003cimg alt=\"FUNKYTON logo\" src=\"https://res-5.cloudinary.com/hczpmiapo/image/upload/q_auto/v1/ghost-blog-images/funkyton-logo.png\" width=200\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frpuls%2Fpayload-3-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frpuls%2Fpayload-3-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frpuls%2Fpayload-3-boilerplate/lists"}