> This page is for version Dev.
> For other versions, use one of these documentation indexes:
> - 3.3.0 (default): https://docs.nvidia.com/vss/3.3.0/llms.txt
> - Dev: https://docs.nvidia.com/vss/dev/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/vss/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/vss/_mcp/server.

# Deployment

## Customize Location

The default configurations and sample streams are designed for a specific location. To deploy the blueprint for your own location, you must complete the following steps:

1. **Create calibration files**: Generate calibration files for your cameras. Refer to [Calibration](/vision-agent/agent-workflows/industry-specific-examples/smart-city-blueprint/development-workflow/calibration) for detailed instructions.

2. **Update configuration files**: Modify the relevant configuration files to reflect your environment settings, see details below for each deployment method.

3. **Configure your video streams**: Obtain and configure the video streams for your deployment location.

The sections below describe the configuration changes required for each deployment method.

### Docker Compose

All paths below are relative to the repository root.

1. Update location information for the city in `deploy/docker/industry-profiles/smartcities/vss-behavior-analytics/configs/vss-behavior-analytics-kafka-config.json`

   * In this file, update the `osmQueryPlace` parameter to the name of your city. The value follows the OSM naming scheme. If it is set incorrectly you will see errors in the `vss-behavior-analytics` container logs and no behavior output in Kibana. Check with:

     ```bash
     docker logs --since 5m --tail 200 vss-behavior-analytics 2>&1 | grep -i "osm\|roadNetwork"
     ```

2. Replace the `calibration.json` and `road-network.json` files in `deploy/docker/industry-profiles/smartcities/smc-app/calibration/sample-data` with the files generated by the Calibration process.

   * Alternatively, you can upload these via the UI or API once the deployment is up. To use the UI, go to the `http://<HOST_IP>:3002` endpoint and upload the files. For the API, make a POST request to `http://<HOST_IP>:7777/video-analytics-api/config/upload-file/calibration` with the JSON as a payload for calibration, and to `http://<HOST_IP>:7777/video-analytics-api/config/upload-file/road-network` with the JSON as a payload for the road network.

3. Delete (or move) all video files in the NVStreamer video directory, `deploy/docker/vss-nvstreamer-video-dir/videos/dev-profile-alerts/`, so that the sample clips are not auto-loaded on deployment. You can then either replace them with your own videos or keep the directory empty. Each file name must match the corresponding sensor name in the calibration file exactly, otherwise Analytics will not map the videos correctly.

   The directory name comes from `NVSTREAMER_VIDEO_DIR` in `deploy/docker/industry-profiles/smartcities/overrides.env`; if you changed that value, adjust the path accordingly.

4. Redeploy the blueprint.

5. Navigate to VST at `http://<HOST_IP>:30888/vst/#/dashboard` and add your RTSP streams.

   * If you copied streams to the folder mentioned above, those streams should automatically show up here. If you have video files instead and did not copy them to the above folder, you can upload them to NVStreamer via the UI at `http://<HOST_IP>:31000` then use the RTSP stream link provided and add to VST.
   * Make sure that if you are manually adding streams to VST that the sensor name set matches exactly what you have in the calibration file otherwise the videos will not be mapped correctly by Analytics.
   * For additional details on how to use VST, check the [VST docs](/system-components/middleware/video-io-storage-vios) page and for additional details on how to use NVStreamer, check the [NVStreamer docs](/system-components/middleware/video-io-storage-vios/nvstreamer) page.