Troubleshooting guide
Resolve common issues you might encounter when self-hosting Screenshothis. This guide provides step-by-step solutions, diagnostic commands, and prevention strategies to keep your instance running smoothly.Get the latest help: Check the Screenshothis repository and GitHub Issues for the most recent troubleshooting information and community solutions.
Quick diagnostics
Start here to quickly assess your system’s health and identify issues:Check application health
Test if your Screenshothis instance is responding:
You should see a 200 response with health status information
Common startup issues
Application won’t start
When your Screenshothis instance fails to start or exits immediately:Missing environment variables
Missing environment variables
Symptoms: Container exits immediately with environment variable errorsDiagnose the issue:Fix the problem:
- Ensure all required variables are set in your
.envfile - Key required variables include:
DATABASE_URLBETTER_AUTH_SECRET- S3 configuration (
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY, etc.) VITE_SERVER_URL(for frontend)
Port already in use
Port already in use
Symptoms: Prevention: Use a reverse proxy like nginx to handle port 80/443 and proxy to your application.
Error: listen EADDRINUSE: address already in use :::3000Diagnose and fix:Docker build failures
Docker build failures
Symptoms: Docker build fails with dependency or build errorsDiagnose and fix:Common fixes:
- Ensure sufficient disk space (at least 2GB free)
- Check internet connectivity for package downloads
- Verify Node.js version compatibility
Database connection problems
PostgreSQL connectivity issues
When you can’t connect to your PostgreSQL database:Connection refused errors
Connection refused errors
Migration and schema errors
Migration and schema errors
Symptoms: Migration failed, schema errors, or table not found errorsFix schema issues:Check migration status:
Redis connectivity issues
Cache and session problems
When Redis connections fail or caching doesn’t work:Redis connection failed
Redis connection failed
Symptoms: Verify Redis configuration:
Redis connection to localhost:6379 failed or session issuesDiagnose and fix:Authentication errors
Authentication errors
Symptoms: Redis URL formats:
NOAUTH Authentication required or permission deniedFix authentication:Storage and S3 issues
Screenshot upload failures
When screenshots can’t be saved to storage:S3 access denied errors
S3 access denied errors
Symptoms: Fix permissions:
AccessDenied, Forbidden, or upload failure errorsDiagnose the issue:MinIO local development issues
MinIO local development issues
Symptoms: MinIO connection fails or bucket access denied during local developmentFix MinIO issues:Verify configuration:
Access MinIO console
- Open http://localhost:9001 in your browser
- Login with:
- Username:
screenshothis-access-key - Password:
screenshothis-secret-key
- Username:
- Create the bucket
screenshothis-bucketif it doesn’t exist
Screenshot generation problems
Capture failures and timeouts
When screenshots fail to generate or take too long:Screenshot timeouts
Screenshot timeouts
Symptoms: Optimize performance:System requirements: Ensure adequate resources:
Screenshot generation timed out or requests timing outDiagnose performance:- CPU: At least 2 cores for production
- RAM: Minimum 2GB, recommended 4GB+
- Disk: At least 5GB free space
Memory issues and crashes
Memory issues and crashes
Symptoms: Out of memory errors, container restarts, or system freezesMonitor memory usage:Fix memory issues:Memory optimization:
- Docker Compose
- Docker Run
- Kubernetes
Chromium browser issues
Chromium browser issues
Symptoms: Chromium fails to start, crashes, or sandbox errorsCommon Chromium fixes:
For Kubernetes deployments:
Performance optimization
System resource management
When your instance is slow or consuming too many resources:High CPU and memory usage
High CPU and memory usage
Monitor resource consumption:Optimization strategies:
- Limit Concurrency
- Optimize Screenshots
- Memory Management
Slow screenshot generation
Slow screenshot generation
Diagnose slow performance:Speed optimization:
Network and connectivity
External service connectivity
When you can’t reach databases, S3, or other external services:External service connectivity
External service connectivity
Firewall and security group issues
Firewall and security group issues
Check and configure firewall rules:
- UFW (Ubuntu)
- iptables
- AWS Security Groups
Monitoring and diagnostics
System health monitoring
Set up monitoring to prevent issues before they occur:Getting help and support
When you need additional assistance:GitHub Issues
Search existing issues or create a new one with detailed error information
Community Discussions
Join community discussions for questions and ideas
Documentation
Browse complete self-hosting documentation and guides
Configuration Reference
Check all available configuration options and examples
Collecting diagnostic information
When reporting issues, include this diagnostic information:Prevention and maintenance
Regular maintenance tasks
Keep your Screenshothis instance healthy with regular maintenance:Weekly maintenance
Weekly maintenance
Perform these tasks weekly:
Monthly maintenance
Monthly maintenance
Perform these tasks monthly:
Monitoring alerts
Monitoring alerts
Set up alerts for:
- Disk space > 85% full
- Memory usage > 90%
- Health check failures
- SSL certificate expiry (30 days before)
- High error rates in logs
- Database connection failures
Next steps
Configuration Guide
Optimize your configuration for better performance and reliability
Deployment Guide
Learn advanced deployment strategies and scaling options
API Reference
Complete API documentation for your self-hosted instance
GitHub Repository
Report issues and contribute to the project