nim_quick - OpenNebula/one-apps GitHub Wiki

Quick Start

This quick start guide shows how to deploy the NVIDIA NIM appliance as an OpenNebula service appliance.

1. Download the appliance

Retrieve the NVIDIA NIM appliance from the OpenNebula Marketplace:

onemarketapp export 'service_Nim' service_Nim --datastore default

2. Optionally adjust the VM template

Depending on your requirements, you may want to adjust the virtual machine capacity or GPU configuration before instantiating the template. The marketplace template defaults to CPU="4" and MEMORY="131072".

3. Instantiate the template

When instantiating the template, provide the required contextualization parameters:

CONTEXT = [
  NETWORK                        = "YES",
  ONEAPP_NIM_NVIDIA_REGISTRY     = "nvcr.io",
  ONEAPP_NIM_NVIDIA_REGISTRY_KEY = "$ONEAPP_NIM_NVIDIA_REGISTRY_KEY",
  ONEAPP_NIM_NVIDIA_IMAGE_REF    = "nvcr.io/nim/openai/gpt-oss-20b:latest",
  SSH_PUBLIC_KEY                 = "$USER[SSH_PUBLIC_KEY]",
  TOKEN                          = "YES"
]

The required parameters are:

  • ONEAPP_NIM_NVIDIA_REGISTRY
  • ONEAPP_NIM_NVIDIA_REGISTRY_KEY
  • ONEAPP_NIM_NVIDIA_IMAGE_REF

When using nvcr.io, the appliance automatically uses $oauthtoken as the registry username, so ONEAPP_NIM_NVIDIA_REGISTRY_USER does not need to be set explicitly.

Wait for the appliance to become ready.

During deployment, the appliance logs into the configured registry, pulls the specified NIM image, starts the container, and waits until the service reports readiness.

4. Verify readiness

You can verify the readiness endpoint with:

curl -fsS http://<ip>:8000/v1/health/ready

If the service is ready, the command should complete successfully. Check the published endpoints.

If OneGate is enabled: Your OpenNebula installation, the appliance publishes the API endpoints into the VM information:

onevm show <vmid> | grep ONEAPP_NIM

Expected values:

ONEAPP_NIM_API="http://<ip>:8000/v1"
ONEAPP_NIM_HEALTH="http://<ip>:8000/v1/health/ready"

If OneGate is not available: You can use the VM IP address directly on port 8000.

5. Validate the service inside the VM

To verify that the container is running and the NIM API is responding, run the following commands inside the guest VM:

docker logs -f nim
curl -s http://127.0.0.1:8000/v1/models
curl -fsS http://127.0.0.1:8000/v1/health/ready

Next: NIM Features and Usage

⚠️ **GitHub.com Fallback** ⚠️