Python Dockerflow

This package implements a few helpers and tools for Mozilla’s Dockerflow pattern. The documentation can be found on GitHub Actions Codecov Documentation Status CalVer - Timely Software Versioning


Please install the package using your favorite package installer:

pip install dockerflow

Issues & questions

See the issue tracker on GitHub to open tickets if you have issues or questions about python-dockerflow.


You may be asking ‘What is Dockerflow?’

Here’s what it’s documentation says:

Dockerflow is a specification for automated building, testing and publishing of docker web application images that comply to a common set of behaviours. Compliant images are simpler to deploy, monitor and manage in production.


Accept its configuration through environment variables. See: Django, Flask, Sanic
Listen on environment variable $PORT for HTTP requests. See: Django, Flask, Sanic
Must have a JSON version object at /app/version.json. See: Django, Flask, Sanic
  • Respond to /__version__ with the contents of /app/version.json
  • Respond to /__heartbeat__ with a HTTP 200 or 5xx on error. This should check backing services like a database for connectivity
  • Respond to /__lbheartbeat__ with an HTTP 200. This is for load balancer checks and should not check backing services.

See: Django, Flask, Sanic

Send text logs to stdout or stderr. See: Generic, Django, Flask, Sanic
static content
Serve its own static content. See: Django, Flask, Flask

Indices and tables