Skip to content

FAQ & Troubleshooting

This section answers:

“Something broke — where do I look, and what do I fix?”


Application Not Starting

Django container exits immediately

Check logs: make django-logs

Common causes:

  • Missing .env
  • Wrong DJANGO_SETTINGS_MODULE
  • Database not ready (prod)

Fix

  • Verify:
DJANGO_SETTINGS_MODULE=digistore.settings.local
#or
DJANGO_SETTINGS_MODULE=digistore.settings.production

Migrations Not Applied

App runs but features are broken

Symptoms

  • Admin pages fail
  • Models not found
  • Random 500 errors

Fix

make -migrate

Rule

  • Always migrate inside Docker , never on host

Celery Tasks Not Running

Emails / backups / Telegram notifications not working

Checklist

  • Check worker: make celery-logs
  • Check Redis:
    make redis-cli
    PING
    
  • Verify .env REDIS_URL=redis://user:pass@redis:6379

Common mistake

  • Redis running locally instead of Docker network

Payments Not Completing

User paid but product not unlocked

Checklist

  • Check webhook logs
  • Check Order.is_paid
  • Check PurchasedProduct exists

Likely causes

  • Webhook secret mismatch
  • Webhook URL not reachable
  • Dodo API outage

Fix

  • Re-send webhook from Dodo dashboard
  • Manually mark order succeeded in Django admin

Webhook Signature Invalid

Invalid Dodo webhook signature

Cause

  • Wrong DODO_WEBHOOK_SECRET
  • Test secret used in production

Fix

  • Update .env
  • Restart containers

Product Download Not Working

Download button does nothing

Checklist

  • Verify ownership
  • Check file exists in storage
  • Check presigned URL generation

Dev mode

  • File must exist locally

Prod mode

  • Verify:
  • Bucket name
  • Access keys
  • Object permissions

File Downloads Expire Too Fast

Expected behavior

  • Presigned URLs expire in 10 minutes

Fix

  • Increase expiry in S3 presign logic (not recommended)
  • Educate users to click immediately

Seller Cannot Delete Product

Delete blocked

Reason

  • Product has at least one purchase

Why

  • Prevents data loss
  • Prevents refund inconsistency

Correct action

  • Disable product instead of deleting

Support Request Cannot Be Created

User sees “Support already active”

Reason

  • Active support exists for that product

Statuses considered active

  • new
  • discussing
  • payment_pending
  • in_progress

Fix

  • Complete or cancel existing support first

Short URL Not Redirecting

Short URL returns 404 / expired

Checklist

  • Check expiry date
  • Clear cache
  • Verify slug exists

Fix

make redis-cli
DEL shorturl_<slug>

Under Construction Mode Not Working

Site not blocked

Checklist

  • UnderConstruction row exists
  • is_under_construction=True
  • Cache TTL expired

Force refresh

make redis-cli
DEL under_construction

Under Construction Bypass Not Working

Admin locked out

Correct usage

https://site.com/?uc=MAINTENANCE_BYPASS_KEY

Fix

  • Ensure query param exactly matches .env

Admin Panel Slow

Django admin very slow

Causes

  • Large tables
  • Missing indexes
  • Heavy inlines

Fix

  • Add DB indexes
  • Limit admin list filters
  • Use pagination

Analytics Dashboard Empty

Seller dashboard shows no charts

Checklist

  • GA credentials present
  • GA property ID correct
  • API quota not exceeded

Fallback

  • Dashboard still loads without analytics

Email Not Delivered

User didn’t receive email

Checklist

  • Check Celery logs
  • Check Resend dashboard
  • Verify FROM_EMAIL

Common issue

  • Email in spam

Docker Build Fails

Build fails during uv sync

Cause

  • Python version mismatch
  • Corrupt uv.lock

Fix

rm uv.lock
uv lock
docker compose build --no-cache

Redis Auth Errors

NOAUTH Authentication required

Fix

  • Ensure Redis config matches .env
  • Restart Redis container

Database Backup Not Appearing

No backups in storage

Checklist

  • Celery Beat running
  • Storage credentials valid
  • Disk space available

When Everything Breaks

Nuclear Debug Checklist

  1. Check logs
  2. Restart containers
  3. Verify .env
  4. Re-run migrations
  5. Check Redis
  6. Check Celery
  7. Check external services

Final Advice

  • Logs are your first debugger
  • Never bypass business rules
  • Don’t disable signals casually
  • Use admin for emergency recovery