Skip to content

Setup - Server Requirements

This document presents the minimum hardware and resource requirements for EnQualify production installations.

General Notes

  • CPU, RAM, and Disk values are minimum requirements. Production environments should not fall below these thresholds.
  • ADAuth API is optional — it is only required when AD login integration is enabled.
  • VideoCall components (VideoResize, Signalling, CoTurn) are optional — they are only required when the video conferencing feature is enabled.
  • File Storage is optional — it is required when Video Call recording or Screen Recording is enabled.
  • Test, staging, and backup systems are not included in these requirements.
  • In low-volume installations (< 1,000 transactions/day), resources can be shared among components where operationally acceptable.

Option A — Classic Installation (VM / Bare-Metal)

Recommended usage: Organizations using traditional on-premises or private cloud infrastructure (VMware, Hyper-V, bare-metal servers).

Two installation topologies are available:

  • Consolidated Servers: Multiple EnQualify components run on a single VM/server. Reduces the number of machines, suitable for smaller installations.
  • Per-Container: Each component runs in its own Docker container on separate VMs. Easier to scale and update individual services.

A.1 — Consolidated Topology (Consolidated Servers)

Multiple components are consolidated per server. Suitable for medium to large-scale installations in traditional infrastructure.

Configuration: Base (Temel)

Only core EnQualify components. No optional modules.

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
EnQualifyApp Web + Web API + Mobile API + Integration API 2 12 20 Intranet Linux + Docker
EnQualifyMobileProxy Mobile API Proxy 1 4 5 DMZ Linux + Docker
EnQualifyAIApp AI App + Face Recognition + Passive Liveness + Utils 2 8 15 Intranet Linux + Docker
DB Server EnQualify DB Server 3 16 Intranet Windows / Linux

Configuration: Screen Recording (Ekran Kaydı)

Includes screen recording/file storage.

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
EnQualifyApp Web + Web API + Mobile API + Integration API 2 12 20 Intranet Linux + Docker
EnQualifyMobileProxy Mobile API Proxy 1 4 5 DMZ Linux + Docker
EnQualifyAIApp AI App + Face Recognition + Passive Liveness + Utils 2 8 15 Intranet Linux + Docker
DB Server EnQualify DB Server 3 16 Intranet Windows / Linux
File Storage EnQualify FileStorage 200 Intranet

Configuration: Video Call (Video Görüşme)

Includes video conferencing (WebRTC).

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
EnQualifyApp Web + Web API + Mobile API + Integration API 2 12 20 Intranet Linux + Docker
EnQualifyMobileProxy Mobile API Proxy 1 4 5 DMZ Linux + Docker
EnQualifyAIApp AI App + Face Recognition + Passive Liveness + Utils 2 8 15 Intranet Linux + Docker
DB Server EnQualify DB Server 3 16 Intranet Windows / Linux
EnQualifyVideoResize EnQualify Web API (Video Resize) 2 12 5 Intranet Linux + Docker
EnQualifyAI Signalling + CoTurn 2 16 5 DMZ Linux + Docker
File Storage EnQualify FileStorage 200 Intranet

Configuration: Video Call + Screen Recording

Includes video conferencing (WebRTC) and screen recording/file storage.

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
EnQualifyApp Web + Web API + Mobile API + Integration API 2 12 20 Intranet Linux + Docker
EnQualifyMobileProxy Mobile API Proxy 1 4 5 DMZ Linux + Docker
EnQualifyAIApp AI App + Face Recognition + Passive Liveness + Utils 2 8 15 Intranet Linux + Docker
DB Server EnQualify DB Server 3 16 Intranet Windows / Linux
EnQualifyVideoResize EnQualify Web API (Video Resize) 2 12 5 Intranet Linux + Docker
EnQualifyAI Signalling + CoTurn 2 16 5 DMZ Linux + Docker
File Storage EnQualify FileStorage 200 Intranet

Configuration: AD Authentication (AD Kimlik Doğrulama)

