Dockerfile 2.4 KB
Newer Older
Marco Leoni's avatar
Marco Leoni committed
1 2
FROM jupyter/tensorflow-notebook
# FROM jupyter/scipy-notebook # just commented out
3
#FROM jupyter/minimal-notebook
Marco Leoni's avatar
Marco Leoni committed
4 5

USER root
Nicolas M. Thiéry's avatar
Nicolas M. Thiéry committed
6 7

# Install system utilities with apt
Marco Leoni's avatar
Marco Leoni committed
8
RUN apt-get update && \
Marco Leoni's avatar
Marco Leoni committed
9
    apt-get install -y --no-install-recommends openssh-client rsync unison less tree curl gdb imagemagick libopenjp2-7 && \
Marco Leoni's avatar
Marco Leoni committed
10 11 12
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

13 14
# Setup default prompt
RUN echo 'export PS1=`echo $JUPYTERHUB_USER| sed s/-at-.*//`"@jupyterhub:\w\$ "' > /etc/profile.d/02-prompt.sh
15 16
# Hack to override the setting of PS1 in the users's bashrc
RUN ln -s /etc/profile.d/02-prompt.sh /etc/bash_completion
17 18
# Enable extended file globs in bash
RUN echo 'shopt -s extglob' > /etc/profile.d/03-extglob.sh
Marco Leoni's avatar
Marco Leoni committed
19

Nicolas M. Thiéry's avatar
Nicolas M. Thiéry committed
20 21
USER $NB_UID

22
# Install the base software stack
23 24 25
RUN conda update  -n base -c conda-forge --update-all
COPY environment.yml .
RUN conda env update -n base -f environment.yml && rm environment.yml
26 27

# Install the software stack for each of the following repositories
Marco Leoni's avatar
Marco Leoni committed
28 29 30 31 32 33 34 35 36 37 38 39
RUN for REPO in                                                \
        https://gitlab.u-psud.fr/Info111/outbound.git          \
        https://gitlab.u-psud.fr/Info122/Info122.git           \
        https://github.com/madclam/info113/                    \
        https://github.com/nthiery/M1-ISD-AlgorithmiqueAvancee \
        https://gitlab.u-psud.fr/nicolas.thiery/ter-jupyter    \
        ; do                                                   \
        echo =================================================;\
        echo Installing software stack for:                   ;\
        echo   $REPO                                          ;\
        echo =================================================;\
        git clone $REPO repo                        &&         \
40
        (cd repo; test -d binder && cd binder; mamba env update -n base -f environment.yml) &&         \
Marco Leoni's avatar
Marco Leoni committed
41 42 43 44
        rm -rf repo                                 ||         \
        break 0;                                               \
    done

45 46 47 48
# Enable the Visual Studio proxy extension in notebook and lab
# Taken from https://github.com/betatim/vscode-binder/blob/master/postBuild
RUN jupyter serverextension enable --py jupyter_server_proxy
RUN jupyter labextension install @jupyterlab/server-proxy
49
#RUN code-server --install-extension ms-python.python
50

51
# Install unpackaged jupyterlab extensions and force jupyterlab rebuild
52
RUN jupyter labextension install @wallneradam/run_all_buttons