File size: 2,489 Bytes
0d89eb9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# Use the NVIDIA base image for CUDA
FROM nvcr.io/nvidia/cuda:12.3.2-cudnn9-devel-ubuntu20.04

# Set environment variables
ENV COPPELIASIM_ROOT=${HOME}/code/coppelia_sim
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$COPPELIASIM_ROOT
ENV QT_QPA_PLATFORM_PLUGIN_PATH=$COPPELIASIM_ROOT
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=America/Los_Angeles
ENV CONDA_ALWAYS_YES=true
ENV FORCE_CUDA=1
ENV TORCH_CUDA_ARCH_LIST="5.0;5.2;5.3;6.0;6.1;6.2;7.0;7.2;7.5;8.0;8.6;8.7;8.9;9.0+PTX"

# Create necessary directories
RUN mkdir -p ${HOME}/code

# Install dependencies and essential tools
RUN apt-get update && apt-get install -y \
    tzdata sudo curl git vim htop tar bzip2 pigz rsync less mlocate \
    build-essential gdb ca-certificates stress sysstat itop \
    xauth xvfb mesa-utils mesa-utils-extra x11-apps \
    xorg xserver-xorg-core libxv1 x11-xserver-utils libxcb-randr0-dev \
    libxrender-dev libxkbcommon-dev libxkbcommon-x11-0 libavcodec-dev \
    libavformat-dev libswscale-dev '^libxcb.*-dev' libx11-xcb-dev \
    libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev \
    libxkbcommon-x11-dev libegl1-mesa libarchive-dev libarchive13 \
    && rm -rf /var/lib/apt/lists/*

# Install VirtualGL
RUN TEMP_DIR=$(mktemp -d -p /) && cd $TEMP_DIR && \
    curl -L -o virtualgl.deb https://sourceforge.net/projects/virtualgl/files/3.1/virtualgl_3.1_amd64.deb/download && \
    dpkg -i virtualgl.deb && \
    /opt/VirtualGL/bin/vglserver_config +glx +egl +s +f +t && \
    rm -rf $TEMP_DIR

RUN mkdir ${HOME}/.ssh && chmod -R 700 ${HOME}/.ssh

RUN ssh-keyscan github.com >> ${HOME}/.ssh/known_hosts

RUN curl -L -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
RUN bash Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda
RUN export PATH=/opt/conda/bin:${PATH}   

# Install code and dependencies

WORKDIR ${HOME}/code

RUN eval "$(/opt/conda/bin/conda shell.bash hook)" && conda init bash
RUN eval "$(/opt/conda/bin/conda shell.bash hook)" && conda install mamba -c conda-forge
#RUN conda config --set auto_activate_base false


RUN git clone https://github.com/markusgrotz/peract_bimanual.git ${HOME}/code/peract_bimanual


RUN eval  "$(/opt/conda/bin/conda shell.bash hook)" && ${HOME}/code/peract_bimanual/scripts/install_dependencies.sh


# Activate the environment by default
RUN echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \
    echo "conda activate rlbench" >> ~/.bashrc


WORKDIR /root/code/peract_bimanual

# Default command
CMD ["/bin/bash"]