Includes AD authentication integration.

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
EnQualifyApp Web + Web API + Mobile API + Integration API 2 12 20 Intranet Linux + Docker
EnQualifyMobileProxy Mobile API Proxy 1 4 5 DMZ Linux + Docker
EnQualifyAIApp AI App + Face Recognition + Passive Liveness + Utils 2 8 15 Intranet Linux + Docker
DB Server EnQualify DB Server 3 16 Intranet Windows / Linux
EnQualifyADAuthAPI EnQualify ADAuth API 1 4 5 Intranet Windows + IIS

Configuration: AD Authentication + Screen Recording

Includes AD authentication integration and screen recording/file storage.

(Note: No table is provided for this configuration in the original document.)

Configuration: AD Authentication + Video Call

Includes AD authentication integration and video conferencing (WebRTC).

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
EnQualifyApp Web + Web API + Mobile API + Integration API 2 12 20 Intranet Linux + Docker
EnQualifyMobileProxy Mobile API Proxy 1 4 5 DMZ Linux + Docker
EnQualifyAIApp AI App + Face Recognition + Passive Liveness + Utils 2 8 15 Intranet Linux + Docker
DB Server EnQualify DB Server 3 16 Intranet Windows / Linux
EnQualifyADAuthAPI EnQualify ADAuth API 1 4 5 Intranet Windows + IIS
EnQualifyVideoResize EnQualify Web API (Video Resize) 2 12 5 Intranet Linux + Docker
EnQualifyAI Signalling + CoTurn 2 16 5 DMZ Linux + Docker
File Storage EnQualify FileStorage 200 Intranet

Configuration: AD Authentication + Video Call + Screen Recording

Includes AD authentication integration, video conferencing (WebRTC), and screen recording/file storage.

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
EnQualifyApp Web + Web API + Mobile API + Integration API 2 12 20 Intranet Linux + Docker
EnQualifyMobileProxy Mobile API Proxy 1 4 5 DMZ Linux + Docker
EnQualifyAIApp AI App + Face Recognition + Passive Liveness + Utils 2 8 15 Intranet Linux + Docker
DB Server EnQualify DB Server 3 16 Intranet Windows / Linux
EnQualifyADAuthAPI EnQualify ADAuth API 1 4 5 Intranet Windows + IIS
EnQualifyVideoResize EnQualify Web API (Video Resize) 2 12 5 Intranet Linux + Docker
EnQualifyAI Signalling + CoTurn 2 16 5 DMZ Linux + Docker
File Storage EnQualify FileStorage 200 Intranet

A.2 — Per-Container Topology (Konteyner Tabanlı)

Each service runs in its own Docker container. Suitable for Kubernetes-ready or Docker-based installations requiring individual service scaling.

Configuration: Base (Temel)

Only core EnQualify components. No optional modules.

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
enqualify-web EnQualify Web 2 4 5 Intranet Docker
enqualify-webapi EnQualify Web API 2 4 5 Intranet Docker
enqualify-mobileapi EnQualify Mobile API 2 4 5 Intranet Docker
enqualify-integrationapi EnQualify Integration API 1 4 5 Intranet Docker
enqualify-mobileproxy EnQualify Mobile API Proxy 1 4 5 DMZ Docker
enqualify-aiapp EnQualify AI App 2 8 5 Intranet Docker
enqualify-face EnQualify Face Recognition 2 8 5 Intranet Docker
enqualify-liveness EnQualify Passive Liveness 2 8 5 Intranet Docker
enqualify-utils EnQualify Utils 2 8 5 Intranet Docker
db-server EnQualify DB Server 3 16 Intranet Windows / Linux

Configuration: Screen Recording (Ekran Kaydı)

