- Cookiecutter template
- Template updates using Cruft
- Docker and docker-compose for easy & simple (c) development and deployment
- Latest python from 3.9 line (due to nogil fork compatibility)
- Latest Django LTS release
- Gunicorn for running WSGI instances on prod
- Uvicorn for ASGI instances on prod
- Postgres for database
- Task management via celery
- Multiple workers & queues supported (if you need to divide / prioritize tasks and apply different levels of concurrency)
- AWS terraform to deploy RDS, SQS, ELB etc
- .env files for configuration; preconfigured
.env
for both local and prod environments - django-debug-toolbar (enabled for local environment) for debugging app performance
- ipython included for nice interactive django shell
- django-extensions for drawing graph of models and more
- 2-stage docker image build for clean app image
- Easy deployment based on
git push production master
- Redeployment doesn't stop
db
,redis
andnginx
containers -> non-interrupted deployments - Migrations are done during deployment, before application startup -> application won't be run on unmigrated database
- CORS headers preconfigured
- CSP integrated
- GZIP compression is off by default to avoid BREACH attack
- http/2 support
- TLS 1.2&1.3 via letsencrypt with auto-renewal
- Forward secrecy ciphers
- Overall ssllabs security class: A+ 100/100/90/90 (to keep compatibility with some older clients)
- Backups to:
- Host system
- B2 using a
writeFiles
-only key
- Script and a written procedure for restoring the system from a backup
- Sentry error tracking preconfigured
- Prometheus for data collection
- Grafana for metrics
- Generic host dashboard section optimized for both VM and physical machines
- nginx-level dashboard section for http/ws statistics
- Active monitoring dashboard (http ping)
- Alert history dashboard
- Alertmanager for detecting issues and alerting