A production-ready PayloadCMS starter with payload-auth, modern UI components, and full-stack development tools.
© Copyright ${fromYear}~${currentYear}...
so you don't have to manually change it every year.import { FullWidthImage, ImageMedia, LayoutHeader, SectionGrid, SectionGridItem, SectionHeader, SectionHorizontal, SectionSpacing, } from "@/components/layout/elements"; import { Main } from "@/components/layout/main"; export default function FeaturesPage() { return ( <Main> <LayoutHeader title='Features' badge='Acme' description='...' /> <SectionSpacing> <SectionGrid> <SectionGridItem title='Title 1' description='...' media={<ImageMedia src={image} alt='Title 1' zoom />} /> <SectionGridItem title='Title 2' description='...' media={<ImageMedia src={image} alt='Title 2' zoom />} /> </SectionGrid> <FullWidthImage image={image} caption='Image Caption' alt='Title 1' zoom /> <SectionHorizontal variant='right' title='Title 3' description='...' media={ <ImageMedia src={image} alt='Title 3' className='p-8' imgClassName='rounded-2xl' gradientColors={[ "from-cyan-200/20", "via-cyan-300/20", "to-cyan-500/20", ]} zoom /> } /> </SectionSpacing> </Main> ); }
Main Pages
Account Settings
Email UI
git clone fluid-design-io/payload-better-auth-starter cd payload-better-auth-starter bun install
# Create environment file cp .env.example .env # Edit with your values nano .env
# Start all services (PostgreSQL, S3, Email) bun run dev
Visit http://localhost:3000
for your site and http://localhost:3000/admin
for the CMS.
Logo & Icons
# Replace these files: src/components/icons.tsx # Main logo src/components/payload/admin-icon.tsx # Admin panel icon public/favicon.ico # Browser favicon
Company Name
# Search and replace "Acme" in: src/lib/constants.ts src/plugins/seo-plugin.ts src/lib/email/email-template.tsx
Open Graph Images
# Replace default OG image: public/website-template-OG.png
Email Templates
# Customize email branding: src/lib/email/email-template.tsx src/plugins/form-plugin/before-email.tsx
# Required for production PAYLOAD_SECRET=your-secret-key DATABASE_URI=postgresql://user:pass@host:port/db # Optional - S3 Storage S3_BUCKET=your-bucket S3_ACCESS_KEY_ID=your-key S3_SECRET_ACCESS_KEY=your-secret S3_REGION=us-east-1 # Optional - Email (Resend) RESEND_API_KEY=your-resend-key
bun run dev # Start development server bun run build # Build for production bun run start # Start production server # Docker Services bun run services:start # Start PostgreSQL, S3, Email bun run services:stop # Stop all services bun run services:logs # View service logs # Database bun run db:reset # Reset database bun run db:connect # Connect to PostgreSQL # Email Testing bun run email:test # Test email functionality
Enable the form plugin for contact forms:
extra/form/
to src/plugins/form/
src/plugins/index.ts
src/
├── app/ # Next.js app router
├── collections/ # PayloadCMS collections
├── components/ # React components
│ ├── ui/ # Shadcn UI components
│ ├── layout/ # Layout components
│ └── payload/ # CMS-specific components
├── lib/ # Utilities & configurations
├── plugins/ # PayloadCMS plugins
└── blocks/ # Content blocks
docker-compose -f docker-compose.prod.yml up -d
MIT License - see LICENSE.md for details.
Need help? Check out the PayloadCMS docs or Better Auth docs.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4