Includes screen recording/file storage.

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
enqualify-web EnQualify Web 2 4 5 Intranet Docker
enqualify-webapi EnQualify Web API 2 4 5 Intranet Docker
enqualify-mobileapi EnQualify Mobile API 2 4 5 Intranet Docker
enqualify-integrationapi EnQualify Integration API 1 4 5 Intranet Docker
enqualify-mobileproxy EnQualify Mobile API Proxy 1 4 5 DMZ Docker
enqualify-aiapp EnQualify AI App 2 8 5 Intranet Docker
enqualify-face EnQualify Face Recognition 2 8 5 Intranet Docker
enqualify-liveness EnQualify Passive Liveness 2 8 5 Intranet Docker
enqualify-utils EnQualify Utils 2 8 5 Intranet Docker
db-server EnQualify DB Server 3 16 Intranet Windows / Linux
enqualify-filestorage EnQualify FileStorage 200 Intranet

Configuration: Video Call (Video Görüşme)

Includes video conferencing (WebRTC).

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
enqualify-web EnQualify Web 2 4 5 Intranet Docker
enqualify-webapi EnQualify Web API 2 4 5 Intranet Docker
enqualify-mobileapi EnQualify Mobile API 2 4 5 Intranet Docker
enqualify-integrationapi EnQualify Integration API 1 4 5 Intranet Docker
enqualify-mobileproxy EnQualify Mobile API Proxy 1 4 5 DMZ Docker
enqualify-aiapp EnQualify AI App 2 8 5 Intranet Docker
enqualify-face EnQualify Face Recognition 2 8 5 Intranet Docker
enqualify-liveness EnQualify Passive Liveness 2 8 5 Intranet Docker
enqualify-utils EnQualify Utils 2 8 5 Intranet Docker
db-server EnQualify DB Server 3 16 Intranet Windows / Linux
enqualify-videoresize EnQualify Web API (Video Resize) 2 8 5 Intranet Docker
enqualify-signalling EnQualify Signalling 2 8 5 DMZ Docker
enqualify-coturn EnQualify CoTurn 2 8 5 DMZ Docker
enqualify-filestorage EnQualify FileStorage 200 Intranet

Configuration: Video Call + Screen Recording

Includes video conferencing (WebRTC) and screen recording/file storage.

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
enqualify-web EnQualify Web 2 4 5 Intranet Docker
enqualify-webapi EnQualify Web API 2 4 5 Intranet Docker
enqualify-mobileapi EnQualify Mobile API 2 4 5 Intranet Docker
enqualify-integrationapi EnQualify Integration API 1 4 5 Intranet Docker
enqualify-mobileproxy EnQualify Mobile API Proxy 1 4 5 DMZ Docker
enqualify-aiapp EnQualify AI App 2 8 5 Intranet Docker
enqualify-face EnQualify Face Recognition 2 8 5 Intranet Docker
enqualify-liveness EnQualify Passive Liveness 2 8 5 Intranet Docker
enqualify-utils EnQualify Utils 2 8 5 Intranet Docker
db-server EnQualify DB Server 3 16 Intranet Windows / Linux
enqualify-videoresize EnQualify Web API (Video Resize) 2 8 5 Intranet Docker
enqualify-signalling EnQualify Signalling 2 8 5 DMZ Docker
enqualify-coturn EnQualify CoTurn 2 8 5 DMZ Docker
enqualify-filestorage EnQualify FileStorage 200 Intranet

Configuration: AD Authentication (AD Kimlik Doğrulama)

Includes AD authentication integration.

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
enqualify-web EnQualify Web 2 4 5 Intranet Docker
enqualify-webapi EnQualify Web API 2 4 5 Intranet Docker
enqualify-mobileapi EnQualify Mobile API 2 4 5 Intranet Docker
enqualify-integrationapi EnQualify Integration API 1 4 5 Intranet Docker
enqualify-mobileproxy EnQualify Mobile API Proxy 1 4 5 DMZ Docker
enqualify-aiapp EnQualify AI App 2 8 5 Intranet Docker
enqualify-face EnQualify Face Recognition 2 8 5 Intranet Docker
enqualify-liveness EnQualify Passive Liveness 2 8 5 Intranet Docker
enqualify-utils EnQualify Utils 2 8 5 Intranet Docker
db-server EnQualify DB Server 3 16 Intranet Windows / Linux
enqualify-adauthapi EnQualify ADAuth API 1 4 5 Intranet Windows + IIS

