Uvicorn Gunicorn Docker Versions Save

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

0.8.0

2 months ago

Features

  • ✨ Add support for multi-arch builds, including support for arm64 (e.g. Mac M1). PR #195 by @tiangolo.

Docs

Refactors

Upgrades

Internal

0.7.0

1 year ago

The highlights of this release are:

  • 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.11. PR #159 by @tiangolo.
  • ⬆️ Upgrade Uvicorn version. PR #161 by @tiangolo.
  • ✨ Add support for Python 3.10. PR #99 by @tiangolo.
  • ⬆️ Upgrade Uvicorn to the last version supporting Python 3.6. PR #155 by @tiangolo.
  • ✨ Add Python 3.9 and Alpine Python 3.9. PR #52 by @graue70.
  • ⬆️ Install uvicorn[standard] to include uvloop and Gunicorn support. PR #54 by @tiangolo.

Breaking Changes

Docs

  • ✏️ Fix typo, delete repeated line in README. PR #147 by @jiyeonseo.
  • 📝 Add note to discourage Alpine with Python. PR #96 by @tiangolo.
  • 📝 Add warning for Kubernetes, when to use this image. PR #95 by @tiangolo.
  • ✏️ Fix typo duplicate "Note" in Readme. PR #92 by @tiangolo.
  • ✏️ Fix typo (type annotation) in tests. PR #55 by @tiangolo.

Internal

0.6.0

4 years ago
  • Add docs about installing and pinning dependencies. PR #41.
  • Add slim version. PR #40.
  • Remove leftover unneeded config for tests. PR #39.
  • Add extra configs, tests, and docs for:
    • WORKER_CLASS
    • TIMEOUT
    • KEEP_ALIVE
    • GRACEFUL_TIMEOUT
    • ACCESS_LOG
    • ERROR_LOG
    • GUNICORN_CMD_ARGS
    • MAX_WORKERS
    • PR #38
  • Set up CI using GitHub actions, they provide more free instances, so builds finish faster (4 min vs 9 min). PR #37.
  • Add support for Python 3.8. PR #36.
  • Refactor tests to remove custom testing Dockerfiles, generate them during tests. PR #35.
  • Refactor and simplify build process to reduce code duplication. PR #34.
  • Disable pip cache during installation with --no-cache-dir. PR #13 by @pmav99.
  • Migrate local development from Pipenv to Poetry. PR #31.
  • Add tests and docs for custom PRE_START_PATH env var. PR #30.
  • Add support for custom PRE_START_PATH env var. PR #12 by @mgfinch.

0.5.0

4 years ago
  • Refactor tests to use env vars and add image tags for each build date, like tiangolo/uvicorn-gunicorn:python3.7-2019-10-15. PR #15.
  • Update Gunicorn worker heartbeat directory to /dev/shm to improve performance. PR #9 by @wshayes.
  • Upgrade Travis. PR #7.

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.

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 #5.

0.2.0

5 years ago
  • 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.2

5 years ago
  • Whenever this image is built (and each of its tags/versions), trigger a build for the children images (FastAPI and Starlette).

0.1.0

5 years ago

Add support for /app/prestart.sh.