Skip to content

IDV Installation

This section describes how to install and deploy the IDV Platform, including its dependencies, internal services, and recommended deployment strategies.

Architecture Overview

IDV is a set of interconnected services that integrate with Regula Document Reader API and Regula Face API. Its modular design allows for flexible deployment — from a single instance setup to distributed high-availability environments.

External Dependencies

The following third-party components must be available before deploying IDV:

Dependency Description Options
Database Primary data store for all services. MongoDB 4.4 or higher
MongoDB Atlas (recommended)
Message broker Asynchronous communication between services and background job processing. RabbitMQ / AmazonMQ 3.x or higher
Kafka 3.7 or higher
Redis / Valkey 7.0 or higher
Storage Stores files, images, and processing results. S3 or S3-compatible (MinIO)
Local file system (NFS)
Vector database (Required only for the Profile module) Supports similarity search and vector-based queries. OpenSearch 2.19.0 or higher
MongoDB Atlas
Document service Document data extraction. Regula DocumentReader 8.1 or higher
Face service Face detection, recognition, and matching. Regula FaceAPI 7.1 or higher
Metrics server Metrics collection (StatsD protocol). prometheus/statsd_exporter

Internal IDV Services

Service Description Scaling out Scale metrics Hardware (per instance)
API Main HTTP entry point, proxies requests to other services. Yes idv_api_http_duration, idv_api_http_request_total CPU: 2 vCPU
RAM: 2 GiB
Workflow Executes workflows and coordinates communication between services. Yes Queue size, processing delay CPU: 2 vCPU
RAM: 2 GiB
Scheduler Executes scheduled tasks (data cleanup, workflow reload, periodic jobs). No - CPU: 1 vCPU
RAM: 1 GiB
Audit Logs all significant system events. No - CPU: 1 vCPU
RAM: 1 GiB

Optional Components

Enable these components only when required:

  • Document service — required for document processing.
  • Face service — required for face detection, matching, or liveness.
  • Vector database — required for similarity search in the Profile module.
  • Metrics server — required for monitoring, observability, and alerting.

Special Requirements

  • The Face Processing Service should run on a GPU for optimal performance.
  • GPU mode is memory-intensive; prefer larger GPU memory over raw compute performance.
  • Recommended setup (observed in production):
  • AWS EC2 with NVIDIA Tesla T4 GPUs
  • 16 GB GPU memory → supports up to 4 parallel workers

Deployment Options

Single instance setup

A minimal setup can run all services on one machine using Docker Compose.

Prerequisites:

  • Valid license file in the same directory as docker-compose.yaml.
  • Prepared IDV config (config-idv.yaml) and Document Reader config (config-reader.yaml).
  • Familiarity with Face Processing Service and Document Reader with sessionAPI enabled.

Configuration files:

  • config-idv.yaml — shared IDV configuration.
  • config-reader.yaml — Document Reader configuration.
  • docker-compose.yaml — deployment file.

This setup is suitable for development or demo environments.

Distributed environment setup

For production-grade deployments, IDV should be deployed in a distributed environment to ensure high availability, scalability, and fault tolerance.

Key benefits:

  • Fault isolation between services
  • Flexible scaling of heavy-load components
  • Improved performance under high traffic
  • Easier observability and monitoring

Recommended architecture includes:

  • API — entry point for all traffic
  • Face Processing Service — GPU-enabled nodes
  • Document Reader Service — independently scalable
  • Message broker — RabbitMQ, AmazonMQ, or Kafka
  • Databases — MongoDB Atlas + optional Vector Search (OpenSearch)
  • Storage — S3 or NFS
  • Monitoring — Prometheus-compatible metrics

Deployment considerations:

  • Deploy each service in dedicated containers or Kubernetes Pods.
  • Use load balancers for traffic distribution.
  • Use persistent volumes and managed storage (MongoDB Atlas, S3).
  • Configure metrics and alerts per component.

AWS Cloud setup (HA)

For high availability (HA), IDV can be deployed on AWS with managed services:

  • Database: MongoDB Atlas
  • Message broker: AmazonMQ
  • Container orchestration: Amazon EKS (with Karpenter)
  • Storage: S3
  • Vector database: MongoDB Atlas

This setup leverages AWS-managed infrastructure for scalability, resilience, and fault tolerance.