Configuration: AD Authentication + Screen Recording

Includes AD authentication integration and screen recording/file storage.

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
enqualify-web EnQualify Web 2 4 5 Intranet Docker
enqualify-webapi EnQualify Web API 2 4 5 Intranet Docker
enqualify-mobileapi EnQualify Mobile API 2 4 5 Intranet Docker
enqualify-integrationapi EnQualify Integration API 1 4 5 Intranet Docker
enqualify-mobileproxy EnQualify Mobile API Proxy 1 4 5 DMZ Docker
enqualify-aiapp EnQualify AI App 2 8 5 Intranet Docker
enqualify-face EnQualify Face Recognition 2 8 5 Intranet Docker
enqualify-liveness EnQualify Passive Liveness 2 8 5 Intranet Docker
enqualify-utils EnQualify Utils 2 8 5 Intranet Docker
db-server EnQualify DB Server 3 16 Intranet Windows / Linux
enqualify-adauthapi EnQualify ADAuth API 1 4 5 Intranet Windows + IIS
enqualify-filestorage EnQualify FileStorage 200 Intranet

Configuration: AD Authentication + Video Call

Includes AD authentication integration and video conferencing (WebRTC).

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
enqualify-web EnQualify Web 2 4 5 Intranet Docker
enqualify-webapi EnQualify Web API 2 4 5 Intranet Docker
enqualify-mobileapi EnQualify Mobile API 2 4 5 Intranet Docker
enqualify-integrationapi EnQualify Integration API 1 4 5 Intranet Docker
enqualify-mobileproxy EnQualify Mobile API Proxy 1 4 5 DMZ Docker
enqualify-aiapp EnQualify AI App 2 8 5 Intranet Docker
enqualify-face EnQualify Face Recognition 2 8 5 Intranet Docker
enqualify-liveness EnQualify Passive Liveness 2 8 5 Intranet Docker
enqualify-utils EnQualify Utils 2 8 5 Intranet Docker
db-server EnQualify DB Server 3 16 Intranet Windows / Linux
enqualify-adauthapi EnQualify ADAuth API 1 4 5 Intranet Windows + IIS
enqualify-videoresize EnQualify Web API (Video Resize) 2 8 5 Intranet Docker
enqualify-signalling EnQualify Signalling 2 8 5 DMZ Docker
enqualify-coturn EnQualify CoTurn 2 8 5 DMZ Docker
enqualify-filestorage EnQualify FileStorage 200 Intranet

Configuration: AD Authentication + Video Call + Screen Recording

Includes AD authentication integration, video conferencing (WebRTC), and screen recording/file storage.

Server / VM Components CPU RAM (GB) Disk (GB) Location Hosting
enqualify-web EnQualify Web 2 4 5 Intranet Docker
enqualify-webapi EnQualify Web API 2 4 5 Intranet Docker
enqualify-mobileapi EnQualify Mobile API 2 4 5 Intranet Docker
enqualify-integrationapi EnQualify Integration API 1 4 5 Intranet Docker
enqualify-mobileproxy EnQualify Mobile API Proxy 1 4 5 DMZ Docker
enqualify-aiapp EnQualify AI App 2 8 5 Intranet Docker
enqualify-face EnQualify Face Recognition 2 8 5 Intranet Docker
enqualify-liveness EnQualify Passive Liveness 2 8 5 Intranet Docker
enqualify-utils EnQualify Utils 2 8 5 Intranet Docker
db-server EnQualify DB Server 3 16 Intranet Windows / Linux
enqualify-adauthapi EnQualify ADAuth API 1 4 5 Intranet Windows + IIS
enqualify-videoresize EnQualify Web API (Video Resize) 2 8 5 Intranet Docker
enqualify-signalling EnQualify Signalling 2 8 5 DMZ Docker
enqualify-coturn EnQualify CoTurn 2 8 5 DMZ Docker
enqualify-filestorage EnQualify FileStorage 200 Intranet

