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:

  1. Connect to the machine via SSH.

  2. Run the command below to confirm your GPU driver version.

    $ nvidia-smi
    
  3. Get access to the Isaac Sim Container using your NVIDIA Developer Program credentials.

  4. Generate your NGC API Key.

  5. 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
    
  6. Pull the Isaac Sim container:

    $ sudo docker pull nvcr.io/nvidia/isaac-sim:2021.2.1
    
  7. 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

  8. 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

  9. 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.

  10. 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.
    
  11. 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.

  12. Click on the red Play button to begin live streaming.

  13. Proceed to Isaac Sim Interface to begin the first Basic Tutorial.