Production checklist
Use this list as a baseline before going live.
Run the Django deployment checklist
On a production container or host:
python manage.py check --deploy
Fix any critical warnings in the output.
Configure hosts and HTTPS
trak/main/settings/prod.py reads these from env variables (prefixed with TRAK_):
TRAK_ALLOWED_HOSTSTRAK_SECRET_KEY
Set TRAK_ALLOWED_HOSTS to your production domains and ensure USE_HTTPS_IN_ABSOLUTE_URLS=True.
Database configuration
Production uses either:
TRAK_DB_URL(preferred), orTRAK_DB_ENGINE,TRAK_DB_NAME,TRAK_DB_USER,TRAK_DB_PASSWORD,TRAK_DB_HOST,TRAK_DB_PORT
Make sure the database user has permissions to run migrations.
Static files
whitenoise handles static files by default. Ensure collectstatic runs during your build or release phase.
Media storage
By default, prod.py configures Google Cloud Storage via GS_BUCKET_NAME.
If you are using S3, set USE_S3_MEDIA=True and the AWS vars in the environment.
Configure a production email backend (Mailgun, SendGrid, etc.) and set the related environment variables.
Stripe (if enabled)
Set the Stripe keys and STRIPE_LIVE_MODE=True, then bootstrap your data:
python manage.py bootstrap_subscriptions
Background jobs
Ensure the Celery worker and beat are running (the celery service in Docker Compose).
Health checks
Set HEALTH_CHECK_TOKENS and wire /health/ into your monitoring system.
Error monitoring
Set SENTRY_DSN in the environment and verify errors are arriving in Sentry.
See the org-wide checklist at Production checklist.