Skip to main content
This guide covers common issues you may encounter while running Zipline and how to resolve them.

Getting Help

Before diving into troubleshooting:
  1. Check the Zipline logs for error messages
  2. Search existing GitHub issues
  3. Join the Discord server for community support
  4. Review relevant configuration in this documentation

Checking Logs

Docker Deployment

Source Deployment

Enable Debug Logging

For more detailed logs, set the DEBUG environment variable:
This enables verbose logging for all Zipline components.

Installation & Startup Issues

Common causes:
  1. Missing CORE_SECRET
    Solution: Generate and set CORE_SECRET:
  2. Database connection failed
    Solution:
    • Verify PostgreSQL is running: docker compose ps
    • Check DATABASE_URL is correct
    • Wait for database to be ready (use healthcheck in docker-compose)
  3. S3 access test failed
    Solution: Check S3 configuration:
    • Verify credentials are correct
    • Ensure bucket exists and is accessible
    • Check bucket permissions (see S3 Setup)
Error messages:
Solutions:
  1. Verify database is running:
  2. Check DATABASE_URL format:
  3. Check password special characters: Passwords with special characters may need URL encoding:
  4. Wait for database to be ready: Docker compose should have healthcheck:
Error:
Solutions:
  1. Change Zipline port:
  2. Find and stop process using port:
  3. Change Docker port mapping:
Common issues:
  1. Missing environment variables:
    Solution: Create .env file with required variables
  2. Invalid docker-compose.yml:
  3. Volume permission issues:

Upload Issues

Error types:
  1. 413 Payload Too Large
    • File exceeds FILES_MAX_FILE_SIZE limit
    • Reverse proxy has lower limit
    Solution:
  2. 408 Request Timeout
    • Upload taking too long
    • Network issues
    Solution: Increase timeouts in reverse proxy:
  3. 401 Unauthorized
    • Invalid or missing API token
    • Token revoked or expired
    Solution:
    • Generate new token in user settings
    • Update ShareX/client configuration
  4. Storage write failed
    • Disk full (local storage)
    • S3 permissions issue
    Solution:
Common causes:
  1. Files not in correct location:
  2. Incorrect datasource configuration:
  3. File permissions (local storage):
  4. S3 bucket/subdirectory mismatch:
    • Verify DATASOURCE_S3_BUCKET matches actual bucket
    • Check DATASOURCE_S3_SUBDIRECTORY if used
Error:
Solutions:
  1. Check chunk configuration:
  2. Verify temp directory is writable:
  3. Increase reverse proxy limits: Must accommodate chunk size + overhead
Check:
  1. Feature is enabled:
  2. Compression format is set:
  3. Check logs for compression errors:

Authentication & Users

Solutions:
  1. Reset password via CLI:
  2. Verify user exists:
  3. Check for special characters in password:
    • Avoid special characters that might be interpreted by shell
    • Use strong alphanumeric passwords
Common issues:
  1. Redirect URI mismatch:
    • OAuth provider redirect URI must match exactly
    • Include https://your-domain.com/api/auth/oauth/<provider>/callback
  2. Missing OAuth configuration:
  3. OAuth provider credentials invalid:
    • Verify client ID and secret are correct
    • Check if OAuth app is enabled in provider dashboard
Solutions:
  1. Check TOTP is enabled:
  2. Time synchronization:
    • TOTP requires accurate system time
    • Sync server time: sudo ntpdate -s time.nist.gov
  3. Regenerate TOTP secret:
    • Disable and re-enable 2FA in user settings
    • Scan new QR code
Check feature flag:
Invites:
  • If registration is disabled, users need invites
  • Generate invite in admin panel

Performance Issues

Possible causes:
  1. Network bottleneck:
    • Check bandwidth between client and server
    • Use iperf3 to test network speed
  2. Disk I/O bottleneck (local storage):
  3. S3 performance:
    • Choose region close to users
    • Consider CloudFront or CDN
    • Check S3 connection pooling is working (max 1000 connections)
  4. Reverse proxy not using keep-alive:
Solutions:
  1. Limit thumbnail generation threads:
  2. Disable metrics if not needed:
  3. Reduce chunk size:
  4. Monitor with Docker stats:
Solutions:
  1. Disable metrics collection:
  2. Clean old metrics:
  3. Vacuum database:

Storage Issues

Error types:
  1. Connection timeout:
    • Check network connectivity to S3 endpoint
    • Verify endpoint URL is correct
    • Check firewall allows HTTPS to S3
  2. Access denied:
    • Verify IAM permissions (see S3 Setup)
    • Check bucket policy
    • Ensure credentials are valid
  3. Bucket not found:
    • Verify bucket name is correct
    • Check region matches bucket region
    • For path-style: ensure DATASOURCE_S3_FORCE_PATH_STYLE=true
Solutions:
  1. Check disk usage:
  2. Clean up old files:
    • Delete expired files manually
    • Ensure deletion task is running:
  3. Migrate to S3:
Check:
  1. Feature is enabled:
  2. Thumbnail interval:
  3. Check logs for errors:
  4. Supported formats:
    • Images: JPEG, PNG, WebP, GIF
    • Videos: MP4, WebM, MOV (requires ffmpeg)

Reverse Proxy Issues

Causes:
  1. Zipline not running:
  2. Wrong proxy_pass address:
  3. Firewall blocking connection:
Solution:
And ensure proxy sends headers:
Common with Cloudflare:
  1. Set SSL mode to Full:
    • Cloudflare Dashboard → SSL/TLS → Full or Full (strict)
  2. Check HTTPS configuration:
  3. Verify reverse proxy doesn’t force redirect:
    • Remove HTTP to HTTPS redirects if Cloudflare handles it

Miscellaneous

Common issues:
  1. Wrong API endpoint:
  2. Missing or wrong authorization:
  3. File form field name:
  4. Response URL parsing:
Checklist:
  • DNS A/AAAA record points to server
  • Domain added to DOMAINS or admin dashboard
  • Reverse proxy accepts domain
  • SSL certificate covers domain
  • CORE_TRUST_PROXY=true if behind proxy
See Custom Domains guide for details.
Check:
  1. Webhook URL is configured:
  2. Check logs for webhook errors:
  3. Verify webhook endpoint is reachable:
Error:
Solutions:
  1. Check database connection:
    • Ensure database is accessible
    • Verify credentials
  2. Manual migration:
  3. Reset database (development only):
    This deletes all data. Only use in development!

Getting More Help

If you’re still experiencing issues:
  1. Gather information:
    • Zipline version: Check GitHub release or Docker image tag
    • Deployment method: Docker, source, etc.
    • Configuration: Relevant environment variables (redact secrets)
    • Error logs: Recent error messages
    • Steps to reproduce: What triggers the issue
  2. Search existing issues:
  3. Ask for help:
  4. Provide context: Include:
    • Description of the issue
    • What you’ve already tried
    • Relevant configuration (redacted)
    • Error logs
    • Environment details (OS, Docker version, etc.)
When asking for help, use code blocks for logs and configuration. This makes it easier to read and helps others assist you faster.

Common Error Messages

For security issues, please report via GitHub Security Advisories instead of public issues or Discord.