42 lines
1009 B
Docker
42 lines
1009 B
Docker
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==20.0.4"
|
|
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
|