FROM jupyter/minimal-notebook ENV DEBIAN_FRONTEND=noninteractive USER root RUN apt-get update \ && apt-get install -y \ openjdk-17-jdk \ && apt-get install -y \ build-essential \ ca-certificates \ composer \ curl \ gcc \ git \ libc6 \ libgcc1 \ libgssapi-krb5-2 \ libicu66 \ libssl1.1 \ libstdc++6 \ nodejs \ npm \ php \ php-cli \ php-zmq \ wget \ zlib1g \ && apt-get clean ARG NB_USER=jovyan ARG NB_UID=1000 ENV USER ${NB_USER} ENV HOME /home/${NB_USER} ENV PATH="/opt/conda/envs/env/bin:${PATH}:${HOME}/.dotnet/tools:${HOME}/bin" WORKDIR ${HOME} # Install C# Dotnet ENV \ DOTNET_RUNNING_IN_CONTAINER=true \ DOTNET_USE_POLLING_FILE_WATCHER=true \ NUGET_XMLDOC_MODE=skip \ DOTNET_INTERACTIVE_CLI_TELEMETRY_OPTOUT=true ENV DOTNET_SDK_VERSION 6.0.100 RUN dotnet_sdk_version=6.0.100 \ && curl -SL --output dotnet.tar.gz https://dotnetcli.azureedge.net/dotnet/Sdk/$dotnet_sdk_version/dotnet-sdk-$dotnet_sdk_version-linux-x64.tar.gz \ && dotnet_sha512='cb0d174a79d6294c302261b645dba6a479da8f7cf6c1fe15ae6998bc09c5e0baec810822f9e0104e84b0efd51fdc0333306cb2a0a6fcdbaf515a8ad8cf1af25b' \ && echo "$dotnet_sha512 dotnet.tar.gz" | sha512sum -c - \ && mkdir -p /usr/share/dotnet \ && tar -ozxf dotnet.tar.gz -C /usr/share/dotnet \ && rm dotnet.tar.gz \ && ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet \ # Trigger first run experience by running arbitrary cmd && dotnet help # Install Jupyter minimal C kernel RUN pip install jupyter-c-kernel \ && install_c_kernel # Switch from root to user 'jovyan' RUN fix-permissions "${CONDA_DIR}" RUN chown -R ${NB_UID} ${HOME} USER ${NB_USER} RUN mkdir -p ${HOME}/work RUN pip install nteract_on_jupyter # Install C++ Jupyter kernels RUN conda install --quiet --yes xeus-cling \ && conda clean --all -f -a \ && fix-permissions "${HOME}" # Install Java Jupyter kernel RUN wget https://github.com/SpencerPark/IJava/releases/download/v1.3.0/ijava-1.3.0.zip \ && unzip ijava-1.3.0.zip \ && python3 ./install.py --sys-prefix \ && rm -f ijava-1.3.0.zip \ && rm -rf install.py java # Install PHP Jupyter kernel RUN wget https://litipk.github.io/Jupyter-PHP-Installer/dist/jupyter-php-installer.phar \ && php ./jupyter-php-installer.phar install \ && rm -f jupyter-php-installer.phar # Install C# dotnet kernel RUN dotnet tool install -g Microsoft.dotnet-interactive --add-source "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-experimental/nuget/v3/index.json" RUN dotnet interactive jupyter install ENV DOTNET_INTERACTIVE_CLI_TELEMETRY_OPTOUT=false # Enable experimental collaborative mode in JupyterLab ENV DOCKER_STACKS_JUPYTER_CMD "lab --ip 0.0.0.0 --collaborative --no-browser" RUN \ npm config set prefix ${HOME} \ && npm install -g ijavascript \ && ijsinstall RUN echo "UID: $NB_UID"