diff --git a/Dockerfile b/Dockerfile index fa1b4f0..a19240d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt . -RUN pip install --no-cache-dir -r requirements.txt gunicorn +RUN pip install --no-cache-dir -r requirements.txt ARG BUILD_TIME ENV BUILD_TIME=${BUILD_TIME} diff --git a/requirements.txt b/requirements.txt index 38524e9..5841df5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,3 +5,9 @@ python-dotenv>=1.0 whitenoise>=6.6 feedparser>=6.0 gevent>=24.0 +# Pinned: 26.2.0 ships ggevent.py importing packaging.version while declaring +# no dependencies at all, so the gevent worker dies at boot unless packaging is +# installed explicitly. Both stay pinned here rather than being pulled in bare +# by the Dockerfile, so a rebuild cannot silently change the worker again. +gunicorn==26.2.0 +packaging>=24.0