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 sync
Install 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 --headless
Build 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:test
Test 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 --headless
If 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