Uvicorn Gunicorn Starlette Docker Versions Save

Docker image with Uvicorn managed by Gunicorn for high-performance Starlette web applications in Python with performance auto-tuning.

0.8.0

2 months ago

Features

  • ✨ Add support for multiarch builds, including ARM (e.g. Mac M1). PR #156 by @tiangolo.

Refactors

Upgrades

Docs

Internal

0.7.0

1 year ago

Highlights of this release:

  • Support for Python 3.10 and 3.11.
  • Deprecation of Python 3.6.
    • The last Python 3.6 image tag was pushed and is available in Docker Hub, but it won't be updated or maintained anymore.
    • The last image with a date tag is python3.6-2022-11-25.
  • Upgraded versions of all the dependencies.

Features

  • ✨ Add support for Python 3.10 and 3.11. PR #107 by @tiangolo.
  • 👷 Add support for Python 3.9 and Python 3.9 Alpine. PR #36 by @tiangolo.

Breaking Changes

  • 🔥 Deprecate and remove Python 3.6. PR #98 by @tiangolo.

Upgrades

  • ⬆️ Upgrade Uvicorn. PR #99 by @tiangolo.
  • ⬆️ Bump starlette from 0.14.2 to 0.22.0 in /docker-images. PR #90 by @dependabot[bot].
  • ⬆️ Upgrade Uvicorn and Starlette to the latest versions that support Python 3.6. PR #94 by @tiangolo.

Docs

  • 📝 Add note to discourage Alpine with Python. PR #39 by @tiangolo.
  • 📝 Add Kubernetes warning, when to use this image. PR #38 by @tiangolo.
  • ✏️ Fix typo duplicate "Note" in Readme. PR #37 by @tiangolo.

Internal

0.6.0

4 years ago
  • Add docs about installing and pinning dependencies. PR #19.
  • Add slim version. PR #18.
  • Fix testing race condition by sending the request first PR #17.
  • Update and refactor bringing all the new features from the base image. Includes:
    • Centralize, simplify, and deduplicate code and setup
    • Move CI to GitHub actions
    • Add Python 3.8 (and Alpine)
    • Add new configs and docs:
      • WORKER_CLASS
      • TIMEOUT
      • KEEP_ALIVE
      • GRACEFUL_TIMEOUT
      • ACCESS_LOG
      • ERROR_LOG
      • GUNICORN_CMD_ARGS
      • MAX_WORKERS
    • PR #16.
  • Disable pip cache during installation. PR #15.
  • Migrate local development from Pipenv to Poetry. PR #14.
  • Add docs for custom PRE_START_PATH env var. PR #13.

0.5.0

4 years ago
  • Refactor tests to use env vars and add image tags for each build date, like tiangolo/uvicorn-gunicorn-starlette:python3.7-2019-10-15. PR #8.
  • Upgrade Travis. PR #5.

0.4.0

5 years ago
  • Add support for live auto-reload with an additional custom script /start-reload.sh, check the updated documentation. PR #6 in parent image.

0.3.0

5 years ago
  • Set WORKERS_PER_CORE by default to 1, as it shows to have the best performance on benchmarks.
  • Make the default web concurrency, when WEB_CONCURRENCY is not set, to a minimum of 2 workers. This is to avoid bad performance and blocking applications (server application) on small machines (server machine/cloud/etc). This can be overridden using WEB_CONCURRENCY. This applies for example in the case where WORKERS_PER_CORE is set to 1 (the default) and the server has only 1 CPU core. PR #4 and PR #5 in parent image.

0.2.0

5 years ago

From upstream image: https://github.com/tiangolo/uvicorn-gunicorn-docker

  • Make /start.sh run independently, reading and generating used default environment variables. And remove /entrypoint.sh as it doesn't modify anything in the system, only reads environment variables. PR #4.

0.1.0

5 years ago

Add support for /app/prestart.sh.