Skip to content
Snippets Groups Projects
Select Git revision
  • aac1340ca16d163f7c16c048a3cbfbe8361aeeb1
  • master default protected
  • dev_moritz
  • 0.2.0
  • 0.1.0
5 results

Dockerfile

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Dockerfile 5.01 KiB
    # SPDX-License-Identifier: Apache-2.0
    FROM git.imp.fu-berlin.de:5000/bioroboticslab/robofish/docker/ubuntu
    
    LABEL maintainer="Moritz Maxeiner <moritz.maxeiner@fu-berlin.de>"
    LABEL authors="Moritz Maxeiner <moritz.maxeiner@fu-berlin.de>"
    
    RUN apt-get update && \
        apt-get install -y \
            curl && \
        apt-get clean
    
    ENV NO_UPDATE_NOTIFIER=true
    RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \
        apt-get update && \
        apt-get install -y \
            nodejs \
            node-gyp \
            libssl1.0-dev \
            openjdk-11-jre-headless && \
        apt-get clean && \
        npm config set cache /var/cache/npm --global && \
        npm config set update-notifier false --global
    
    RUN sed -i -e 's|root:/root|root:/home|g' /etc/passwd
    
    ENV HOME=/home
    ENV XDG_DATA_HOME=/usr/local/share
    ENV IPYTHONDIR=/usr/local/etc/ipython
    ENV JUPYTER_CONFIG_DIR=/usr/local/etc/jupyter
    COPY jupyter_notebook_config.py ${JUPYTER_CONFIG_DIR}/
    ENV JUPYTERLAB_SETTINGS_DIR=$HOME/.config/jupyter/lab/user-settings
    ENV JUPYTERLAB_WORKSPACES_DIR=$HOME/.config/jupyter/lab/workspaces
    
    RUN python${PYTHON_VERSION} -m pip install \
            jupyterlab==2.2.9 \
            jupyterhub==1.2.2 \
            ipympl==0.5.8 \
            black \
            isort \
    	&& \
        python${PYTHON_VERSION} -m jupyter labextension install \
            @jupyter-widgets/jupyterlab-manager \
        && \
        python${PYTHON_VERSION} -m jupyter serverextension enable --sys-prefix --py jupyterlab
    
    RUN python${PYTHON_VERSION} -m jupyter labextension install \
            jupyter-webrtc \
            ipyvolume \
            jupyter-threejs \
            jupyterlab-execute-time
    
    RUN python${PYTHON_VERSION} -m pip install jupyterlab_code_formatter==1.3.8 && \
        python${PYTHON_VERSION} -m jupyter labextension install @ryantam626/jupyterlab_code_formatter && \
        python${PYTHON_VERSION} -m jupyter serverextension enable --sys-prefix --py jupyterlab_code_formatter
    
    RUN python${PYTHON_VERSION} -m pip install jupyterlab-git && \
        python${PYTHON_VERSION} -m jupyter lab build
    
    RUN python${PYTHON_VERSION} -m pip install jupyterlab_iframe && \
        python${PYTHON_VERSION} -m jupyter labextension install jupyterlab_iframe && \
        python${PYTHON_VERSION} -m jupyter serverextension enable --py jupyterlab_iframe
    
    RUN mkdir -p /usr/local/venv && \
        python${PYTHON_VERSION} -m venv /usr/local/venv/default && \
        . /usr/local/venv/default/bin/activate && \
        python${PYTHON_VERSION} -m pip install --upgrade \
            pip==${PYTHON_PIP_VERSION} \
            setuptools==${PYTHON_SETUPTOOLS_VERSION} && \
        pip install tensorflow==1.15.3 && \
        pip install \
            wheel \
            black \
            isort \
            pandas \
            scipy \
            pingouin \
            statsmodels \
            matplotlib \
            seaborn \
            brokenaxes \
            tables \
            xlrd \
            hsluv \
            ipympl \
            ipywebrtc \
            ipyvolume \
            JPype1 \
            PySide2 \
            ipykernel \
            tqdm \
            sklearn \
            ffmpeg-python \
            neo \
            'mxnet-cu101>=1.6.0,<1.7.0' \
            && \
        ipython kernel install --name=default --display-name "Python 3.8 (Default)"
    
    RUN mkdir -p /usr/local/venv && \
        python${PYTHON_VERSION} -m venv /usr/local/venv/tf2 && \
        . /usr/local/venv/tf2/bin/activate && \
        python${PYTHON_VERSION} -m pip install --upgrade \
            pip==${PYTHON_PIP_VERSION} \
            setuptools==${PYTHON_SETUPTOOLS_VERSION} && \
        pip install tensorflow-gpu==2.3.1 && \
        pip install \
            wheel \
            black \
            isort \
            pandas \
            scipy \
            pingouin \
            statsmodels \
            matplotlib \
            seaborn \
            brokenaxes \
            tables \
            xlrd \
            hsluv \
            ipympl \
            ipywebrtc \
            ipyvolume \
            JPype1 \
            PySide2 \
            ipykernel \
            tqdm \
            sklearn \
            ffmpeg-python \
            neo \
            'mxnet-cu101>=1.6.0,<1.7.0' \
            && \
        ipython kernel install --name=tf2 --display-name "Python 3.8 (TensorFlow 2)"
    
    RUN apt-get update && \
        apt-get install -y \
            texlive-full \
        && \
        apt-get clean && \
        python${PYTHON_VERSION} -m pip install jupyterlab_latex && \
        jupyter labextension install @jupyterlab/latex
    
    RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 && \
        add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu/ bionic-cran40/' && \
        apt-get update && \
        apt-get install -y  r-base r-base-html && \
        apt-get clean
    
    RUN R -e "install.packages('IRkernel')" && \
        R -e "IRkernel::installspec(user = FALSE)" && \
        jupyter labextension install @techrah/text-shortcuts
    
    RUN R -e "install.packages('IRkernel')" && \
        R -e "install.packages('readr')" && \
        R -e "install.packages('car')" && \
        R -e "install.packages('lme4')" && \
        R -e "install.packages('nlme')" && \
        R -e "install.packages('lmerTest')" && \
        R -e "install.packages('ggplot2')" && \
        R -e "install.packages('emmeans')"
    
    RUN chmod -x /etc/update-motd.d/*
    
    WORKDIR "${HOME}"
    CMD [ "jupyterhub-singleuser" ]