FROM public.ecr.aws/amazonlinux/amazonlinux:latest

SHELL ["/bin/bash", "-c"]

# Install python 3.8 so that pip uses python38 site package
RUN amazon-linux-extras install -y python3.8
RUN yum install -y python38-devel
RUN pip-3.8 install --upgrade pip
RUN pip3 install --upgrade pip

RUN yum install -y gcc-gfortran 
RUN yum install -y wget unzip tar gzip 
RUN yum install -y numactl-devel

ENV LD_LIBRARY_PATH="/lib64:/lib:/opt/amazon/lib:${LD_LIBRARY_PATH}"
ENV PATH="/opt/amazon/bin/:/opt/amazon/sbin/:$PATH"
ENV JAVA_HOME=/opt/amazon/jdk1.8

# https://sage.amazon.com/posts/1011491
# nvidia-container-runtime
ENV NVIDIA_VISIBLE_DEVICES all
ENV NVIDIA_DRIVER_CAPABILITIES compute,utility
ENV NVIDIA_REQUIRE_CUDA "cuda>=11.0"

RUN pip3 install ploomber==0.21 boto3 botocore

COPY environment.lock.yml /home/ubuntu/vitmtsc_nbdev/environment.lock.yml

RUN curl -LO http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
RUN bash Miniconda3-latest-Linux-x86_64.sh -p /home/ubuntu/anaconda3 -b
RUN rm Miniconda3-latest-Linux-x86_64.sh
ENV PATH=/home/ubuntu/anaconda3/bin:${PATH}
RUN conda update -y conda

RUN conda env create --name rapids-22.08_ploomber --file /home/ubuntu/vitmtsc_nbdev/environment.lock.yml 
RUN conda run -n rapids-22.08_ploomber python -m ipykernel install --user --name rapids-22.08_ploomber 

COPY dist/* /home/ubuntu/vitmtsc_nbdev/
WORKDIR /home/ubuntu/vitmtsc_nbdev/

# extract to get any config files at the root
RUN tar --strip-components=1 -zxvf *.tar.gz
RUN cp -r /home/ubuntu/vitmtsc_nbdev/ploomber/ /root/.ploomber/  || echo 'ploomber home does not exist'


# install from the source distribution
RUN pip3 install *.tar.gz --no-deps

