3. Advanced Installation¶
3.1. Remote Container Setup¶
Here are the requirements for running Omniverse Isaac Sim remotely:
3.2. Container Deployment¶
This section shows you how to run the Omniverse Isaac Sim container remotely.
Steps:
Connect to the machine via SSH.
See Remote Workstation Requirements for remote workstation.
See AWS Requirements to setup an AWS EC2 Instance.
See Azure Requirements to setup an Azure Virtual Machine.
Run the command below to confirm your GPU driver version.
$ nvidia-smi
Get access to the Isaac Sim Container using your NVIDIA Developer Program credentials.
Generate your NGC API Key.
Using command line to login into NGC before pulling the Isaac Sim container.
$ sudo docker login nvcr.io Username: $oauthtoken Password: <Your NGC API Key> WARNING! Your password will be stored unencrypted in /home/username/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded
Pull the Isaac Sim container:
$ sudo docker pull nvcr.io/nvidia/isaac-sim:2021.2.1
Run the Isaac Sim container with an interactive bash session:
$ sudo docker run --name isaac-sim --entrypoint bash -it --gpus all -e "ACCEPT_EULA=Y" --rm --network=host \ -v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw \ -v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \ -v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \ -v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \ -v ~/docker/isaac-sim/config:/root/.nvidia-omniverse/config:rw \ -v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw \ -v ~/docker/isaac-sim/documents:/root/Documents:rw \ nvcr.io/nvidia/isaac-sim:2021.2.1
Note
By using the -e “ACCEPT_EULA=Y” flag, you are accepting the license agreement of the image found at NVIDIA Omniverse License Agreement.
Use the -e “NO_NUCLEUS=Y” flag to disable Nucleus on the container. Nucleus will not be automatically enabled when this flag is set.
See Save Isaac Sim configs on local disk to make Isaac Sim configs persistent when using containers.
See Problem connecting to Docker container to expose all ports of the container in order to connect to an external Nucleus server.
See Setting default Nucleus Server to set the default Nucleus server.
See Setting default Username and Password connecting to Nucleus Server to set the default credentials for any Nucleus server.
Start Cache and Nucleus in the Isaac Sim container:
# To enable Nucleus sharing $ cp /isaac-sim/installers/omniverse.toml ~/.nvidia-omniverse/config/omniverse.toml # Install Cache $ installers/cache/setup/cache-setup -i # Install Nucleus $ installers/nucleus/setup/nucleus-setup -i # Run Omniverse System Monitor in the background. This will start the Cache, Nucleus and backend services. $ installers/nucleus/System\ Monitor/omni-system-monitor &
Note
To stop the Nucleus and Cache service, run ./stop_nucleus.sh.
Nucleus sharing allows Nucleus on locahost of the container to be accessed remotely.
Do not start Nucleus if there is already another container or local Nucleus installed.
Use the -e “NO_NUCLEUS=Y” flag when running the container to prevent automatic Nucleus start by scripts.
To troubleshoot issues with Nucleus, take a look at the logs here: ~/docker/isaac-sim/logs/Nucleus/omni.server.app.log
This Nucleus is recommended for use within the container or sharing with a few users only. For enterprise users. See Omniverse Enterprise
To access the Nucleus server from a web browser, go to http://<ip_address_of_instance>:8080.
Note
Use admin/admin as the default username/password for logging in.
Start Isaac Sim with WebSocket livestream mode:
$ ./isaac-sim.headless.websocket.sh --allow-root
Note
Before running a livestream client, make sure that Isaac Sim app is loaded and ready. It may take a few minutes for Isaac Sim to be completely loaded.
Add these flags to the commands above to reduce the streaming quality if you are experiencing streaming issues over the Internet.
--/app/livestream/websocket/framerate_limit=60 --/app/livestream/websocket/bitrate=8000000
To confirm this, look out for this line in the console or the logs:
Isaac Sim Headless Websocket App is loaded.
Go to http://<ip_address_of_instance>:8211/streaming/client on you web browser to live-stream Omniverse Isaac Sim remotely.
See also
See the Livestream WebSocket manual for details.
Click on the red Play button to begin live streaming.
Proceed to Isaac Sim Interface to begin the first Basic Tutorial.