- Docker/Docker-compose environment
- Environment variables
- Separated settings for Dev and Prod django version
- Docker configuration for nginx for 80 and/or 443 ports (dev/stage/prod) (Let's Encrypt certbot)
- Celery worker
- Redis service for caching using socket. Also message broker for queue
- RabbitMQ configuration
- ASGI support
- Linters integration (flake8, black, isort)
- Swagger in Django Admin Panel
- Ready for deploy by one click
- Separated configuration for dev and prod (requirements and settings)
- GitHub Actions
- Redefined default User model (main.models.py)
- MailHog, Jaeger, RabbitMQ integrations
- Multi-stage build for prod versions
- PostgreSql Backup
git clone https://github.com/bandirom/django-blog.git
[email protected]
SUPERUSER_PASSWORD=secretp@ssword
MICROSERVICE_TITLE=MyProject
docker-compose up -d --build
docker-compose logs -f
Server will bind 8000 port. You can get access to server by browser http://localhost:8000
docker-compose -f prod.yml -f prod.dev.yml up -d --build
docker-compose -f prod.yml -f prod.stage.yml up -d --build
docker-compose -f prod.yml -f prod.prod.yml up -d --build
docker-compose -f docker-compose -f docker/modules/mailhog.yml up -d --build
Don't forget to set SMTP mail backend in settings
In prod.certbot.yml:
Change the envs: CERTBOT_EMAIL: your real email ENVSUBST_VARS: list of variables which set in nginx.conf files APP: value of the variable from list ENVSUBST_VARS
To set https for 2 and more nginx servers:
ENVSUBST_VARS: API UI
API: api.domain.com
UI: domain.com
Run command:
docker-compose -f prod.yml -f prod.certbot.yml up -d --build