DripEmail.org

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?