Skip to main content

Getting Started

This section walks you through standing up a Smart Corridors & e-Gates deployment from the official Docker Compose stack — from prerequisites and registry access to a running system with cameras connected and watchlists populated.

What you'll need

  • A clean, dedicated Linux machine — a fresh VM or bare-metal host running nothing else. Ubuntu 22.04 LTS or later is recommended. All services run as Docker containers.
  • Docker Engine with the Compose plugin (docker compose). For Linux containers on Windows via WSL2, contact your Innovatrics sales representative for a compatible license.
  • The deployment repositoryinnovatrics/border-control, folder smart-corridors-and-e-gates/.
  • Registry credentials — a robot account for the Innovatrics registry, plus GitLab registry access. See First Deployment.
  • A license file (iengine.lic) tied to the host hardware, from the Innovatrics Customer Portal.
  • Camera streams — RTSP streams from IP cameras reachable from the host.
Clean, dedicated host — not optional

Deploy on a fresh Linux VM or bare-metal server dedicated to this stack. Real-time video processing competes hard for CPU; sharing the host with other workloads (databases, other Docker stacks, desktop environments) causes dropped frames, missed detections, and timeouts that are easy to mistake for product bugs.

Hardware requirements

The minimum to install is an x86_64 or ARM CPU with AVX2 support and at least 4 physical cores, 16 GB RAM, and 80 GB of storage. Treat this strictly as an installation floor: real-time video processing is CPU-intensive, and undersized hardware shows up directly as latency, timeouts, and degraded recognition. For anything beyond a small evaluation, plan server-class CPUs and size by camera count — as a reference, a dual-socket server-class machine is what carries high camera counts, while an entry-level server handles only a few Full HD RTSP streams.

On-edge processing shifts most of this load onto the cameras themselves and changes the sizing model substantially. For per-stream figures and full sizing considerations, see Hardware Sizing and the VPP platform documentation.

What gets deployed

The stack runs as a set of containers on a shared external Docker network:

  • Hub (corridor-foundation-service) — event aggregation, persistence, and the external GraphQL API
  • CIGS (corridor-identity-grouping-service) — corridor identity grouping across cameras
  • Frontend (biometriccorridor) — the corridor dashboard
  • VPP — face detection, recognition, and watchlist matching, brought up from the bundled vpp/ folder
  • Supporting services — RabbitMQ (message broker), PostgreSQL, and MinIO (S3-compatible storage for face crops)

The corridor images (corridor-foundation-service, corridor-identity-grouping-service, biometriccorridor) are pulled from the Innovatrics registry at registry.dot.innovatrics.com/border-control/. The VPP images and the license-manager image come from the GitLab registry. Both are covered in First Deployment.

What run.sh does

run.sh orchestrates startup in the correct order: it links your license into the VPP folder, brings up VPP and its dependencies, creates the MinIO bucket the Hub uses for image storage, then starts the corridor services with docker compose --env-file ./.env up -d. You do not manage startup order manually.

Steps

  1. First Deployment — registry access, license, configuration, and running the stack
  2. Add Cameras — connect camera streams to VPP
  3. Add People to Watchlists — enroll subjects for identification