Kit App Template Launchable offers a simplified approach to installing and using Kit App Template.
Through this project, users can interact with Kit App Template purely from a web browser, with one tab running Visual Studio Code for development and command execution, and another tab providing the streamed user interface for Omniverse.
Launchables are provided by NVIDIA Brev, using this repo as a template. Launchables are preconfigured, fully optimized compute and software environments. They allow users to start projects without extensive setup or configuration.
Kit App Template is cloned via Docker, such that it can be used locally, or deployed on services such as NVIDIA Brev and run with cloud resources.
This project includes:
- Visual Studio Code container
- Kit App Template pre-installed
- Omniverse Kit App Streaming client, based on the web-viewer-sample project.
This guide will get you started with a Visual Studio Code instance with Kit App Template preinstalled, and an in-browser user interface provided by Kit App Streaming.
Note
Please note that Brev instances are pay-by-the hour. To make the best use of credits, stop instances when they are not in use. Stopped instances have a smaller storage charge.
- Click this Deploy Now button ->
- In Brev, click the Deploy Launchable button to spin up the instance.
- Wait for the instance to be fully ready on Brev: running, built, and the setup script has completed (first launch can take a while)
- Open the
Logstab to view the setup script output. At the end of this output, a password will be printed for the Visual Studio Code server. Save this somewhere safe. - On the Brev instance page, scroll to the TCP/UDP ports section.
- Click the link for port 80 (HTTP) to open Visual Studio Code Server.
- Enter the password from the Logs tab in step 4.
- Inside Visual Studio Code, follow the detailed guide below.
- Now you're in the Visual Studio Code dev environment!
The instructions for Kit App Template can be found here. The detailed guide below will be specific for this repository.
- In a VSCode terminal, navigate to the directory where Kit App Template has been cloned.
cd kit-app-template
- Run the following command to initiate the configuration wizard:
./repo.sh template new
- Follow the prompt instructions
NOTE: If this is your first time running the template new tool, you'll be prompted to accept the Omniverse Licensing Terms.
- Select what you want to create with arrow keys: Application
- Select desired template with arrow keys: USD Composer
- Enter name of application .kit file: [set application name]
- Enter application_display_name: [set application display name]
- Enter version: [set application version]
- Enter name of extension: [set extension name]
- Enter extension_display_name: [set extension display name]
- Enter version: [set extension version]
- Do you want to add application layers?: Yes
- Use SPACE to toggle omni_default_streaming: Omniverse Kit App Streaming (Default)
- Use ENTER to confirm your selection
- Build your new application with the following command:
./repo.sh build
- Initiate your newly created application using:
./repo.sh launch -- --no-window
- Select which App you would like to launch: ApplicationLayerTemplate [application_name]_streaming.kit
Make sure that you select the application with the streaming application layer!
- Open a new browser tab to view the UI.
- In this tab, paste the same address as the Visual Studio Code server, changing the end of the URL to:
/viewer
Example: if VSCode is at
ec2.something.amazonaws.com, then the UI can be accessed atec2.something.amazonaws.com/viewer
- After a few seconds you should see the UI in the viewer tab. The first launch may take much longer as shaders are cached.
- On subsequent relaunches, simply refresh this tab to see the UI.
Important
This setup is only intended to be used with one viewer instance. Please only keep one viewer tab open at a time for best results.
If you'd like a Launchable with more compute, or other custom features, you can fork this repo and / or use this repo but configure a custom Launchable for your projects.
These instructions describe how to create a customized Launchable, similar to the one linked at the beginning of this guide.
- Log in to the Brev website.
- Go to the Launchables category.
- Click the Create Launchable button.
- Choose the "I have code files in a git repository" option.
https://github.com/NVIDIA-Omniverse/kit-app-template-launchable
- Choose VM Mode - Basic VM with Python installed, then click Next.
- On the next page, add a setup script. Under the Paste Script tab, add this code:
#!/bin/bash
export VSCODE_PASSWORD=your_password # replace with a secure password or generate it securely
cd /home/ubuntu/kit-app-template-launchable
docker compose up -d- The VSCode container expects a password provided via the
$VSCODE_PASSWORDenvironment variable. Replaceyour_passwordabove with your desired password, or generate it securely. - Click Next.
- Under "Do you want a Jupyter Notebook experience" select "No, I don't want Jupyter".
- Select the TCP/UDP ports tab.
- Expose the following ports (for Visual Studio Code Server and Kit App Streaming). You can choose to limit these ports to be accessible only from certain IPs as well.
80
1024
47998
49100
- Click Next.
- Choose your desired compute.
Note
GPUs with RT cores are required for Kit App Streaming.
Important
The project is not currently compatible with Crusoe instances. AWS has been tested and is used for the example launchable.
- Choose disk storage, then click Next.
- Enter a name, then select Create Launchable
Note
To use a specific branch of kit-app-template, specify the branch name for the environment variable KIT_APP_TEMPLATE_BRANCH before building:
KIT_APP_TEMPLATE_BRANCH=107.3 docker compose build
Congratulations! You now have a custom launchable.
If you run into issues or can't make the web viewer connect, the first thing to check is that all containers are running.
If using Brev, view your GPU Instance page and find the command to open a terminal on your instance.
Once you have a terminal to the instance running the containers, run docker ps and note if the following containers are running:
- web-viewer
- vscode
- dev-nginx-1
To restart the containers:
- From the terminal connected to your Brev instance, run
docker compose down - Now run
docker compose up -d - Confirm containers mentioned above are all running using
docker ps
By clicking the "Deploy Launchable" button, you agree to the NVIDIA Software License Agreement found here https://github.com/NVIDIA-Omniverse/kit-app-template/blob/main/LICENSE