Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 7 additions & 17 deletions docker/Dockerfile.end-user
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,13 @@
# echo "FROM dolfinx/dolfinx-onbuild:nightly" | docker build -f- .
#

ARG PYVISTA_VERSION=0.45.2

# Used to set the correct PYTHONPATH for the real and complex install of
# DOLFINx
ARG PYTHON_VERSION=3.12
# Base image for end-user images
ARG BASEIMAGE=ghcr.io/fenics/dolfinx/dev-env:current

FROM ${BASEIMAGE} as dolfinx-onbuild
FROM ${BASEIMAGE} AS dolfinx-onbuild
LABEL description="DOLFINx in 32-bit real and complex modes (onbuild)"

ARG PYTHON_VERSION
Expand Down Expand Up @@ -120,11 +118,11 @@ ONBUILD WORKDIR /root

########################################

FROM dolfinx-onbuild as intermediate
FROM dolfinx-onbuild AS intermediate

########################################

FROM ${BASEIMAGE} as dolfinx
FROM ${BASEIMAGE} AS dolfinx
LABEL description="DOLFINx in 32-bit real and complex modes"

ARG PYTHON_VERSION
Expand All @@ -149,11 +147,9 @@ ENV PKG_CONFIG_PATH=/usr/local/dolfinx-real/lib/pkgconfig:$PKG_CONFIG_PATH \

########################################

FROM dolfinx as lab
FROM dolfinx AS lab
LABEL description="DOLFINx Jupyter Lab"

ARG PYVISTA_VERSION

WORKDIR /root

RUN pip install --no-cache-dir jupyter jupyterlab
Expand All @@ -169,15 +165,9 @@ RUN apt-get -qq update && \
# matplotlib improves plotting quality with better color maps and
# properly rendering colorbars.
# trame is the preferred backend for pyvista.
RUN dpkgArch="$(dpkg --print-architecture)"; \
pip install matplotlib; \
case "$dpkgArch" in amd64) \
pip install --no-cache-dir pyvista[jupyter]==${PYVISTA_VERSION} ;; \
esac; \
case "$dpkgArch" in arm64) \
pip install --no-cache-dir https://github.com/scientificcomputing/vtk-aarch64/releases/download/v9.4.2-py3.12/vtk-9.4.2.dev0-cp312-cp312-linux_aarch64.whl && \
pip install --no-cache-dir pyvista[jupyter]==${PYVISTA_VERSION} ;; \
esac; \
# vtk>=9.5.0 required as minimal version for aarch64 wheels support.
RUN pip install matplotlib; \
pip install --no-cache-dir vtk>=9.5.0 pyvista[jupyter] ; \
pip cache purge

# Jupyter Notebook kernel specification for complex build DOLFINx
Expand Down
Loading