Python 3.11, relevant upgrades
[wolnelektury.git] / Dockerfile
index 08ec723..434dade 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.10-trixie
+ARG PYTHON_IMAGE=python:3.11-trixie
 ARG UID=8100
 ARG GID=8100
 
@@ -40,6 +40,11 @@ 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
 
@@ -92,6 +97,11 @@ COPY src /app/src
 #
 FROM app AS static-builder
 
+# django-pipeline compiler creates temp dirs in place. Let it.
+USER root
+RUN find /app/src/*/static -type d -exec chown app {} +
+USER app
+
 RUN python manage.py collectstatic --noinput