Overview

Prerequisites, architecture topology, and dependencies for self-hosting Iqra AI.

View as Markdown

Self-hosting Iqra AI gives you absolute control over data privacy, latency, and infrastructure costs.

Because we prioritize low-latency audio processing, we currently recommend a Manual Binary Deployment for the application layer, rather than Docker. This ensures the Backend App has direct access to CPU scheduling and UDP ports without NAT overhead.

Deployment Strategy

Iqra AI follows a Hybrid Deployment Model:

ComponentRecommended HostReason
Data LayerDockerMongoDB, Redis, Milvus, and Docling are complex to install manually. We provide a docker-compose file for these.
Application LayerBare Metal / VMRunning the .NET binaries directly (Systemd/Windows Service) ensures maximum performance for real-time audio.

OS Compatibility

The platform is built on .NET.

  • Linux: Debian 12+ (Recommended for Production).
  • Windows: Windows 10/11 or Server 2019+ (Fully supported).
  • macOS: Supported but not tested for development or production.

Architecture Topology

Before you deploy, decide on your scale.

1. Single Node (Quick Start)

Everything runs on one machine.

  • 1x Frontend (Dashboard)
  • 1x Background (Jobs)
  • 1x Proxy (Telephony Gateway)
  • 1x Backend (Audio Processor)
  • All Databases (Docker)

2. Multi-Region (Production Scale)

Iqra AI is distributed by design.

  • Central: Frontend & Background (Single Instance).
  • Region A (e.g., US-East): 1x Proxy + N x Backend Nodes.
  • Region B (e.g., EU-Central): 1x Proxy + N x Backend Nodes.

Scaling Logic

The Frontend and Background are singletons (one per cluster). The Proxy and Backend are regional and can be scaled horizontally.

System Requirements

Hardware (Minimum)

  • CPU: 4 Cores (AVX2 support recommended for Vector/Audio processing).
  • RAM: 16GB (Milvus and Docling are memory-intensive).
  • Disk: 50GB SSD (NVMe recommended).

Network

  • Public IP: Essential for receiving Webhooks from Telephony providers (Twilio/Telnyx).
  • Ports:
    • 80/443 (HTTP/HTTPS) - Dashboard & API.
    • 5060 (SIP) - If using SIP Trunking.
    • 10000-20000 (UDP) - Critical. RTP Audio Media range for the Backend.

Software Dependencies

You will need the following "Data Layer" services running. We recommend using our provided docker-compose.yml for these.

MongoDB

v6.0+. Primary storage for metadata, users, and logs.

Redis

v7.0+. Hot cache, pub/sub, and concurrency counters.

Milvus

v2.3+. Vector database for RAG Knowledge Base.

RustFS / S3

Object storage for audio files. We provide RustFS, a lightweight S3-compatible server.

Docling

Document Parser. An AI-powered service used to convert PDFs/Office docs into clean text for RAG.

The Roadmap

Deploying Iqra AI involves four distinct stages.

On this page