Back to Skills

vss-setup-video-analytics-api

Use to deploy the vss-video-analytics-api REST service standalone (config-source, data-log bind, Elasticsearch, optional Kafka). Not for full warehouse deploy.

2,759stars321forksUpdated 8/1/2026

Security Assessment

Safe(93/100)
Security Score93/100

About vss-setup-video-analytics-api

This skill deploys the `vss-video-analytics-api` REST service (a Node.js API from NVIDIA's VSS blueprint) as a standalone Docker container rather than as part of the full warehouse stack. It solves the narrow problem of running just the analytics REST API pointed at a chosen JSON config, a data-log bind mount, and an operator's own Elasticsearch and optional Kafka, without bringing up the entire blueprint. A minimal bring-up sets the apps and data directories, creates the data-log path, runs `docker compose up` for the single service, and probes `/livez`.

The skill routes to detailed references for the full deploy workflow and a field-by-field JSON configuration guide covering the server port (default 8081), Elasticsearch connection and retries, Kafka brokers (settable to an empty array to run broker-less), and application tuning knobs such as POST body size and AMR retention. It documents three config sources (image-baked default, service-shipped config, and a custom bind-mounted config) and includes troubleshooting for connection-refused, NGC 401/403 auth failures, and GPU out-of-memory conditions.

Target users are operators and agents who want the REST API alone, want to supply their own config, or want to point the API at a different Elasticsearch/Kafka. The skill is notably security-conscious about the `NGC_CLI_API_KEY`: it warns the key is a long-lived credential, tells users never to commit it, paste it into chat, or store it in `/tmp`, and recommends reading it interactively or from a secret manager and writing derived `.env` files with restrictive permissions.

FAQ

What does this skill deploy?

Just the `vss-video-analytics-api` Node.js REST container standalone (via its compose service), not the full VSS warehouse blueprint stack.

What are the prerequisites?

A repo checkout with `$VSS_APPS_DIR` pointing at `<repo>/deploy/docker/` for the compose volume binds, and NGC credentials in `$NGC_CLI_API_KEY` so Docker can pull the image.

Can it run without Kafka?

Yes. Setting `kafka.brokers` to an empty array or null disables Kafka entirely with no error and no retry loop; Kafka-dependent endpoints (dynamic config, calibration, RTLS/AMR) simply become unavailable.

How is the API configured?

The server loads a JSON config at startup via `--config`, controlling port (default 8081), Elasticsearch node/index/retries, Kafka brokers, and tuning knobs. Three config sources exist: image-baked default, service-shipped config, or a custom bind-mounted file.

How should the NGC API key be handled?

As a long-lived credential: never commit it, paste it into chat, or store it in `/tmp`. Read it interactively or from a secret manager and write any derived `.env` files with a restrictive umask and permissions.

All Files

9 files
evals/evals.json0.7 KB
View
references/configuration.md4.0 KB
View
BENCHMARK.md3.8 KB
View
references/deploy-video-analytics-api-service.md14.9 KB
View
SKILL.md9.1 KB
View
skill.oms.sig5.5 KB
View
evals/standalone_deploy.json3.8 KB
View
skill-card.md3.9 KB
View
references/ngc-api-key-registry-login.md2.0 KB
View

Install vss-setup-video-analytics-api

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

nvidia/skills