Skip to content
Snippets Groups Projects
Select Git revision
  • 19e271ef85d9a531a4a0da205cfcfcadca260fe6
  • master default protected
  • development
3 results

Dockerfile

Blame
  • Dockerfile 10.35 KiB
    # syntax=docker/dockerfile:1
    
    # tensorflow-notebook:cuda-latest installs tensorflow[and-cuda] from PyPI
    FROM quay.io/jupyter/tensorflow-notebook:cuda-latest AS build
    
    # fix: https://github.com/hadolint/hadolint/wiki/DL4006
    # fix: https://github.com/koalaman/shellcheck/wiki/SC3014
    SHELL ["/bin/bash", "-o", "pipefail", "-c"]
    
    USER root
    
    # install code-server and extensions
    ENV CODE_VERSION=4.93.1
    RUN wget --no-hsts -q https://github.com/coder/code-server/releases/download/v$CODE_VERSION/code-server_${CODE_VERSION}_amd64.deb && \
        dpkg -i code-server_${CODE_VERSION}_amd64.deb && \
        rm -f code-server_${CODE_VERSION}_amd64.deb && \
        code-server --force \
        --install-extension ms-python.python \
        --install-extension ms-toolsai.jupyter \
        --install-extension eamodio.gitlens \
        --install-extension gitlab.gitlab-workflow && \
        mkdir -p /usr/local/bin/start-notebook.d && \
        chown -R ${NB_USER} "/home/${NB_USER}/.config" "/home/${NB_USER}/.local" && \
        fix-permissions "/home/${NB_USER}"
    
    # install VS Code CLI
    RUN wget --no-hsts -q -O vscode_cli.tar.gz 'https://code.visualstudio.com/sha/download?build=stable&os=cli-alpine-x64' && \
        tar -xf vscode_cli.tar.gz --directory /usr/local/bin && \
        rm vscode_cli.tar.gz && \
        chown ${NB_USER} /usr/local/bin/code && \
        fix-permissions /usr/local/bin/code
    
    # install some packages
    USER ${NB_UID}
    RUN mamba install --yes \
        # umap + hdbscan
        'umap-learn' \
        'hdbscan' \
        # optuna + plotly
        'optuna' \
        'plotly' \
        # optional dependencies for pandas for read_html and to support Parquet files
        'lxml' \
        'pyarrow' \
        # geopandas
        'geopandas' \
        'pysal' \
        'contextily' \
        # networkx + pyvis + netgraph
        'networkx' \
        'pyvis' \
        'netgraph' \
        # dependencies for gymnasium, install before gymnasium!
        'swig' \
        'moviepy' \
        # dependencies for jupyter-vscode-proxy (?)
        'rfc3339-validator' \
        'rfc3986-validator' \
        'uri-template' \
        'fqdn' \
        'webcolors' \
        'isoduration' \
        'jsonpointer' \
        # provide a way for lecturers to share code
        'nbgitpuller' \
        # monitor GPUs in terminal
        'nvtop' \
        # integration of VS Code in JupyterLab
        'jupyter-server-proxy' \
        'jupyter-vscode-proxy' \