FROM python:3.12-slim-bullseye RUN useradd wagtail EXPOSE 8000 ENV PYTHONUNBUFFERED=1 \ PORT=8000 RUN apt-get update --yes --quiet && apt-get install --yes --quiet --no-install-recommends \ build-essential \ libpq-dev \ libjpeg62-turbo-dev \ zlib1g-dev \ libwebp-dev \ && rm -rf /var/lib/apt/lists/* ENV POETRY_VERSION="" ENV POETRY_HOME="/opt/poetry" ENV PIP_NO_CACHE_DIR=1 ENV POETRY_VIRTUALENVS_CREATE=false ENV POETRY_NO_INTERACTION=1 ENV PATH="$POETRY_HOME/bin:$PATH" RUN apt-get update \ && apt-get install --no-install-recommends --assume-yes curl RUN curl -sSL https://install.python-poetry.org | python3 - WORKDIR /app COPY pyproject.toml poetry.lock README.md /app/ RUN pip install gunicorn RUN poetry install --without=dev COPY . /app RUN chown wagtail:wagtail /app COPY --chown=wagtail:wagtail . . USER wagtail RUN python manage.py collectstatic --noinput --clear CMD set -xe; python manage.py migrate --noinput && gunicorn dnscms.wsgi:application