Upgrade for allauth
[wolnelektury.git] / Dockerfile
index 7d4c875..424f37b 100644 (file)
@@ -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