Production deployment guide
Deploy your Screenshothis instance to production with confidence. This comprehensive guide covers deployment strategies for Docker, Kubernetes, and major cloud platforms, along with security, monitoring, and scaling considerations.Stay updated: Always check the Screenshothis repository for the latest deployment instructions and platform-specific requirements.
Pre-deployment checklist
Ensure you have everything ready before deploying to production:Infrastructure prerequisites
Database: Set up a managed PostgreSQL instance or prepare to self-host
Cache: Configure Redis for session management and caching
Storage: Choose and configure an S3-compatible storage service
Domain: Secure your domain name and SSL certificates
Security requirements
Environment variables: Configure all required settings for production
Secrets: Generate strong, unique secrets for authentication and encryption
Access control: Set up proper IAM roles and security groups
Docker deployment
Choose the Docker deployment strategy that best fits your infrastructure needs:Single container deployment
Deploy quickly with a single Docker container for small to medium workloads:Run in production
Your application should be accessible at http://your-server:3000
Multi-container deployment with Docker Compose
Deploy a complete production stack with database, cache, and reverse proxy:NGINX reverse proxy configuration
Configure NGINX as a reverse proxy with SSL termination and optimizations:Kubernetes deployment
Deploy Screenshothis on Kubernetes for enterprise-grade scalability and reliability:Application deployment and services
Create the main application deployment with service and ingress:Cloud platform deployments
Deploy to popular cloud platforms with platform-specific optimizations:- AWS
- DigitalOcean
- Google Cloud
- Railway
Production configuration
Configure your environment variables for optimal production performance:Essential environment variables
Application settings
Application settings
Database configuration
Database configuration
Redis configuration
Redis configuration
Storage configuration
Storage configuration
Security configuration
Security configuration
Performance tuning
Performance tuning
SSL/TLS configuration
Secure your deployment with proper SSL/TLS certificates:- Let's Encrypt (Recommended)
- Custom Certificate
- Self-Signed (Development)
Monitoring and Logging
Health Checks
The application provides several health check endpoints:/health- Basic health check/health/live- Liveness probe/health/ready- Readiness probe
Prometheus Metrics
Log Management
Scaling Considerations
Horizontal Scaling
Database Scaling
- Use read replicas for read-heavy workloads
- Consider connection pooling (PgBouncer)
- Monitor query performance
Redis Scaling
- Use Redis Cluster for high availability
- Consider Redis Sentinel for failover
Backup and Recovery
Database Backups
Application Data Backup
Security Hardening
Firewall Configuration
Docker Security
Troubleshooting Deployment Issues
Common deployment problems and solutions:Port Binding Issues
Database Connection Issues
Storage Issues
Next steps
Complete your deployment with these essential guides:Configuration Guide
Optimize your production configuration with detailed parameter references and best practices
Troubleshooting Guide
Solve common deployment issues with step-by-step diagnostic and resolution procedures
API Documentation
Integrate with your applications using comprehensive API references and examples
Community Support
Join discussions, ask questions, and get help from the community
Deployment checklist
Ensure your deployment is production-ready:- Security: SSL certificates configured and auto-renewal set up
- Monitoring: Health checks and logging configured
- Backup: Database backup strategy implemented
- Scaling: Resource limits and auto-scaling configured
- Testing: All endpoints tested and responding correctly
- Documentation: Internal deployment docs updated
Getting help
Common deployment issues
Common deployment issues
- Application won’t start: Check environment variables and logs
- Database connection failed: Verify connection strings and credentials
- SSL certificate issues: Ensure proper certificate installation and renewal
- Performance problems: Review resource allocation and scaling settings
Support resources
Support resources
- GitHub Issues: Report bugs and request features
- GitHub Discussions: Community support and questions
- Documentation: Complete self-hosting guides and references
- Troubleshooting Guide: Step-by-step problem resolution