Skip to content

System Requirements

Overview

OpenCHS consists of two main services with different system requirements. This document outlines the hardware, software, and network requirements for deploying both services.


Helpline Service Requirements

Hardware Requirements

Minimum (Development/Testing)

  • CPU: 2 cores (2.0 GHz+)
  • RAM: 4 GB
  • Storage: 20 GB SSD
  • Network: 10 Mbps
  • CPU: 4 cores (2.5 GHz+)
  • RAM: 8 GB
  • Storage: 100 GB SSD
  • Network: 100 Mbps
  • Backup Storage: 500 GB

High-Capacity (Large Production - 100+ users)

  • CPU: 8+ cores (3.0 GHz+)
  • RAM: 16 GB
  • Storage: 500 GB SSD (RAID 10 recommended)
  • Network: 1 Gbps
  • Backup Storage: 2 TB

Software Requirements

ComponentVersionNotes
Operating SystemUbuntu 20.04+ / RHEL 8+ / Debian 11+64-bit required
PHP8.2 or higherWith FPM
MySQL5.7+ or MariaDB 10.5+InnoDB required
Nginx1.18+Or Apache 2.4+
SSL/TLSTLS 1.2+Let's Encrypt recommended

PHP Extensions Required

bash
php8.2-fpm
php8.2-mysql
php8.2-curl
php8.2-gd
php8.2-mbstring
php8.2-xml
php8.2-json
php8.2-zip

AI Service Requirements

Hardware Requirements

Minimum (CPU Only - Testing)

  • CPU: 8 cores (3.0 GHz+)
  • RAM: 16 GB
  • Storage: 50 GB SSD
  • Network: 100 Mbps
  • CPU: 16 cores (3.0 GHz+)
  • RAM: 32 GB
  • Storage: 100 GB SSD
  • GPU: NVIDIA GPU with 16 GB+ VRAM
  • Network: 1 Gbps

Recommended GPU Models:

  • NVIDIA Tesla T4 (16GB)
  • NVIDIA A10 (24GB)
  • NVIDIA V100 (16GB/32GB)
  • NVIDIA A100 (40GB/80GB)

High-Performance (Large Scale)

  • CPU: 32+ cores
  • RAM: 64 GB
  • Storage: 500 GB NVMe SSD
  • GPU: Multiple NVIDIA A100 (80GB)
  • Network: 10 Gbps

Software Requirements

ComponentVersionNotes
Operating SystemUbuntu 20.04+ / RHEL 8+64-bit required
Docker20.10+Docker Engine
Docker Compose2.0+For multi-container setup
NVIDIA Driver525+For GPU support
NVIDIA Container RuntimeLatestFor GPU in Docker
CUDA11.8+For GPU acceleration
Python3.11+If running outside Docker

Network Requirements

Bandwidth Requirements

ScenarioMinimumRecommended
Small deployment (1-50 cases/day)10 Mbps100 Mbps
Medium deployment (50-200 cases/day)100 Mbps500 Mbps
Large deployment (200+ cases/day)500 Mbps1 Gbps

Port Requirements

Helpline Service

  • 443 (HTTPS) - Web interface and API (required)
  • 80 (HTTP) - Redirect to HTTPS (optional)
  • 3306 (MySQL) - Database (internal only, not exposed)

AI Service

  • 8123 (HTTP) - AI Service API (internal only)
  • 6379 (Redis) - Task queue (internal only)

Firewall Rules

Incoming:

bash
# Helpline Service (public-facing)
Allow TCP 443 from 0.0.0.0/0
Allow TCP 80 from 0.0.0.0/0 (optional, for redirect)

# AI Service (internal only)
Allow TCP 8123 from helpline_server_ip only

Outgoing:

bash
# For updates and external integrations
Allow TCP 443 to 0.0.0.0/0
Allow TCP 80 to 0.0.0.0/0

Storage Requirements

