Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Dockerfile 2.77 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_10.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

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=/root/.config/jupyter/lab/user-settings
ENV JUPYTERLAB_WORKSPACES_DIR=/root/.config/jupyter/lab/workspaces

RUN python${PYTHON_VERSION} -m pip install \
        jupyterlab \
        jupyterhub \
        ipympl \
	&& \
    python${PYTHON_VERSION} -m jupyter labextension install \
        @jupyter-widgets/jupyterlab-manager && \
    python${PYTHON_VERSION} -m jupyter serverextension enable --sys-prefix --py jupyterlab && \
    python${PYTHON_VERSION} -m jupyter labextension install \
        jupyter-webrtc \
        ipyvolume \
        jupyter-threejs \
        jupyterlab-execute-time \
    && \
    python${PYTHON_VERSION} -m jupyter labextension install @ryantam626/jupyterlab_code_formatter && \
    python${PYTHON_VERSION} -m pip install jupyterlab_code_formatter && \
    python${PYTHON_VERSION} -m jupyter serverextension enable --sys-prefix --py jupyterlab_code_formatter && \
    python${PYTHON_VERSION} -m pip install black isort && \
    python${PYTHON_VERSION} -m pip install jupyterlab-git && \
    python${PYTHON_VERSION} -m jupyter lab build

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 \
        tables \
        xlrd \
        hsluv \
        ipympl \
        ipywebrtc \
        ipyvolume \
        seaborn \
        JPype1 \
        PySide2 \
        ipykernel \
        tqdm \
        sklearn \
        'mxnet-cu101>=1.6.0,<1.7.0' \
        && \
    ipython kernel install --name=default

RUN chmod -x /etc/update-motd.d/*

WORKDIR "/"
CMD [ "jupyterhub-singleuser" ]