How to install Tolling Vision

Start using Tolling Vision in minutes! Follow our quick and easy installation guide to set up Tolling Vision on your device. Whether you’re a beginner or an expert, you’ll be up and running in no time.

How to install Tolling Vision

This page is designed to help you install our software, which runs in a Docker container. Follow the steps outlined below to get started.

Environment

What is Docker and Why is it Needed

Docker is a platform that allows you to run applications inside containers. Containers are lightweight, portable, and ensure that the application runs consistently regardless of where it’s deployed. We have created a Docker image for our application to simplify the deployment process for you. By using our Docker image, you can quickly set up the runtime environment without worrying about dependency management or configuration issues. To use our application, you will need to install Docker on your system.

Docker Installation

Follow the instructions below to install Docker on your system:

Once Docker is installed, you will be able to run our application by pulling and running our Docker image.

Docker Image Parameters

To utilize the Docker image, you need to configure the following parameters:

  • LicenseKey: The only required parameter, the license key, can be obtained from our sales team. The ANPR/MMR engines require a stable internet connection to the license services, needing a few hundred bytes per image processing.
  • ServerName: The name of the current Docker container node (defaults to Tolling Vision Node). Useful for troubleshooting in a clustered environment with multiple containers behind a load balancer.
  • ProcessCount: Number of processing threads (defaults to 1). Each thread initializes all the ANPR/MMR engines and requires 3GB RAM and a VCPU for optimal performance.
  • MaxRequestSize: Maximum request size in bytes (defaults to 6MB).
  • Backlog: Maximum number of requests in the backlog queue waiting to be processed (defaults to 10).
  • BacklogTimeout: Backlog timeout in seconds (defaults to 60). On timeout, a RESOURCE_EXHAUSTED response is sent back with a TOO_MANY_REQUESTS error code.
  • RequestTimeout: Request timeout in seconds (defaults to 30). On timeout, a DEADLINE_EXCEEDED response is sent back.

For secure communication within the container (if SSL is not terminated by a load balancer):

  • CertChain: Path to the certificate chain (in PEM format) used by the service on port 443.
  • PrivateKey: Path to the private key of the certificate (in PEM format) used by the service on port 443.
  • TrustedRootCerts: Path to the trusted root certificates (in PEM format). If set, the server accepts only certificates signed by these CAs.
  • RequireClientCertificate: If true, the client must send an appropriate certificate when connecting to the server.

Running the Docker Image

Replace YOUR-LICENSE-KEY with the license key you received from our sales team, EXPOSED-PORT with the port where you want the container to listen, and ARCH with either x86-64 or arm64, depending on your hosting machine’s architecture. After starting the docker container, you can check its status in your browser by navigating to http://ADDRESS-OF-YOUR-HOSTING-MACHINE:EXPOSED-PORT.

				
					docker run -d \
-e LicenseKey=YOUR-LICENSE-KEY \
-p EXPOSED-PORT:80 \
public.ecr.aws/smartcloud/tollingvision:ARCH
				
			

Or if you intend to use SSL/TLS with your own certificate:

				
					docker run -d \
-e LicenseKey=YOUR-LICENSE-KEY \
-e CertChain=/certs/cert-chain.pem \
-e PrivateKey=/certs/private-key.pem \
-e TrustedRootCerts=/certs/trusted-roots.pem \
-e RequireClientCertificate=true \
-v /path/to/ssl/certs:/certs \
-p EXPOSED-PORT:443 \
public.ecr.aws/smartcloud/tollingvision:ARCH
				
			

For further information about our Docker Image, please visit the Tolling Vision Docker image page.

For detailed instructions and parameters about the docker run command, see the official documentation.

For a deeper dive into our projects and to see practical examples, visit our GitHub page. Explore various code samples and see our solutions in action!