FROM quay.io/jupyter/minimal-notebook:lab-4.2.5

# Fix: https://github.com/hadolint/hadolint/wiki/DL4006
# Fix: https://github.com/koalaman/shellcheck/wiki/SC3014
SHELL ["/bin/bash", "-o", "pipefail", "-c"]

USER root

RUN apt-get update --yes \
 && apt-get install --yes --no-install-recommends \
    git-lfs \
 && apt-get clean \
 && rm -rf /var/lib/apt/lists/*

USER ${NB_UID}

# RUN mamba install --yes -c pytorch -c nvidia \
#     pytorch==2.2.1 \
#     torchvision==0.17.1 \
#     torchaudio==2.2.1 \
#     pytorch-cuda=11.8 \
#  && mamba clean --all -f -y \
#  && fix-permissions "${CONDA_DIR}" \
#  && fix-permissions "/home/${NB_USER}"

COPY --from=ghcr.io/astral-sh/uv:0.6.9 /uv /uvx /bin/

COPY --chown=${NB_UID}:${NB_GID} mattergen /opt/mattergen
RUN uv pip install --system -e /opt/mattergen \
 && fix-permissions "${CONDA_DIR}" \
 && fix-permissions "/home/${NB_USER}"

# https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/docker-specialized.html#dockerfiles
ENV NVIDIA_VISIBLE_DEVICES="all" \
    NVIDIA_DRIVER_CAPABILITIES="compute,utility"

# Puts the nvidia-smi binary (system management interface) on path
# with associated library files to execute it
ENV PATH="${PATH}:/usr/local/nvidia/bin" \
    LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64"