FROM nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04
WORKDIR /radt_atari

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get -y update
RUN apt-get -y install --no-install-recommends python3.10-dev python3-pip

RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1

RUN apt-get update --fix-missing && apt-get upgrade -y && \
    apt-get install -y wget bzip2 ca-certificates \
    libglib2.0-0 libxext6 libsm6 libxrender1 \
    git mercurial subversion nano vim libz-dev \
    libosmesa6-dev libgl1-mesa-glx libglfw3 build-essential

RUN pip install --upgrade pip

# Install MuJoCo
RUN mkdir -p ~/.mujoco/mujoco210 && \
    wget https://mujoco.org/download/mujoco210-linux-x86_64.tar.gz && \
    tar --no-same-owner -zxvf mujoco210-linux-x86_64.tar.gz && \
    mv mujoco210 ~/.mujoco && \
    rm mujoco210-linux-x86_64.tar.gz
ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:/root/.mujoco/mujoco210/bin
ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:/usr/lib/nvidia/lib64
RUN pip install -U 'mujoco-py<2.2,>=2.1' && \
    apt-get reinstall libglvnd0 && \
    apt-get install patchelf

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
RUN pip install ale-py atari-py
RUN pip install git+https://github.com/google/dopamine.git
RUN pip install --no-cache-dir -U pip setuptools
RUN pip install git+https://github.com/Farama-Foundation/d4rl@master#egg=d4rl
RUN pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118

COPY . /radt_atari

RUN python3 -m atari_py.import_roms /radt_atari/roms/

RUN chmod -R 777 /radt_atari/scripts
