Spaces:
Running on Zero
Running on Zero
File size: 1,391 Bytes
49d36c0 | 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 | # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
FROM nvidia/cuda:12.6.0-devel-ubuntu22.04
ENV DEBIAN_FRONTEND=noninteractive
# System dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
python3.10 \
python3.10-venv \
python3.10-dev \
python3-pip \
git \
git-lfs \
wget \
curl \
gosu \
xvfb \
libegl1-mesa-dev \
libgl1-mesa-glx \
libglib2.0-0 \
&& rm -rf /var/lib/apt/lists/*
RUN git lfs install
# Install uv
RUN pip install uv
# Set up workspace
WORKDIR /workspace/gem
COPY . /workspace/gem
# Create virtual environment
RUN uv venv .venv --python 3.10
# Install PyTorch
RUN . .venv/bin/activate && \
uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu126
# Install SOMA body model
RUN . .venv/bin/activate && \
uv pip install -e third_party/soma
# Pull SOMA LFS assets
RUN cd third_party/soma && git lfs pull && cd ../..
# Install GEM and dependencies
RUN . .venv/bin/activate && \
bash scripts/install_env.sh
# Headless rendering environment
ENV PYOPENGL_PLATFORM=egl
ENV EGL_PLATFORM=surfaceless
# Activate venv by default
ENV PATH="/workspace/gem/.venv/bin:${PATH}"
ENV VIRTUAL_ENV="/workspace/gem/.venv"
ENTRYPOINT ["tools/docker-entrypoint.sh"]
CMD ["bash"]
|