Django & Docker - Open-source Projects
Tags: django, docker, opensource, appseed
Published: 2021-09-15 09:05:11

---
title: Django & Docker - Open-source Projects
published: true
description: A curated list with Open-source projects crafted in Django and configured to work with Docker. All projects are published on Github (MIT License).
tags: django, docker, opensource, appseed
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vtov980vxiiif1ftjd6d.jpg
canonical_url: https://blog.appseed.us/django-docker-open-source-projects/
---
Hello Coders!

This article presents a curated list of **[Open-Source Django](https://blog.appseed.us/django-docker-open-source-projects/)** Projects already configured to run in **Docker**, the popular virtualization software.  For newcomers, **Django** is a leading web framework coded in Python by programming experts and open-source enthusiasts using a batteries-included concept. All projects mentioned on this page are available for download from Github (no registration lock) under MIT License.

> *Thanks for reading!* - Content provided by **[App Generator](https://appseed.us/)**.

---

- 👉 `Section #1`: **Django** - Short Presentation
- 👉 `Section #2`: What is **Docker**
- 👉 `Section #3`: **Install Docker** (Unix workspace)
- 👉 `Section #4`: **Docker** CheatSheet
- 👉 `Section #5`: Pre-configured **Docker** Projects (all free)
  - (free) 📥 [Django Pixel Lite](https://appseed.us/django/django-pixel-bootstrap-uikit) 
  - (free) 📥 [Django Atlantis Dark](https://appseed.us/admin-dashboards/django-dashboard-atlantis-dark)
  - (free) 📥 [Django Bootstrap 5 Volt](https://appseed.us/admin-dashboards/django-dashboard-volt) 

---

## 1# - Django Presentation

Django is a modern web framework crafted in Python language that provides modules and libraries for many common features required in modern web development:

- Basic authentication, Social Login
- Out-of-the-box Admin Section with CRUD access for all tables
- Abstract Database access via a powerful ORM
- Powerful built-in security patterns
- Helpers: forms, models, and data validation

Django can be installed in many ways and the most recommended way is to use PIP, the official Python package manager. Here is the complete list with commands: 

> **Step #1** - Create a `virtual environment`

```bash
$ # Create the environment
$ virtualenv env 
$
$ # Activate the virtual environment
$ source env/bin/activate
```

---

> **Step #2** - Install Django via PIP

```bash
$ pip install Django // install latest version
// OR
$ pip install django==3.2.6 // install specific version
```

--- 

> **Step #3** - Build a minimal Django project

```bash
$ mkdir firstproject 
$ cd firstproject
$
$ django-admin startproject config . 
```

---

> **Step #4** - Start the project

```bash
$ python manage.py runserver 
```

If all goes well, we should see in the browser the default Django splash screen when accessing `http://localhost:8000`.

![Django - The Default Screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ug9t6oostt5ns0bjd0b2.png)

---

## 2# - What is Docker

Probably the best definition of Docker is the one provided by the official help: **Docker** is virtualization software for developing, shipping, and running applications that provides a clear separation of applications from the infrastructure so we can deliver software much faster and reliable.

---

![Docker - Official Logo.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/48dwrn2kvuhl5ed5okqb.png)

---

Basically, Docker provides a way to package applications into containers that are executable components built with applications source code and operating system libraries. Once the containers are built, Docker provides also a control layer that enables developers to build, deploy, start, stop, and update containers using simple commands. For more information about Docker feel free to access:

- [Docker overview](https://docs.docker.com/get-started/overview/) - the official documentation
- [What is Docker](https://opensource.com/resources/what-docker) - comprehensive article provided by OSS.com
 
---

## 3# - Install Docker (Ubuntu 18 LTS)

All Django projects listed in the last section of this article can be compiled and executed without Docker by following the documentation provided for each project but using Docker the build and execution might be faster with fewer commands typed in the terminal.  Let's install Docker using an Ubuntu 18 LTS workstation.

---

> **Note**: All commands presented in this section are executed using `sudo`, a command that requires `ROOT` privileges.  

--- 

> **Step #1** - Update the system to use the latest packages (optional but recommended)

```bash
$ sudo apt-get update
```

---

> **Step #2** - Uninstall old versions of Docker (optional but recommended)

```bash
$ sudo apt-get remove docker-engine docker docker.io  
```

---

> **Step #3** - Re-Install Docker (the latest version shipped by Ubuntu)

```bash
$ sudo apt-get install docker.io
```

---

> **Step #4** - Enable Docker as a service

```bash
$ sudo systemctl enable docker
$ sudo systemctl start docker
```

At this point, we should be able to build and start all **Django samples using Docker**. Just to check the installation we can check the version of the current Docker installation using `--version` argument:

```bash
$ docker --version 
Docker version 20.10.5, build 55c4c88 // <-- The Output 
```

---

## 4# - Docker CheatSheet

This section is a short introduction to the most used Docker commands.

> Docker - **Inspecting Containers**

```bash
$ docker --version       # check Docker version
$ docker ps -a           # list all containers
$ docker ps              # list all RUNNING containers
$ docker top <container> # list the active processes 
```

---

> Docker -  **Management Commands**

```bash
$ docker run     <image>       # create and start the container
$ docker start   <container>   # start container
$ docker stop    <container>   # stop container (gracefully)
$ docker pause   <container>   # freeze the container
$ docker kill    <container>   # kill container (not gracefully)
$ docker restart <container>   # restart container (gracefully) 
```

---

> Docker - **Image Transfer Commands**

```bash
$ docker pull  <image>   # pull an image from a registry
$ docker push  <image>   # push/save an image to a registry
$ docker search <image>  # returns all images related to search keyword
```

---

> Docker - **Miscellaneous Commands**

```bash
$ docker container kill $(docker ps -q)  # kill all containers
$ docker container rm $(docker ps -a -q) # delete all containers 
$ docker network prune                   # delete all IPv4 used address 
```

---

## 5# - Django & Docker Samples

With this minimal **Django & Docker** background we should be able to execute and understand how the samples are built and executed. *Let's go!*

### Django Pixel Lite

Open-Source Django starter coded with basic modules, database, ORM, and deployment scripts on top of Pixel Lite UI Kit, a fully responsive and modern Bootstrap 5 UI Kit that will help you build creative and professional websites. The Django codebase is provided with database, ORM, authentication, and deployment scripts.

---

> [Django Pixel Lite](https://appseed.us/django/django-pixel-bootstrap-uikit) - product page (contains sources and DEMO)

--- 

```bash
$ unzip django-pixel-lite.zip
$ cd django-pixel-lite
$
$ docker-compose pull 
$ docker-compose build 
$ docker-compose up
```

![Django Docker Sample - Pixel Lite.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/katj8vk9wm2ztu679n1z.png)

---

### Django Atlantis Dark

Atlantis Lite (Dark Design) is a free bootstrap 4 admin dashboard that is beautifully and elegantly designed to display various metrics, numbers, or data visualization. Atlantis Lite admin dashboard has 2 layouts, many plugins, and UI components to help developers create dashboards quickly and effectively so they can save development time and also help users to make the right and fast decisions based on existing data.

---

> [Django Atlantis Dark](https://appseed.us/admin-dashboards/django-dashboard-atlantis-dark) -  product page (contains sources and DEMO)

---

```bash
$ unzip django-atlantis-dark.zip
$ cd django-atlantis-dark
$
$ docker-compose pull 
$ docker-compose build 
$ docker-compose up
```

![Django Docker Sample - Atlantis Dark.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3uplrh2cyoyh4lvebp6l.png)

---

### Django Bootstrap 5 Volt

Volt Dashboard is a free and open-source Bootstrap 5 Admin Dashboard featuring over 100 components, 11 example pages, and 3 plugins with Vanilla JS. There is more than 100 free Bootstrap 5 components included some of them being buttons, alerts, modals, and datepickers.

---

> [Django Bootstrap 5 Volt](https://appseed.us/admin-dashboards/django-dashboard-volt) -  product page (contains sources and DEMO)

---

```bash
$ unzip django-dashboard-volt.zip
$ cd django-dashboard-volt
$
$ docker-compose pull 
$ docker-compose build 
$ docker-compose up
```

![Django Docker Sample - Volt Dashboard.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ncbqbriza14niojy1cyi.png)

--- 

### Django AdminLTE

AdminLTE is one of the best open-source admin dashboard & control panel themes. Built on top of Bootstrap, AdminLTE provides a range of responsive, reusable, and commonly used components. Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.

---

> [AdminLTE Django](https://appseed.us/admin-dashboards/django-dashboard-adminlte) -  product page (contains sources and DEMO)
 
---

```bash
$ unzip django-adminlte.zip
$ cd django-adminlte
$
$ docker-compose pull 
$ docker-compose build 
$ docker-compose up
``` 

![Django Docker Sample - AdminLTE Dashboard.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4no83ejy1vtb7641px23.png)

---

> Thanks for reading! For more resources, please access:

---

- More [Django Dashboards](https://appseed.us/admin-dashboards/django) - free & commercial starters
- [Open-Source Dashboards](https://appseed.us/admin-dashboards/open-source) - crafted in Flask, Django, and React  
- Free [React Dashboards](https://dev.to/sm0ke/react-dashboards-open-source-apps-1c7j) - a popular article published here on Dev