gem-x-motion-capture / Dockerfile
cs686's picture
Deploy GEM-X ZeroGPU motion capture
49d36c0 verified
Raw
History Blame Contribute Delete
1.39 kB
# 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"]