Payload CMS
Section titled “Payload CMS”Deploy your PayloadCMS applications with zero configuration and enterprise-grade performance. Our platform is specifically optimized for PayloadCMS architecture, delivering faster builds and better runtime performance than traditional hosting solutions.
Why sherpa.sh is Perfect for PayloadCMS
Section titled “Why sherpa.sh is Perfect for PayloadCMS”Optimized Node.js Performance for PayloadCMS
Section titled “Optimized Node.js Performance for PayloadCMS”We’ve fine-tuned our infrastructure specifically for PayloadCMS’s Express.js architecture to deliver optimal performance:
PayloadCMS Performance Optimizations:
- Cold Start Elimination: Pre-warmed Node.js instances across regions
- Memory Optimization: 1GB-4GB+ containers with intelligent horizontal scaling behind a loadbalancer
- Smart caching: Where we autodetect admin view and non cachable API endpoints to ensure consistent FAST performance across both the client and admin experience.
- Database Optimization: Connection pooling for MongoDB/PostgreSQL
- Admin Panel Speed: Optimized static asset delivery for Payload admin UI
Performance Benchmarks:
# API response times (95th percentile)
sherpa.sh: 120ms average globallyPayloadCMS Cloud: 280ms averageTraditional VPS: 450ms averageOther serverless: 320ms average (with cold starts)
Ready to deploy? Create a free account →
Quick Start Guide
Section titled “Quick Start Guide”Get your PayloadCMS app live in under 5 minutes with our streamlined deployment process.
Prerequisites
Section titled “Prerequisites”- PayloadCMS 2.x project
- Git repository (GitHub, GitLab, or Bitbucket)
- Node.js 18+ locally for development
- MongoDB or PostgreSQL database
Deployment Steps
Section titled “Deployment Steps”- Connect Repository: Link your Git repository to sherpa.sh
- Auto-Detection: We automatically detect your PayloadCMS configuration
- Database Setup: Configure your database connection string
- Deploy: Push to your main branch triggers automatic deployment
- Live: Your app is available at
https://your-app.sherpa.software
Follow our Quickstart Steps for more details.
What You Get Instantly
Section titled “What You Get Instantly”- Zero Configuration: Works with your existing
payload.config.ts
- Global CDN: Admin UI and API served from 200+ edge locations
- Automatic HTTPS: SSL certificates provisioned and renewed automatically
- Database Integration: Seamless MongoDB/PostgreSQL connections with our managed databases
- File Storage: Built-in media handling without S3 complexity
- Pay-per-Use: No idle costs - only pay for actual usage
Platform Optimizations
Section titled “Platform Optimizations”Automatic Configuration Enhancements
Section titled “Automatic Configuration Enhancements”When you deploy to sherpa.sh, we automatically optimize your configuration for maximum performance:
payload.config.ts Optimizations:
// Your original config is preserved, but we enhance it:export default buildConfig({ serverURL: process.env.PAYLOAD_PUBLIC_SERVER_URL, // Auto-configured admin: { user: Users.slug, bundler: webpackBundler(), // Static assets automatically served from global CDN }, collections: [ Users, Media, ], typescript: { outputFile: path.resolve(__dirname, 'payload-types.ts'), }, graphQL: { schemaOutputFile: path.resolve(__dirname, 'generated-schema.graphql'), }, db: mongooseAdapter({ url: process.env.DATABASE_URI, // Auto-configured from dashboard if selected }),})
Environment Variables Set Automatically:
PORT=3000 # Standard runtime portDATABASE_URI=your-database-connection # From dashboard configPAYLOAD_PUBLIC_SERVER_URL=https://your-app.sherpa.shNODE_ENV=production # Production optimizations
Performance Enhancements
Section titled “Performance Enhancements”Admin Panel Optimization:
PayloadCMS admin interface loads faster with our HTTP/2 infrastructure:
- Bundle Splitting: Admin UI chunks load in parallel
- Asset Caching: Long-term caching for unchanged admin assets
- GraphQL Optimization: Intelligent query caching and optimization
File Delivery Acceleration:
- Automatic CDN Integration: S3 files served globally with <50ms load times
Advanced Features
Section titled “Advanced Features”Database Management
Section titled “Database Management”Seamless integration with your preferred database:
MongoDB Setup:
// In your payload.config.tsimport { mongooseAdapter } from '@payloadcms/db-mongodb'
export default buildConfig({ db: mongooseAdapter({ url: process.env.DATABASE_URI, // Connection pooling and optimization handled automatically }),})
PostgreSQL Setup:
// In your payload.config.tsimport { postgresAdapter } from '@payloadcms/db-postgres'
export default buildConfig({ db: postgresAdapter({ pool: { connectionString: process.env.DATABASE_URI, } }),})
Optimization Features:
- WebP/AVIF conversion for modern browsers
- Responsive sizing based on device
- Automatic compression without quality loss
- Global CDN delivery for all media files
Caching Strategy
Section titled “Caching Strategy”Intelligent cache headers optimized for PayloadCMS:
# Automatic cache configurationCache-Control: public, max-age=31536000, immutable # Static assets (admin UI)Cache-Control: public, max-age=3600 # Collection data (configurable)Cache-Control: private, no-cache # Admin sessionsCache-Control: no-store # Draft content
Developer Experience
Section titled “Developer Experience”Local Development Compatibility
Section titled “Local Development Compatibility”Your local development workflow remains unchanged:
# Development (unchanged)npm run dev
# Build locally (unchanged)npm run build
# Deploy to sherpa.shgit push origin main # Triggers automatic deployment
Build Process Insights
Section titled “Build Process Insights”Monitor your builds in real-time:
- Build Time: Typical PayloadCMS builds complete in 2-4 minutes
- Bundle Analysis: See which collections contribute to bundle size
- Database Migration: Automatic schema updates on deployment
Debugging & Monitoring
Section titled “Debugging & Monitoring”Real-time application monitoring:
- API Logs: Track collection queries and mutations
- Admin Activity: Monitor user login and content changes
- Error Tracking: Automatic error logging with stack traces
- Performance Metrics: Database query performance and response times
Configuration Examples
Section titled “Configuration Examples”Custom Collections
Section titled “Custom Collections”Deploy complex PayloadCMS schemas without configuration issues:
// Complex collection with relationshipsconst Posts = { slug: 'posts', admin: { useAsTitle: 'title', }, fields: [ { name: 'title', type: 'text', required: true, }, { name: 'content', type: 'richText', }, { name: 'author', type: 'relationship', relationTo: 'users', required: true, }, { name: 'featuredImage', type: 'upload', relationTo: 'media', }, ],}
Environment-Specific Configuration
Section titled “Environment-Specific Configuration”// Different configs per environmentconst config = buildConfig({ admin: { user: Users.slug, meta: { titleSuffix: process.env.NODE_ENV === 'production' ? ' - CMS' : ' - Dev CMS' } },})
Enterprise Features
Section titled “Enterprise Features”Advanced Security
Section titled “Advanced Security”- SOC 2 Compliance: Enterprise-grade security controls
- Custom WAF Rules: Protect against CMS-specific threats
- DDoS Protection: Automatic traffic filtering and rate limiting
- Admin Access Control: IP whitelisting for admin panel access
Performance & Reliability
Section titled “Performance & Reliability”- 100% Uptime SLA: Guaranteed uptime with financial backing
- Database Backups: Automated daily backups with point-in-time recovery
- Horizontal Scaling: Auto-scale based on API traffic and admin usage
- Content Delivery: Global edge caching for collection data
Developer Support
Section titled “Developer Support”- Dedicated Account Manager: Direct line to PayloadCMS experts
- Priority Support: <2 hour response time for critical issues
- Migration Assistance: Free migration from PayloadCMS Cloud
- Custom Integrations: Connect with your existing DevOps tools
Troubleshooting
Section titled “Troubleshooting”Common Issues
Section titled “Common Issues”Build Failures:
# Check your payload.config.ts for syntax errorsnpm run build
# Verify all dependencies are listed in package.jsonnpm install
Database Connection Issues:
# Verify DATABASE_URI environment variableecho $DATABASE_URI
# Test connection locallynpm run payload migrate
Getting Help
Section titled “Getting Help”- Documentation: Comprehensive guides at docs.sherpa.sh
- Community Support: Join our Discord
- Priority Tickets: Available for paid plans
Migration Guide
Section titled “Migration Guide”From PayloadCMS Cloud
Section titled “From PayloadCMS Cloud”The easiest way to migrate from PayloadCMS Cloud:
- Export Data: Use Payload’s built-in export functionality
- Follow Quickstart: Connect your existing repository
- Import Data: Use Payload’s import functionality
- Update DNS: Point your domain to sherpa.sh
From Self-Hosted
Section titled “From Self-Hosted”Key differences when migrating from self-hosted PayloadCMS:
- Remove Docker/PM2 configurations
- Environment variables managed in dashboard
- No need for reverse proxy setup (nginx/Apache)
- Automatic SSL certificate management
- Built-in file storage (no S3 configuration)
Next Steps
Section titled “Next Steps”After deploying your first PayloadCMS app:
- Custom Domain: Connect your domain in the dashboard
- Environment Variables: Configure API keys and secrets
- Team Access: Invite content editors with role-based permissions
- Monitoring: Set up alerts for API performance and errors
- Database Setup: Connect production MongoDB/PostgreSQL
- Content Migration: Import existing content and media
Ready to deploy? Create a free account →