Docker Nginx Postgres Django Example Save

Example using Docker, Django, multiple Postgres databases, NginX, Gunicorn, pipenv, GitLab CI and tox.

Project README

Example using Docker, Django, multiple Postgres databases, NginX, Gunicorn, pipenv, GitLab CI and tox

This is a Docker setup for a web application based on Django.

  • The Django application is served by Gunicorn (WSGI application).
  • We use NginX as reverse proxy and static files server. Static and media files are persistently stored in volumes.
  • Multiple Postgres databases can be used. Data are persistently stored in volumes.
  • Python dependencies are managed through pipenv, with Pipfile and Pipfile.lock.
  • Support for multiple environment settings (variable DJANGO_SETTINGS_MODULE is passed to the djangoapp service).
  • Tests are run using tox, pytest, and other tools such as safety, bandit, isort and prospector.
  • Continuous Integration is configured for GitLab with .gitlab-ci.yml. CI follows a Build-Test-Release flow. WARNING: this part is not fully functional yet.

Also a Makefile is available for convenience. You might need to use sudo make instead of just make because docker and docker-compose commands often needs admin privilege.

Requirements

You need to install Docker and Docker-Compose.

Build

docker-compose build or make build.

Migrate databases

docker-compose run --rm djangoapp hello/manage.py migrate or make migrate.

Collect static files

docker-compose run --rm djangoapp hello/manage.py collectstatic --no-input' or make collectstatic.

Run

docker-compose up or make run.

Tests

  • make checksafety
  • make checkstyle
  • make test
  • make coverage

Related blog post

Docker Compose with NginX, Django, Gunicorn and multiple Postgres databases

License

Software licensed under the ISC license.

Open Source Agenda is not affiliated with "Docker Nginx Postgres Django Example" Project. README Source: pawamoy/docker-nginx-postgres-django-example
Stars
160
Open Issues
0
Last Commit
7 months ago
License
ISC

Open Source Agenda Badge

Open Source Agenda Rating