Understanding VSS Deployment Profiles: dev-profile-base, dev-profile-search, dev-profile-alerts, and dev-profile-lvs
The Video Search & Summarization (VSS) blueprint provides four modular Docker-Compose profiles—dev-profile-base, dev-profile-search, dev-profile-alerts, and dev-profile-lvs—that package distinct AI capabilities ranging from basic video understanding to live summarization and incident detection.
The NVIDIA AI Blueprint for Video Search and Summarization accelerates development by providing pre-configured VSS deployment profiles tailored to specific computer vision workflows. These profiles are self-contained Docker-Compose stacks that wire together NVIDIA NIM microservices, video analytics APIs, and supporting tools. Each profile lives in the deployments/developer-workflow/ directory of the NVIDIA-AI-Blueprints/video-search-and-summarization repository and operates as a distinct developer workflow.
What Are VSS Deployment Profiles?
VSS deployment profiles are modular, shareable Docker-Compose configurations that instantiate specific subsets of the Video Search & Summarization architecture. All four profiles share common base layers—DeepStream, the video-stream-tool (VST), and NIM inference engines—to minimize Docker footprint, but each activates different microservices and agent capabilities through profile-specific environment variables and YAML configurations.
The Four VSS Deployment Profiles Explained
dev-profile-base
The dev-profile-base profile provides general video-understanding and report generation capabilities, serving as the default "hello-world" stack for the blueprint.
- Core Services:
vss-agent,video-analytics-api,vst(video-stream-tool), and optionalvss-search-analytics - Primary Use Case: Basic video ingestion, metadata extraction, and summary report generation without specialized downstream consumers
- Key Files:
- Environment variables:
deployments/developer-workflow/dev-profile-base/.env - Agent configuration:
deployments/developer-workflow/dev-profile-base/vss-agent/configs/config.yml
- Environment variables:
dev-profile-search
The dev-profile-search profile enables an end-to-end search-and-RAG (Retrieval-Augmented Generation) workflow, allowing developers to ingest video, generate embeddings, and query content using natural language.
- Core Services: Base stack plus
vss-search-service(RAG backend) andvss-search-analytics(2-Dimensional search UI) - Primary Use Case: Semantic search across video libraries with thumbnail-rich result interfaces
- Key Files:
- Environment variables:
deployments/developer-workflow/dev-profile-search/.env - Agent configuration:
deployments/developer-workflow/dev-profile-search/vss-agent/configs/config.yml - Analytics config:
deployments/developer-workflow/dev-profile-search/video-analytics-2d-app/vss-search-analytics-$STREAM_TYPE-config.json
- Environment variables:
dev-profile-alerts
The dev-profile-alerts profile specializes in incident analysis and automated alert generation for scenarios such as traffic violations or safety compliance monitoring.
- Core Services: Base stack plus
vss-video-analytics-apiandvlm-as-verifier(Vision-Language Model alert verifier) - Primary Use Case: Real-time incident detection with alert payload generation for downstream consumers
- Key Files:
- Environment variables:
deployments/developer-workflow/dev-profile-alerts/.env - Agent configuration:
deployments/developer-workflow/dev-profile-alerts/vss-agent/configs/config.yml - Alert model config:
deployments/developer-workflow/dev-profile-alerts/vlm-as-verifier/configs/alert_type_config.json
- Environment variables:
dev-profile-lvs
The dev-profile-lvs (Live Video Summarization) profile delivers real-time inference capabilities with streaming visualization for continuous video streams.
- Core Services: Base stack plus
vss-lvs-service(live summarization micro-service) andvss-lvs-ui(Kibana dashboard) - Primary Use Case: Near real-time video summarization with streaming dashboards for operational monitoring
- Key Files:
- Environment variables:
deployments/developer-workflow/dev-profile-lvs/.env - Agent configuration:
deployments/developer-workflow/dev-profile-lvs/vss-agent/configs/config.yml - LVS service configs:
deployments/developer-workflow/dev-profile-lvs/vss-lvs-service/configs/*.yml
- Environment variables:
How the Profiles Are Wired Together
The orchestration of VSS deployment profiles relies on Docker Compose's include directive and environment variable injection.
Top-Level Composition: The deployments/developer-workflow/compose.yml file aggregates all four profiles via path-based includes:
# deployments/developer-workflow/compose.yml
services:
# Shared infrastructure definitions
includes:
- path: ./dev-profile-base/compose.yml
- path: ./dev-profile-search/compose.yml
- path: ./dev-profile-alerts/compose.yml
- path: ./dev-profile-lvs/compose.yml
Environment Variable Injection: Each profile exports VSS_AGENT_CONFIG_FILE and other critical paths through its dedicated .env file. When you source a profile's environment, Docker Compose receives the variables required to mount the correct agent configuration and model directories.
Agent Configuration: The vss-agent/configs/config.yml file serves as the single source of truth for pipeline orchestration. It defines video source ingestion endpoints, inference model loading (NIM, DeepStream), and downstream tool behavior (e.g., video-report-gen). Profile differentiation occurs through YAML section toggling—enabling search embeddings, alert verifiers, or LVS modules based on the mounted configuration.
Deploying and Switching Between Profiles
Starting a Specific Profile
To launch a particular VSS deployment profile, source its environment file before executing Docker Compose:
# From repository root - activate search profile
source deployments/developer-workflow/dev-profile-search/.env
# Launch only the services defined in dev-profile-search and shared base
docker compose -f deployments/developer-workflow/compose.yml up -d
The source command exports VSS_AGENT_CONFIG_FILE, model paths, and data directories required by the compose stack.
Switching Profiles
To migrate between workflows without image rebuilds:
# Terminate current stack
docker compose -f deployments/developer-workflow/compose.yml down
# Activate alerts profile
source deployments/developer-workflow/dev-profile-alerts/.env
docker compose -f deployments/developer-workflow/compose.yml up -d
Running the Agent Manually
For debugging or development outside the containerized orchestration:
nat serve \
--config_file $(pwd)/deployments/developer-workflow/dev-profile-base/vss-agent/configs/config.yml
The nat binary is the NVIDIA AI Toolkit CLI bundled in the repository.
Inspecting Effective Configuration
To verify which modules are active for a given profile:
# Substitute environment variables and parse the YAML
envsubst < deployments/developer-workflow/dev-profile-base/vss-agent/configs/config.yml | yq .
This displays the merged configuration after variable substitution, revealing enabled search, alerts, or LVS sections.
Key Configuration Files
| Category | File Path | Purpose |
|---|---|---|
| Profile Aggregation | deployments/developer-workflow/compose.yml |
Top-level Docker-Compose including all four profile definitions |
| Base Profile | deployments/developer-workflow/dev-profile-base/compose.yml |
Service graph for general video understanding |
| Search Profile | deployments/developer-workflow/dev-profile-search/compose.yml |
RAG and search-analytics service definitions |
| Alerts Profile | deployments/developer-workflow/dev-profile-alerts/compose.yml |
Incident detection and verifier service wiring |
| LVS Profile | deployments/developer-workflow/dev-profile-lvs/compose.yml |
Live summarization and Kibana UI services |
| Alert Model Config | dev-profile-alerts/vlm-as-verifier/configs/alert_type_config.json |
VLM prompt templates and alert classification rules |
| Search Analytics Config | dev-profile-search/video-analytics-2d-app/vss-search-analytics-$STREAM_TYPE-config.json |
2D UI rendering and embedding visualization parameters |
Summary
- VSS deployment profiles provide four specialized Docker-Compose stacks—
dev-profile-base,dev-profile-search,dev-profile-alerts, anddev-profile-lvs—each optimized for distinct video AI workflows. - All profiles share base infrastructure (DeepStream, VST, NIM) but diverge in microservice activation through profile-specific
.envfiles and agent YAML configurations. - Profile switching requires only sourcing the target environment file and restarting the top-level
compose.yml, eliminating container rebuild overhead. - Configuration management centers on
VSS_AGENT_CONFIG_FILEvariables pointing tovss-agent/configs/config.ymlwithin each profile directory.
Frequently Asked Questions
What is the difference between dev-profile-base and dev-profile-search?
dev-profile-base provides fundamental video ingestion and report generation without persistent vector search capabilities, while dev-profile-search adds the vss-search-service for RAG operations and a 2-Dimensional analytics UI for querying video embeddings. The search profile mounts additional configuration files defining embedding models and vector database connections in dev-profile-search/video-analytics-2d-app/.
How do I switch between VSS deployment profiles without rebuilding containers?
Execute docker compose -f deployments/developer-workflow/compose.yml down to stop the current stack, then source deployments/developer-workflow/<profile-name>/.env to load the target profile's environment variables, and finally docker compose -f deployments/developer-workflow/compose.yml up -d. This workflow reuses existing image layers while remounting the correct agent configuration and service definitions.
Which profile should I use for real-time video analysis?
Use dev-profile-lvs (Live Video Summarization) for real-time workflows, as it includes the vss-lvs-service microservice and Kibana dashboard (vss-lvs-ui) designed for continuous stream processing and near real-time summarization. For incident detection rather than summarization, use dev-profile-alerts, which activates the vlm-as-verifier for immediate alert generation.
Where are the model configurations stored for each profile?
Each profile stores model configurations within its directory subtree under deployments/developer-workflow/. For example, the alerts profile stores VLM verifier settings at dev-profile-alerts/vlm-as-verifier/configs/alert_type_config.json, while the search profile maintains analytics configurations at dev-profile-search/video-analytics-2d-app/vss-search-analytics-$STREAM_TYPE-config.json. The agent locates these files via paths defined in the profile's .env file.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →