diff --git a/docker/lerobot-gpu/Dockerfile b/docker/lerobot-gpu/Dockerfile index 65ca437744a..b2898b970e8 100644 --- a/docker/lerobot-gpu/Dockerfile +++ b/docker/lerobot-gpu/Dockerfile @@ -1,31 +1,25 @@ FROM nvidia/cuda:12.4.1-base-ubuntu22.04 -# Configure image +# Configure environment variables ARG PYTHON_VERSION=3.10 -ARG DEBIAN_FRONTEND=noninteractive - +ENV DEBIAN_FRONTEND=noninteractive +ENV MUJOCO_GL="egl" +ENV PATH="/opt/venv/bin:$PATH" -# Install apt dependencies +# Install dependencies and set up Python in a single layer RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential cmake git git-lfs \ libglib2.0-0 libgl1-mesa-glx libegl1-mesa ffmpeg \ speech-dispatcher libgeos-dev \ python${PYTHON_VERSION}-dev python${PYTHON_VERSION}-venv \ - && apt-get clean && rm -rf /var/lib/apt/lists/* - + && ln -s /usr/bin/python${PYTHON_VERSION} /usr/bin/python \ + && python -m venv /opt/venv \ + && apt-get clean && rm -rf /var/lib/apt/lists/* \ + && echo "source /opt/venv/bin/activate" >> /root/.bashrc -# Create virtual environment -RUN ln -s /usr/bin/python${PYTHON_VERSION} /usr/bin/python -RUN python -m venv /opt/venv -ENV PATH="/opt/venv/bin:$PATH" -RUN echo "source /opt/venv/bin/activate" >> /root/.bashrc - -# Install LeRobot -RUN git lfs install -RUN git clone https://github.com/huggingface/lerobot.git /lerobot +# Clone repository and install LeRobot in a single layer WORKDIR /lerobot -RUN pip install --upgrade --no-cache-dir pip -RUN pip install --no-cache-dir ".[test, aloha, xarm, pusht, dynamixel]" - -# Set EGL as the rendering backend for MuJoCo -ENV MUJOCO_GL="egl" +RUN git lfs install \ + && git clone https://github.com/huggingface/lerobot.git . \ + && /opt/venv/bin/pip install --upgrade --no-cache-dir pip \ + && /opt/venv/bin/pip install --no-cache-dir ".[test, aloha, xarm, pusht, dynamixel]"