Django Boilerplate

screenshot of Django Boilerplate
django

An opinionated Django boilerplate running Celery & Django on the same Docker container and ready to run on Docker Compose & Kubernetes.

Overview:

The Django Boilerplate is an opinionated Django boilerplate that is ready to run in a Docker container and on Kubernetes. It comes with several features including Docker Compose and Kubernetes readiness, Postgres support, separate Dockerfiles for each service, static files storage on S3 and CloudFront using Django Storages, .env files for each service, separate settings files for development and production environments, configuration to run Celery on the same container as Django using s6-overlay, Redis container configuration, cache configuration with disk and Redis support, and WSGI configuration using gunicorn. It also includes other common libraries.

Features:

  • Docker Compose ready
  • Kubernetes ready
  • Postgres ready
  • Separate Dockerfile for each service
  • Static files on S3 and CloudFront using Django Storages
  • .env file for each service
  • Separation between dev and prod environments in base settings file
  • Configuration to run Celery on the same container as Django using s6-overlay
  • Configuration to run Redis in a separate container
  • Cache configured to run on disk and using Redis
  • WSGI configured using gunicorn
  • Other common libraries installed

Summary:

The Django Boilerplate is a comprehensive Django boilerplate that provides a ready-to-use environment for running Django applications in Docker containers and on Kubernetes. With its support for various features such as Docker Compose, Kubernetes, Postgres, separate Dockerfiles for each service, and configuration for using S3, CloudFront, Celery, Redis, and gunicorn, it streamlines the development and deployment process. Contributions are also welcome, making it a collaborative project for the Django community.

django
Django

Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. It follows the model-view-controller (MVC) architectural pattern, providing an extensive set of built-in tools and conventions to streamline the creation of robust and scalable web applications.

docker
Docker

A website that uses Docker for containerization to streamline development, testing, and deployment workflows. This includes features such as containerization of dependencies, automated builds and deployments, and container orchestration to ensure scalability and availability.