Documentation
Complete guide to using DripEmails.org
Deployment Troubleshooting
Common deployment issues and their solutions.
Common Issues
❌ 502 Bad Gateway
Cause: Gunicorn is not running or socket file doesn't exist
Solution:
# Check Gunicorn status
sudo systemctl status dripemails
# Restart Gunicorn
sudo systemctl restart dripemails
# Check socket file
ls -la /home/dripemails/web/dripemails.sock
# Check logs
sudo journalctl -u dripemails -n 50
❌ Static Files Not Loading
Cause: Static files not collected or Nginx misconfigured
Solution:
# Collect static files
python manage.py collectstatic --noinput
# Check permissions
sudo chown -R dripemails:www-data /home/dripemails/web/staticfiles
sudo chmod -R 755 /home/dripemails/web/staticfiles
# Restart Nginx
sudo systemctl restart nginx
❌ Database Connection Error
Cause: Database credentials or host incorrect
Solution:
# Test PostgreSQL connection
sudo -u postgres psql -c "SELECT version();"
# Check database exists
sudo -u postgres psql -l | grep dripemails
# Verify .env settings
cat .env | grep DB_
# Test connection from Django
python manage.py shell
>>> from django.db import connection
>>> connection.ensure_connection()
❌ SMTP Server Not Starting
Cause: Port conflict or permission issues
Solution:
# Check if port is in use
sudo netstat -tulpn | grep 1025
# Check supervisor logs
sudo supervisorctl tail dripemails-smtp
# Use different port if 1025 is taken
python manage.py run_smtp_server --port 2525
# Update supervisor config
sudo nano /etc/supervisor/conf.d/dripemails-smtp.conf
sudo supervisorctl reread
sudo supervisorctl update
❌ Celery Not Processing Tasks
Cause: Redis not running or Celery worker down
Solution:
# Check Redis status
sudo systemctl status redis-server
# Start Redis if stopped
sudo systemctl start redis-server
# Check Celery workers
sudo supervisorctl status dripemails-celery-worker
# Restart Celery
sudo supervisorctl restart dripemails-celery-worker
sudo supervisorctl restart dripemails-celery-beat
# Check Celery logs
sudo supervisorctl tail dripemails-celery-worker
❌ Permission Denied Errors
Cause: Incorrect file permissions or ownership
Solution:
# Fix ownership
sudo chown -R dripemails:www-data /home/dripemails/web
# Fix permissions
sudo chmod -R 755 /home/dripemails/web
sudo chmod -R 775 /home/dripemails/web/media
sudo chmod -R 775 /home/dripemails/web/staticfiles
# Fix socket permissions
sudo chmod 660 /home/dripemails/web/dripemails.sock
❌ SSL Certificate Issues
Cause: Let's Encrypt failed or certificate expired
Solution:
# Check certificate status
sudo certbot certificates
# Renew certificate
sudo certbot renew
# Force renewal
sudo certbot renew --force-renewal
# Test renewal process
sudo certbot renew --dry-run
❌ Emails Not Sending
Cause: SMTP server not configured or firewall blocking
Solution:
# Test SMTP connection
telnet localhost 1025
# Check SMTP server status
sudo supervisorctl status dripemails-smtp
# Check firewall rules
sudo ufw status
sudo ufw allow 1025/tcp
# Test email sending
python manage.py shell
>>> from django.core.mail import send_mail
>>> send_mail('Test', 'Test', 'from@test.com', ['to@test.com'])
Debugging Tips
📋 Check All Logs
# Gunicorn logs
sudo journalctl -u dripemails -f
# Nginx access logs
tail -f /var/log/nginx/access.log
# Nginx error logs
tail -f /var/log/nginx/error.log
# Supervisor logs
sudo supervisorctl tail -f dripemails-smtp
# Celery logs
sudo supervisorctl tail -f dripemails-celery-worker
🔍 Enable Debug Mode Temporarily
Edit .env file:
DEBUG=True
⚠️ Remember to disable debug mode after troubleshooting!
🔄 Restart All Services
# Restart everything
sudo systemctl restart dripemails
sudo systemctl restart nginx
sudo supervisorctl restart all
sudo systemctl restart redis-server
Getting Help
💬 Need More Help?
- Check the community forums
- Report issues on GitHub
- Email us at founders@dripemails.org