A lean template for building custom reinforcement‑learning environments and training scripts on top of NVIDIA IsaacLab. Dependency management is handled by uv for reproducible lockfile installs, and a CUDA‑enabled Docker image is provided.
Sync dependencies:
uv syncInstall the project in editable mode:
uv pip install -e .Launch a headless training run on the demo task:
uv run src/rsl_rl/train.py --task=Isaac-Cartpole-Custom-Direct-v0 --headlessBuild the image
sudo docker build -t isaac:test .Open an interactive shell (optional)
sudo docker run -it --entrypoint bash --gpus all -v "$(pwd)":/src isaac:testTest the training run
sudo docker run --rm --gpus all -v "$(pwd)":/src isaac:test src/rsl_rl/train.py --task=Isaac-Cartpole-Custom-Direct-v0 --headlessIf you update a dependency (including IsaacLab) you need to run an upgrade before building the docker container.
uv lock --upgrade
sudo docker build -t isaac:test ..
├── Dockerfile # GPU-enabled Isaac container
├── entrypoint.sh # Container entry script
├── IsaacLab/ # Upstream IsaacLab source (submodule)
│ └── ...
├── pyproject.toml # PEP 621 project metadata
├── src/
│ ├── custom_tasks/ # Your custom RL environments & task configs
│ ├── rlc.egg-info/
│ └── rsl_rl/ # RSL‑RL trainer