Option B — Cloud-Local Installation (Kubernetes)

Recommended usage: Organizations in modern cloud infrastructure (AWS EKS, Azure AKS, Google GKE, or on-premise Kubernetes clusters).

Main advantage: Resource requests start low. Horizontal Pod Autoscaler (HPA) automatically scales pods according to real workload — excessive resource provisioning at purchase time is not required.

  • HPA target: Scaling out is triggered when CPU utilization ≥ 70%. If the threshold remains below for 5 minutes, scale in occurs.
  • Managed database (RDS / Azure DB / Cloud SQL) is strongly recommended to avoid DB server sizing issues.
  • ADAuth API runs on a Windows node pool — cannot be containerized on Linux.

B.0 — Kubernetes Resource Notation — Terminology

The Kubernetes configuration tables in this document use the following units and terms. These are standard Kubernetes resource notations.

Term / Unit Full Name Meaning Practical Example
m (millicore) Millicore CPU measurement unit. 1 CPU core = 1000m. Allows fractional core allocation. 250m = 0.25 core (a quarter of one CPU core)
Mi (Mebibyte) Mebibyte Binary memory unit. 1 Mi = 1.048.576 bytes ≈ 1.05 MB. Used by Kubernetes for precise binary allocation. 512Mi ≈ 537 MB ≈ half a gigabyte
Gi (Gibibyte) Gibibyte Binary memory unit. 1 Gi = 1.073.741.824 bytes ≈ 1.07 GB. 2Gi ≈ 2.15 GB
CPU Request Resource Request Guaranteed minimum CPU for the pod. Kubernetes will not place a pod on a node with available CPU less than this value. 250m → guarantees 0.25 core to the pod
CPU Limit Resource Limit Maximum CPU allowed for the pod to use. If exceeded, the pod is throttled. 500m → pod cannot use more than 0.5 core
Mem Request Memory Request Guaranteed minimum RAM for the pod. Used by the Kubernetes scheduler for node placement. 512Mi → guarantees ~512 MB RAM to the pod
Mem Limit Memory Limit Maximum RAM allowed for the pod to use. If exceeded, the pod is terminated (OOMKilled). 1Gi → pod cannot use more than ~1 GB RAM
Min Replicas Minimum Replica The minimum number of pod instances that are always running, even at zero load. 1 → at least one pod is always active
Max Replicas (HPA) HPA Maximum The maximum number of pod instances allowed by HPA to create during high load. HPA = Horizontal Pod Autoscaler — automatically adds/removes pods based on CPU usage. 4 → up to 4 pods can run simultaneously under load
PVC Persistent Volume Claim Request for persistent disk storage in Kubernetes. Data is retained during pod restarts. 200Gi PVC → allocates 200 GB of persistent disk for file storage

Why not GB/MB? Kubernetes internally uses binary (base-2) arithmetic for memory. Using 'Mi' and 'Gi' avoids ambiguity — 1 GB (decimal) ≠ 1 GiB (binary). All memory values in this document are binary units (Mi / Gi).

CPU request vs limit: A pod with request=250m and limit=500m always receives 0.25 core but can burst up to 0.5 core if there is empty capacity on the node.

B.1 — Reference Architecture

  • Platform: EKS (AWS) / AKS (Azure) / GKE (GCP) / On-prem Kubernetes 1.26+
  • Deployment: Helm Chart — one chart per EnQualify service, values.yaml overrides per environment
  • Ingress: NGINX Ingress Controller or equivalent (ALB in EKS, Application Gateway in AKS)
  • Service Mesh: Optional — Istio or Linkerd for inter-service mTLS
  • Persistent Storage: PVC for DB volumes (ReadWriteOnce); ReadWriteMany for File Storage (EFS / Azure Files / GCS Fuse)
  • Secrets: Kubernetes Secrets or HashiCorp Vault integration

