ARG RENKU_BASE_IMAGE=renku/renkulab-py:3.7-0.7.2 FROM ${RENKU_BASE_IMAGE} # FROM renku/renkulab-py:3.7-renku0.15.1-0.6.3 # see https://github.com/SwissDataScienceCenter/renkulab-docker # to swap this image for the latest version available # Uncomment and adapt if code is to be included in the image # COPY src /code/src # Uncomment and adapt if your R or python packages require extra linux (ubuntu) software # e.g. the following installs apt-utils and vim; each pkg on its own line, all lines # except for the last end with backslash '\' to continue the RUN line USER root RUN apt-get update && \ apt-get install -y --no-install-recommends \ apt-utils \ # Geckodriver needed for Selenium firefox-geckodriver USER ${NB_USER} # install the python dependencies COPY requirements.txt environment.yml /tmp/ RUN conda env update -q -f /tmp/environment.yml && \ /opt/conda/bin/pip install -r /tmp/requirements.txt && \ conda clean -y --all && \ conda env export -n "root" # Tensorboard extension RUN jupyter labextension install jupyterlab_tensorboard && \ pip install jupyter-tensorboard==0.1.10 # RENKU_VERSION determines the version of the renku CLI # that will be used in this image. To find the latest version, # visit https://pypi.org/project/renku/#history. ARG RENKU_VERSION=0.16.1 ######################################################## # Install renku from pypi or from github if it's a dev version RUN if [ -n "$RENKU_VERSION" ] ; then \ currentversion=$(pipx list | sed -n "s/^\s*package\srenku\s\([^,]\+\),.*$/\1/p") ; \ if [ "$RENKU_VERSION" != "$currentversion" ] ; then \ pipx uninstall renku ; \ /home/jovyan/.local/pipx/shared/bin/pip install setuptools==57.5.0; \ gitversion=$(echo "$RENKU_VERSION" | sed -n "s/^[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+\(\.dev[[:digit:]]\+\)*\(+g\([a-f0-9]\+\)\)*\(+dirty\)*$/\3/p"); \ if [ -n "$gitversion" ] ; then \ pipx install --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\ else \ pipx install --force renku==${RENKU_VERSION} ;\ fi \ fi \ fi