

FROM ubuntu:22.04

# this is for timezone config
ENV DEBIAN_FRONTEND=noninteractive 
ENV TZ=America/Toronto
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone


#-y is for accepting yes when the system asked us for installing the package
RUN apt-get update && \
    apt-get install -y build-essential cmake git gdb pkg-config valgrind systemd-coredump libfftw3-dev python3-opencv libopencv-dev python3-pip python3-dev libglib2.0-0 && \
    apt-get -y clean && apt-get -y autoremove

RUN python3 -m pip install --upgrade pip

RUN pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

RUN pip3 install datasets && pip3 install jupyter notebook && pip3 install matplotlib

ENV HF_DATASETS_CACHE="/mnt/code/.cache/huggingfaces/datasets"


RUN apt-get install -y ca-certificates curl gnupg && mkdir -p /etc/apt/keyrings && \
    curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
    NODE_MAJOR=20 && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
    apt-get update && apt-get install nodejs -y && npm install -g npm@latest


# RUN apt-get install -y nodejs npm && apt-get -y clean && apt-get -y autoremove

# RUN npm i -g expo-cli

# NEEDED TO BUILD OPENCV IN ENV *****************START*****************

# RUN apt-get install -y build-essential cmake git gdb pkg-config valgrind systemd-coredump libfftw3-dev libgtk2.0-dev

# RUN git clone https://github.com/opencv/opencv.git && \
#     cd /opencv && mkdir build && cd build && \
#     cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. && \
#     make -j"$(nproc)" && \
#     make install && \
#     rm -rf /opencv

# NEEDED TO BUILD OPENCV IN ENV *****************END*****************



# # 1) google benchmark
# RUN echo "************************ google benchmark ************************"
# RUN git clone https://github.com/google/benchmark
# RUN mkdir -p  benchmark/build && cd benchmark/build
# WORKDIR "benchmark/build"
# #RUN cmake -DCMAKE_CXX_FLAGS=-std=c++1z   -DGOOGLETEST_PATH=../../googletest   -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON ../ && cmake --build .  --parallel && cmake --install .
# RUN cmake -DCMAKE_CXX_FLAGS=-std=c++1z   -DBENCHMARK_DOWNLOAD_DEPENDENCIES=TRUE   -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON ../ && cmake --build .  --parallel && cmake --install .
# WORKDIR "/"
# RUN rm -rf benchmark


