Skip to main content

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:
1

Check application health

Test if your Screenshothis instance is responding:
You should see a 200 response with health status information
2

Verify readiness

Check if the application is ready to serve requests:
3

Review recent logs

Examine logs for error messages and clues:

Common startup issues

Application won’t start

When your Screenshothis instance fails to start or exits immediately:
Symptoms: Container exits immediately with environment variable errorsDiagnose the issue:
Fix the problem:
  1. Ensure all required variables are set in your .env file
  2. Key required variables include:
    • DATABASE_URL
    • BETTER_AUTH_SECRET
    • S3 configuration (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, etc.)
    • VITE_SERVER_URL (for frontend)
Never use default development secrets in production. Generate unique, secure values for all secrets.
Symptoms: Error: listen EADDRINUSE: address already in use :::3000Diagnose and fix:
Prevention: Use a reverse proxy like nginx to handle port 80/443 and proxy to your application.
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:
Symptoms: Connection refused, Database does not exist, or timeout errorsDiagnose the issue:
Fix the problem:
1

Verify PostgreSQL is running

2

Verify database exists

3

Test connection

You should see a successful connection and query result
Emergency reset (⚠️ This deletes all data):
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:
Symptoms: Redis connection to localhost:6379 failed or session issuesDiagnose and fix:
Verify Redis configuration:
Symptoms: NOAUTH Authentication required or permission deniedFix authentication:
Redis URL formats:

Storage and S3 issues

Screenshot upload failures

When screenshots can’t be saved to storage:
Symptoms: AccessDenied, Forbidden, or upload failure errorsDiagnose the issue:
Fix permissions:
1

Verify credentials

Check that your AWS credentials are correct and active:
2

Check bucket permissions

Ensure your IAM user has the required S3 permissions:
3

Test upload

Upload and deletion should complete without errors
Symptoms: MinIO connection fails or bucket access denied during local developmentFix MinIO issues:
1

Check MinIO status

2

Access MinIO console

  1. Open http://localhost:9001 in your browser
  2. Login with:
    • Username: screenshothis-access-key
    • Password: screenshothis-secret-key
  3. Create the bucket screenshothis-bucket if it doesn’t exist
3

Reset MinIO if needed

Verify configuration:

Screenshot generation problems

Capture failures and timeouts

When screenshots fail to generate or take too long:
Symptoms: Screenshot generation timed out or requests timing outDiagnose performance:
Optimize performance:
System requirements: Ensure adequate resources:
  • CPU: At least 2 cores for production
  • RAM: Minimum 2GB, recommended 4GB+
  • Disk: At least 5GB free space
Symptoms: Out of memory errors, container restarts, or system freezesMonitor memory usage:
Fix memory issues:
Memory optimization:
Symptoms: Chromium fails to start, crashes, or sandbox errorsCommon Chromium fixes:
1

Check security settings

For Docker deployments, you may need to adjust security settings:
2

Verify dependencies

Ensure all required system dependencies are installed:
3

Configure Chrome arguments

For Kubernetes deployments:

Performance optimization

System resource management

When your instance is slow or consuming too many resources:
Monitor resource consumption:
Optimization strategies:
Diagnose slow performance:
Speed optimization:

Network and connectivity

External service connectivity

When you can’t reach databases, S3, or other external services:
Test connectivity from your server:
Fix connectivity issues:
1

Check firewall rules

2

Verify DNS resolution

3

Test with curl

Check and configure firewall rules:

Monitoring and diagnostics

System health monitoring

Set up monitoring to prevent issues before they occur:
1

Enable health monitoring

Create monitoring scripts for system health:
2

Set up automated monitoring

Add monitoring to your crontab:
3

Monitor application metrics

Enable detailed application monitoring:

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:
1

System information

2

Application logs

3

Configuration (redacted)

4

Container status

Prevention and maintenance

Regular maintenance tasks

Keep your Screenshothis instance healthy with regular maintenance:
Perform these tasks weekly:
Perform these tasks monthly:
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
Example alert script:

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