Verify environment requirements
Check that your system meets the hardware and software prerequisites.
# Verify driver version
nvidia-smi | grep "Driver Version"
# Expected output: Driver Version: 580.126.09 or higher
# Verify CUDA version
nvcc --version
# Expected output: release 13.0
# Verify Docker is running
docker --version && docker compose version
Configure Docker
To easily manage containers without sudo, you must be in the docker group. If you choose to skip this step, you will need to run Docker commands with sudo.
Open a new terminal and test Docker access. In the terminal, run:
docker ps
If you see a permission denied error (something like permission denied while trying to connect to the Docker daemon socket), add your user to the docker group so that you don't need to run the command with sudo .
sudo usermod -aG docker $USER
newgrp docker
Additionally, configure Docker so that it can use the NVIDIA Container Runtime.
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
#Run a sample workload to verify the setup
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
Clone the VSS repository
Clone the Video Search and Summarization repository from NVIDIA's public GitHub.
# Clone the VSS AI Blueprint repository
git clone https://github.com/NVIDIA-AI-Blueprints/video-search-and-summarization.git
cd video-search-and-summarization
Run the cache cleaner script
Start the system cache cleaner to optimize memory usage during container operations.
Create the cache cleaner script at /usr/local/bin/sys-cache-cleaner.sh mentioned below
sudo tee /usr/local/bin/sys-cache-cleaner.sh << 'EOF'
#!/bin/bash
# Exit immediately if any command fails
set -e
# Disable hugepages
echo "disable vm/nr_hugepage"
echo 0 | tee /proc/sys/vm/nr_hugepages
# Notify that the cache cleaner is running
echo "Starting cache cleaner - Running"
echo "Press Ctrl + C to stop"
# Repeatedly sync and drop caches every 3 seconds
while true; do
sync && echo 3 | tee /proc/sys/vm/drop_caches > /dev/null
sleep 3
done
EOF
sudo chmod +x /usr/local/bin/sys-cache-cleaner.sh
Running in the background
# In another terminal, start the cache cleaner script.
sudo -b /usr/local/bin/sys-cache-cleaner.sh
NOTE
+> The above runs the cache cleaner in the current session only; it does not persist across reboots. To have the cache cleaner run across reboots, create a systemd service instead. +> +> To stop the background cache cleaner: +>
bash +> sudo pkill -f sys-cache-cleaner.sh +> Authenticate with NVIDIA Container Registry
Log in to NVIDIA's container registry using your NGC API Key.
NOTE
If you don’t have an NVIDIA account already, you’ll have to create one and register for the developer program.
# Log in to NVIDIA Container Registry
docker login nvcr.io
# Username: $oauthtoken
# Password: <PASTE_NGC_API_KEY_HERE>
Choose deployment scenario
Choose between two deployment options based on your requirements:
| Deployment Scenario | VLM (Cosmos-Reason2-8B) | LLM |
|---|---|---|
| Standard VSS (Base) | Local | Remote |
| Standard VSS (Alert Verification) | Local | Remote |
| Standard VSS deployment (Real-Time Alerts) | Local | Remote |
Standard VSS
Standard VSS (Hybrid Deployment)
In this hybrid deployment, we would use NIMs from build.nvidia.com. Alternatively, you can configure your own hosted endpoints by following the instructions in the VSS remote LLM deployment guide.
7.1 Get NVIDIA API Key
- Log in to https://build.nvidia.com/explore/discover.
- Search for Get API Key on the page and click on it.
7.2 Launch Standard VSS deployment
Standard VSS deployment (Base) Standard VSS deployment (Alert Verification) Standard VSS deployment (Real-Time Alerts)
# Start Standard VSS (Base)
export NGC_CLI_API_KEY='your_ngc_api_key'
export LLM_ENDPOINT_URL=https://your-llm-endpoint.com
scripts/dev-profile.sh up -p base -H DGX-SPARK --use-remote-llm
# Start Standard VSS (Alert Verification)
export NGC_CLI_API_KEY='your_ngc_api_key'
export LLM_ENDPOINT_URL=https://your-llm-endpoint.com
scripts/dev-profile.sh up -p alerts -m verification -H DGX-SPARK --use-remote-llm
# Start Standard VSS (Real-Time Alerts)
export NGC_CLI_API_KEY='your_ngc_api_key'
export LLM_ENDPOINT_URL=https://your-llm-endpoint.com
scripts/dev-profile.sh up -p alerts -m real-time -H DGX-SPARK --use-remote-llm
NOTE
This step will take several minutes as containers are pulled and services initialize. The VSS backend requires additional startup time. The following the environment variable needs to be set first before any deployment: • NGC_CLI_API_KEY — (required) for vss deployment • LLM_ENDPOINT_URL — (required) when --use-remote-llm is passed, used as LLM base URL • NVIDIA_API_KEY — (optional) used for accessing remote LLM/VLM endpoints • OPENAI_API_KEY — (optional) used for accessing remote LLM/VLM endpoints • VLM_CUSTOM_WEIGHTS — (optional) absolute path to custom weights dir
7.3 Validate Standard VSS deployment
Access the VSS UI to confirm successful deployment. Common VSS Endpoints
# Test Agent UI accessibility
# If running locally on your Spark device, use localhost:
curl -I http://localhost:3000
# Expected: HTTP 200 response
# If your Spark is running in Remote/Accessory mode, replace 'localhost' with the IP address or hostname of your Spark device.
# To find your Spark's IP address, run the following command on the Spark terminal:
hostname -I
# Or to get the hostname:
hostname
# Then test accessibility (replace <SPARK_IP_OR_HOSTNAME> with the actual value):
curl -I http://<SPARK_IP_OR_HOSTNAME>:3000
Open http://localhost:3000 or http://<SPARK_IP_OR_HOSTNAME>:3000 in your browser to access the Agent interface.
Test video processing workflow
Run a basic test to verify the video analysis pipeline is functioning based on your deployment. The UI comes with a few example videos pre-populated for uploading and testing
For Standard VSS deployment
Follow the steps here to navigate VSS Agent UI.
- Access VSS Agent interface at
http://localhost:3000 - Download the sample data from NGC here and upload videos and test features here
Cleanup and rollback
To completely remove the VSS deployment and free up system resources Follow:
WARNING
This will destroy all processed video data and analysis results.
# For Standard VSS deployment
scripts/dev-profile.sh down
Next steps
With VSS deployed, you can now:
Standard VSS deployment:
- Access full VSS capabilities at port 3000
- Test video summarization and Q&A features
- Configure knowledge graphs and graph databases
- Integrate with existing video processing workflows