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