FROM nvidia/cuda:11.4.3-runtime-ubuntu20.04

ARG DEBIAN_FRONTEND=noninteractive
COPY . /
RUN chmod +x /

# Install base utilities
RUN apt-get update \
    && apt-get install -y build-essential \
    && apt-get install -y wget \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# Install miniconda
ENV CONDA_DIR /opt/conda
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \
    /bin/bash ~/miniconda.sh -b -p /opt/conda

# Put conda in path so we can use conda activate
ENV PATH=$CONDA_DIR/bin:$PATH

# setup conda virtual environment
COPY ./requirements.yaml /tmp/requirements.yaml
RUN conda update conda \
    && conda env create --name invoker-env -f /tmp/requirements.yaml

RUN echo "conda activate invoker-env" >> ~/.bashrc
ENV PATH /opt/conda/envs/invoker-env/bin:$PATH
ENV CONDA_DEFAULT_ENV $invoker-env
ENTRYPOINT ["conda", "run", "--no-capture-output", "-n", "invoker-env", "invoker_terminal", "invoke"]