Files
SRU-Odin/Train/docker-compose.yml
2026-07-10 16:58:17 +08:00

76 lines
2.4 KiB
YAML

services:
sru-nav:
build:
context: .
dockerfile: Dockerfile
args:
ISAAC_SIM_VERSION: "4.5.0"
ISAACLAB_VERSION: "v2.1.1"
SRU_NAV_REPO: "https://github.com/leggedrobotics/sru-navigation-sim.git"
SRU_NAV_REF: "main"
# Optional, for CN servers behind GFW. Pass via env or shell:
# GITHUB_MIRROR=https://ghproxy.com/ docker compose build
# HTTP_PROXY=http://host:7890 HTTPS_PROXY=http://host:7890 docker compose build
GITHUB_MIRROR: "${GITHUB_MIRROR:-}"
HTTP_PROXY: "${HTTP_PROXY:-}"
HTTPS_PROXY: "${HTTPS_PROXY:-}"
NO_PROXY: "${NO_PROXY:-}"
PIP_INDEX_URL: "${PIP_INDEX_URL:-}"
PIP_TRUSTED_HOST: "${PIP_TRUSTED_HOST:-}"
image: sru-nav:latest
container_name: sru-nav
runtime: nvidia
stdin_open: true
tty: true
network_mode: host
ipc: host
shm_size: "16gb"
ulimits:
memlock: -1
stack: 67108864
environment:
- ACCEPT_EULA=Y
- PRIVACY_CONSENT=Y
- DISPLAY=${DISPLAY:-:0}
- NVIDIA_DRIVER_CAPABILITIES=all
- NVIDIA_VISIBLE_DEVICES=all
# Attempt to avoid RTX segfault on Blackwell (sm_120) by forcing true headless
- OMNI_KIT_HEADLESS=1
# Optional: put your wandb key in a .env file next to compose
- WANDB_API_KEY=${WANDB_API_KEY:-}
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
volumes:
# X11 for GUI (optional)
- /tmp/.X11-unix:/tmp/.X11-unix:rw
# Persist Isaac Sim caches across runs
- isaac-cache-kit:/isaac-sim/kit/cache
- isaac-cache-ov:/root/.cache/ov
- isaac-cache-pip:/root/.cache/pip
- isaac-cache-gl:/root/.cache/nvidia/GLCache
- isaac-cache-compute:/root/.nv/ComputeCache
- isaac-logs:/root/.nvidia-omniverse/logs
- isaac-data:/root/.local/share/ov/data
- isaac-docs:/root/Documents
# Persist training outputs (logs/checkpoints)
- ./outputs/logs:/workspace/IsaacLab/logs
# Optional: live-mount the extension for development. Uncomment to use:
# - ./sru-navigation-sim:/workspace/IsaacLab/source/isaaclab_nav_task
working_dir: /workspace/IsaacLab
command: /bin/bash
volumes:
isaac-cache-kit:
isaac-cache-ov:
isaac-cache-pip:
isaac-cache-gl:
isaac-cache-compute:
isaac-logs:
isaac-data:
isaac-docs: