Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions docker/Dockerfile.isaaclab_arena
Original file line number Diff line number Diff line change
Expand Up @@ -37,19 +37,21 @@ ENV ISAACLAB_PATH=${WORKDIR}/submodules/IsaacLab
ENV TERM=xterm
# Symlink isaac sim to IsaacLab
RUN ln -s /isaac-sim/ ${WORKDIR}/submodules/IsaacLab/_isaac_sim
# Install IsaacLab dependencies
RUN for DIR in ${WORKDIR}/submodules/IsaacLab/source/isaaclab*/; do pip install --no-deps -e "$DIR"; done
# Logs and other stuff appear under dist-packages per default, so this dir has to be writeable.
RUN chmod 777 -R /isaac-sim/kit/
# # Pre-install flatdict with --no-build-isolation to work around pkg_resources missing in pip's isolated build env
# Upgrade Isaac Sim's pip to avoid version warnings and build issues
RUN /isaac-sim/python.sh -m pip install --upgrade pip
# Install IsaacLab dependencies
RUN for DIR in ${WORKDIR}/submodules/IsaacLab/source/isaaclab*/; do /isaac-sim/python.sh -m pip install --no-deps -e "$DIR"; done
# Pre-install flatdict with --no-build-isolation to work around pkg_resources missing in pip's isolated build env
RUN /isaac-sim/python.sh -m pip install --no-build-isolation flatdict==4.0.1
# Install isaaclab
RUN ${ISAACLAB_PATH}/isaaclab.sh -i

# Patch for osqp in IsaacLab. Downgrade qpsolvers
# TODO(alexmillane): Watch the thread here: https://nvidia.slack.com/archives/C06HLQ6CB41/p1764680205807019
# and remove this thread when IsaacLab has a fix.
RUN if python -c "import qpsolvers; print(qpsolvers.available_solvers)" | grep -q "osqp"; then \
RUN if /isaac-sim/python.sh -c "import qpsolvers; print(qpsolvers.available_solvers)" | grep -q "osqp"; then \
echo "OSQP is installed. You can remove this clause from the Arena dockerfile."; \
else \
echo "OSQP missing, installing... This is a patch for an Isaac Lab bug."; \
Expand Down Expand Up @@ -134,7 +136,7 @@ RUN echo "alias pytest='/isaac-sim/python.sh -m pytest'" >> /etc/bash.bashrc
# It will pause waiting for the debugger to attach.
# 3) Attach to the running container with VSCode using the "Attach to debugpy session"
# configuration from the Run and Debug panel.
RUN pip3 install debugpy
RUN /isaac-sim/python.sh -m pip install debugpy
RUN echo "alias debugpy='python -Xfrozen_modules=off -m debugpy --listen localhost:5678 --wait-for-client'" >> /etc/bash.bashrc

# Change prompt so it's obvious we're inside the arena container
Expand Down
8 changes: 4 additions & 4 deletions docker/run_docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,8 @@ else
"-v" "/tmp/.X11-unix:/tmp/.X11-unix:rw"
"-v" "/var/run/docker.sock:/var/run/docker.sock"
"-v" "$HOME/.Xauthority:/root/.Xauthority"
# Mount host SSL certificate store so the container trusts CA certs
"-v" "/etc/ssl/certs:/etc/ssl/certs:ro"
"--env" "DISPLAY"
"--env" "ACCEPT_EULA=Y"
"--env" "PRIVACY_CONSENT=Y"
Expand All @@ -160,11 +162,9 @@ else
# Setting envs for XR: https://isaac-sim.github.io/IsaacLab/v2.1.0/source/how-to/cloudxr_teleoperation.html#run-isaac-lab-with-the-cloudxr-runtime
"--env" "XDG_RUNTIME_DIR=${WORKDIR}/submodules/IsaacLab/openxr/run"
"--env" "XR_RUNTIME_JSON=${WORKDIR}/submodules/IsaacLab/openxr/share/openxr/1/openxr_cloudxr.json"
# NOTE(alexmillane, 2025.07.23): This looks a bit suspect to me. We should be running
# as a user inside the container, not root. I've left it in for now, but we should
# remove it, if indeed it's not needed.
# "--env" "OMNI_KIT_ALLOW_ROOT=1"
"--env" "ISAACLAB_PATH=${WORKDIR}/submodules/IsaacLab"
# Tell requests/urllib3 to use the system cert bundle
"--env" "REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt"
)

# map omniverse auth or config so we have connection to the dev nucleus
Expand Down
Loading