B.2 — Horizontal Pod Autoscaler (HPA) Configuration

Each AI and API workload is configured with HPA. Example for enqualify-aiapp:

apiVersion: autoscaling/v2

kind: HorizontalPodAutoscaler

spec:

minReplicas: 1

maxReplicas: 4

metrics:

  • type: Resource

resource:

name: cpu

target:

type: Utilization

averageUtilization: 70

B.3 — POC / Minimum Startup Configuration

Minimum resource requests to get EnQualify up and running. Suitable for proof of concept (POC) and low-volume production (< 1,000 transactions/day). HPA automatically manages burst load.

POC Configuration: Base (Temel)

Only core EnQualify components. No optional modules.

Pod / Deployment Component CPU Request CPU Limit Mem Request Mem Limit Min Replica Max Replica (HPA)
enqualify-web EnQualify Web 250m 500m 512Mi 1Gi 1 2
enqualify-webapi EnQualify Web API 250m 500m 512Mi 1Gi 1 2
enqualify-mobileapi EnQualify Mobile API 250m 500m 512Mi 1Gi 1 2
enqualify-integrationapi EnQualify Integration API 100m 250m 256Mi 512Mi 1 2
enqualify-mobileproxy Mobile API Proxy 100m 250m 256Mi 512Mi 1 1
enqualify-aiapp AI App 500m 1 1Gi 2Gi 1 2
enqualify-face Face Recognition 500m 1 1Gi 2Gi 1 2
enqualify-liveness Passive Liveness 500m 1 1Gi 2Gi 1 2
enqualify-utils EnQualify Utils 100m 250m 256Mi 512Mi 1 2
db (managed) EnQualify DB (managed PaaS) 4Gi 1

POC Configuration: Screen Recording (Ekran Kaydı)

Includes screen recording/file storage.

Pod / Deployment Component CPU Request CPU Limit Mem Request Mem Limit Min Replica Max Replica (HPA)
enqualify-web EnQualify Web 250m 500m 512Mi 1Gi 1 2
enqualify-webapi EnQualify Web API 250m 500m 512Mi 1Gi 1 2
enqualify-mobileapi EnQualify Mobile API 250m 500m 512Mi 1Gi 1 2
enqualify-integrationapi EnQualify Integration API 100m 250m 256Mi 512Mi 1 2
enqualify-mobileproxy Mobile API Proxy 100m 250m 256Mi 512Mi 1 1
enqualify-aiapp AI App 500m 1 1Gi 2Gi 1 2
enqualify-face Face Recognition 500m 1 1Gi 2Gi 1 2
enqualify-liveness Passive Liveness 500m 1 1Gi 2Gi 1 2
enqualify-utils EnQualify Utils 100m 250m 256Mi 512Mi 1 2
db (managed) EnQualify DB (managed PaaS) 4Gi 1
enqualify-filestorage File Storage (PVC) 200Gi PVC

POC Configuration: Video Call (Video Görüşme)

Includes video conferencing (WebRTC).

Pod / Deployment Component CPU Request CPU Limit Mem Request Mem Limit Min Replica Max Replica (HPA)
enqualify-web EnQualify Web 250m 500m 512Mi 1Gi 1 2
enqualify-webapi EnQualify Web API 250m 500m 512Mi 1Gi 1 2
enqualify-mobileapi EnQualify Mobile API 250m 500m 512Mi 1Gi 1 2
enqualify-integrationapi EnQualify Integration API 100m 250m 256Mi 512Mi 1 2
enqualify-mobileproxy Mobile API Proxy 100m 250m 256Mi 512Mi 1 1
enqualify-aiapp AI App 500m 1 1Gi 2Gi 1 2
enqualify-face Face Recognition 500m 1 1Gi 2Gi 1 2
enqualify-liveness Passive Liveness 500m 1 1Gi 2Gi 1 2
enqualify-utils EnQualify Utils 100m 250m 256