Helpline Service Storage

Data TypeGrowth RateRetentionStorage Calculation
Database~10 MB per 100 cases7 yearsCases × 0.1 MB × 7 years
Audio Files~5 MB per recording1 yearRecordings/day × 5 MB × 365
Documents~2 MB per case7 yearsCases × 2 MB × 7 years
Logs~100 MB per month1 year100 MB × 12 months
BackupsDatabase + Files90 days(DB + Files) × 3

Example Calculation (100 cases/day):

Daily cases: 100
Annual cases: 36,500

Database: 36,500 × 0.1 MB × 7 = 25.6 GB
Audio files: 100 × 5 MB × 365 = 183 GB
Documents: 36,500 × 2 MB × 7 = 511 GB
Logs: 1.2 GB
Backups: ~200 GB

Total: ~920 GB minimum
Recommended: 2 TB with growth buffer

AI Service Storage

ComponentSizeNotes
Whisper Model3 GBLarge V3 Turbo
Translation Model500 MBCustom Sw-En
NER Model100 MBspaCy model
Classification Model500 MBDistilBERT
Temp Audio ProcessingVariable10-20 GB buffer
Redis Cache2-4 GBIn-memory
Logs50 MB/day5 GB for 90 days

Total: 20-30 GB minimum
Recommended: 100 GB for comfort


Database Requirements

MySQL Configuration

Minimum Settings:

ini
[mysqld]
innodb_buffer_pool_size = 2G
max_connections = 200
query_cache_size = 64M
tmp_table_size = 64M
max_heap_table_size = 64M

Recommended Settings (Production):

ini
[mysqld]
innodb_buffer_pool_size = 8G
max_connections = 500
innodb_log_file_size = 512M
innodb_flush_log_at_trx_commit = 2
query_cache_size = 256M
tmp_table_size = 256M
max_heap_table_size = 256M
innodb_file_per_table = 1

Database Sizing

MetricSmallMediumLarge
Daily Cases1-5050-200200+
Database Size (Year 1)5-10 GB20-50 GB100+ GB
Connections Needed50-100100-300300+
Buffer Pool2-4 GB4-8 GB8-16 GB

Operating System Configuration

For Helpline Service (Ubuntu 20.04+):

bash
# Increase file descriptors
ulimit -n 65536

# Optimize kernel parameters
sysctl -w net.core.somaxconn=4096
sysctl -w net.ipv4.tcp_max_syn_backlog=4096
sysctl -w vm.swappiness=10

For AI Service (Ubuntu 20.04+):

bash
# Increase shared memory for GPU
sysctl -w kernel.shmmax=68719476736
sysctl -w kernel.shmall=4294967296

# Optimize for high-performance computing
sysctl -w vm.swappiness=10
sysctl -w vm.dirty_ratio=10
sysctl -w vm.dirty_background_ratio=5

Browser Requirements (End Users)

Supported Browsers

BrowserMinimum VersionRecommended
Chrome90+Latest
Firefox88+Latest
Safari14+Latest
Edge90+Latest

Browser Requirements

  • JavaScript enabled
  • Cookies enabled
  • WebSocket support
  • TLS 1.2+ support

Deployment Scenarios

Scenario 1: Small NGO (1-50 users)

Helpline Service:

  • Single server: 4 CPU, 8 GB RAM, 100 GB SSD
  • MySQL on same server
  • Ubuntu 20.04 LTS

AI Service:

  • Single server: 8 CPU, 16 GB RAM, 50 GB SSD
  • CPU-only (no GPU)
  • Docker deployment

Total Cost Estimate: $100-200/month (cloud) or ~$2000 one-time (on-premise)

Scenario 2: Medium Organization (50-200 users)

Helpline Service:

  • Application server: 8 CPU, 16 GB RAM, 200 GB SSD
  • Database server: 4 CPU, 8 GB RAM, 500 GB SSD
  • Load balancer (optional)

AI Service:

  • GPU server: 16 CPU, 32 GB RAM, 100 GB SSD, Tesla T4 GPU
  • Docker deployment

Total Cost Estimate: $500-800/month (cloud) or ~$8000 one-time (on-premise)

Scenario 3: National Helpline (200+ users)

Helpline Service:

  • Application servers: 2×(16 CPU, 32 GB RAM, 500 GB SSD)
  • Database cluster: 3×(8 CPU, 16 GB RAM, 1 TB SSD)
  • Load balancer
  • CDN for static assets

AI Service:

  • GPU servers: 2×(32 CPU, 64 GB RAM, 500 GB SSD, A100 GPU)
  • Redis cluster
  • Docker Swarm or Kubernetes

Total Cost Estimate: $2000-5000/month (cloud) or ~$50,000 one-time (on-premise)


Cloud Provider Recommendations

AWS

  • Helpline: EC2 t3.large or t3.xlarge
  • AI Service: g4dn.xlarge or g5.xlarge (GPU)
  • Database: RDS MySQL t3.medium or t3.large
  • Storage: EBS gp3 volumes

Google Cloud

  • Helpline: n2-standard-4 or n2-standard-8
  • AI Service: n1-standard-8 with T4 GPU
  • Database: Cloud SQL MySQL (db-n1-standard-2)
  • Storage: Persistent SSD

Azure

  • Helpline: Standard_D4s_v3 or Standard_D8s_v3
  • AI Service: Standard_NC4as_T4_v3 (GPU)
  • Database: Azure Database for MySQL (GP_Gen5_2)
  • Storage: Premium SSD

Performance Expectations

Helpline Service

MetricTarget
API Response Time< 200ms (95th percentile)
Page Load Time< 2 seconds
Concurrent UsersAs per hardware tier
Database Queries< 50ms average
Uptime99.9%

AI Service

MetricTarget (GPU)Target (CPU)
Transcription2-5 sec/min audio10-20 sec/min audio
Translation< 1 second< 3 seconds
Classification< 500ms< 2 seconds
Complete Pipeline15-30 seconds60-120 seconds
Throughput10+ concurrent2-3 concurrent

Compatibility Matrix

Tested Configurations

Helpline OSAI Service OSMySQLPHPStatus
Ubuntu 20.04Ubuntu 20.048.08.2✅ Tested
Ubuntu 22.04Ubuntu 22.048.08.2✅ Tested
RHEL 8Ubuntu 20.048.08.2✅ Tested
Debian 11Ubuntu 20.0410.58.2✅ Tested

Pre-Installation Checklist

Before proceeding with installation, ensure:

Helpline Service:

  • [ ] Server meets minimum hardware requirements
  • [ ] Operating system is 64-bit Ubuntu 20.04+ or RHEL 8+
  • [ ] Root or sudo access available
  • [ ] Ports 80, 443 available
  • [ ] Domain name configured (optional but recommended)
  • [ ] SSL certificate obtained

AI Service:

  • [ ] Server meets minimum hardware requirements
  • [ ] GPU drivers installed (if using GPU)
  • [ ] Docker and Docker Compose installed
  • [ ] NVIDIA Container Runtime installed (if GPU)
  • [ ] At least 50 GB free storage for models
  • [ ] Network connectivity to Helpline service

Network:

  • [ ] Firewall rules configured
  • [ ] DNS records configured
  • [ ] Bandwidth meets requirements
  • [ ] Internal network between services configured

Data:

  • [ ] Backup strategy planned
  • [ ] Data retention policies defined
  • [ ] Disaster recovery plan prepared

Next Steps

After verifying system requirements:

  1. See On-Premise Installation Guide for server installation
  2. See Cloud Deployment for cloud provider setup
  3. See Docker/Kubernetes Setup for container deployment

For questions about system requirements, contact: support@bitz-itc.com