Overview
Prerequisites, architecture topology, and dependencies for self-hosting Iqra AI.
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:
| Component | Recommended Host | Reason |
|---|---|---|
| Data Layer | Docker | MongoDB, Redis, Milvus, and Docling are complex to install manually. We provide a docker-compose file for these. |
| Application Layer | Bare Metal / VM | Running 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.
1. Infrastructure
Spinning up the databases and Docling using Docker.
2. Configuration
configuring appsettings.json for the Frontend, Backend, Proxy, and Background apps.
3. Deployment
Publishing the .NET binaries and running them as Services.
4. Initialization
First-time setup: Creating the Admin account and seeding the database.
5. Lifecycle
Handling updates, database migrations, seeding, and telemetry policies.