X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/2f63ddbb8cb9d393f99a03ee057291d23c6655de..00816a95ccf017eee4d78953edfae38fc7ab47c1:/Dockerfile diff --git a/Dockerfile b/Dockerfile index 7d4c87540..424f37bef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,7 @@ # Global build arguments. Stages using UID/GID must redeclare them # (bare `ARG UID`) to bring them into scope; the defaults are set here. -ARG PYTHON_IMAGE=python:3.9-trixie +ARG PYTHON_IMAGE=python:3.10-trixie ARG UID=8100 ARG GID=8100 @@ -40,11 +40,18 @@ RUN apt-get update && apt-get install -y \ texlive-fonts-extra-links \ fonts-noto-core fonts-noto-extra +# Install dart-sass for compiling SCSS. +ARG DART_SASS_VERSION=1.108.1 +RUN arch=$(dpkg --print-architecture | sed 's/amd64/x64/') && \ + curl -fsSL "https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-${arch}.tar.gz" \ + | tar xz -C /opt COPY requirements/requirements.txt requirements.txt -RUN pip install --no-cache-dir -r requirements.txt -RUN pip install --no-cache-dir \ +RUN --mount=type=cache,target=/root/.cache/pip \ + pip install -r requirements.txt +RUN --mount=type=cache,target=/root/.cache/pip \ + pip install \ psycopg2-binary \ django-debug-toolbar==3.2.2 @@ -73,7 +80,8 @@ FROM deps AS app USER root -RUN pip install --no-cache-dir gunicorn +RUN --mount=type=cache,target=/root/.cache/pip \ + pip install gunicorn USER app @@ -156,7 +164,8 @@ FROM app AS test USER root COPY requirements/requirements-test.txt /tmp/ -RUN pip install --no-cache-dir -r /tmp/requirements-test.txt +RUN --mount=type=cache,target=/root/.cache/pip \ + pip install -r /tmp/requirements-test.txt USER app RUN mkdir -p /app/var/counters COPY --from=static-builder /app/var/static/staticfiles.json /app/var/static/staticfiles.json