Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Dockerfile 4.79 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
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 \
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 \
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" ]