FROM debian:bullseye MAINTAINER Guillaume Anciaux ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 ## for apt to be noninteractive ENV DEBIAN_FRONTEND noninteractive ENV DEBCONF_NONINTERACTIVE_SEEN true RUN apt-get -qq update && apt-get -qq upgrade && apt -y clean && rm -rf /var/lib/apt/lists/* RUN apt-get -qq update && apt-get install -y cmake cmake-curses-gui build-essential python3-dev python3-pip libboost-dev libfftw3-dev libgsl-dev gfortran liblapack-dev libopenmpi-dev sharutils git doxygen graphviz texlive-latex-base libmumps-dev libscotch-dev ffmpeg emacs-nox && apt -y clean && rm -rf /var/lib/apt/lists/* RUN apt-get -qq update && apt-get install -y xsltproc ccache bc libgtest-dev && apt -y clean && rm -rf /var/lib/apt/lists/* RUN apt-get -qq update && apt-get install -y libocct-data-exchange-dev libocct-foundation-dev libocct-modeling-algorithms-dev libocct-modeling-data-dev libocct-ocaf-dev && apt -y clean && rm -rf /var/lib/apt/lists/* RUN echo "\ deb http://deb.debian.org/debian testing main contrib non-free" >> /etc/apt/sources.list RUN echo " \ Package: * \ Pin: release a=stable \ Pin-Priority: 800 \ \ Package: * \ Pin: release a=testing \ Pin-Priority: 600 \ " >> /etc/apt/preferences.d/priorities RUN apt-get -qq update && apt-get install -t testing -y libgmsh-dev gmsh RUN apt-get update && apt -y install nodejs npm git-lfs libgl1-mesa-glx xvfb imagemagick fuse3 && apt -y clean && rm -rf /var/lib/apt/lists/* RUN pip3 install jupyterhub RUN npm install -g configurable-http-proxy RUN pip3 install jupyterlab notebook numpy scipy sympy matplotlib pyvista akantu meshio pep8 tamaas RUN pip3 install sphinx breathe sphinx-rtd-theme pytest scipy xmltodict meshio pep8 RISE RUN curl -sSL https://d.juicefs.com/install | sh - RUN mkdir -p /srv/jupyterhub/ WORKDIR /srv/jupyterhub/ RUN ln -sf /dev/stdout /var/log/jupytherhub.log RUN mkdir /etc/users && mv /etc/passwd /etc/users && mv /etc/group /etc/users RUN pip3 install gmsh tqdm RUN pip3 install git+https://gitlab.com/ganciaux/slides.git RUN echo "\ set -x \n\ export DISPLAY=:99.0\n\ export PYVISTA_OFF_SCREEN=true\n\ export PYVISTA_PLOT_THEME=document\n\ which Xvfb\n\ Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &\n\ sleep 3\n\ exec /usr/local/bin/jupyterhub-singleuser \"\$@\" \n\ " >> /entrypoint.sh RUN echo "\ c.Spawner.cmd = [\"/bin/bash\"] \n\ c.Spawner.args = [\"/entrypoint.sh\"] \n\ " >> /jupyterhub_config.py CMD ["/usr/local/bin/jupyterhub", "--config", "/jupyterhub_config.py"]