Astervis Docs

Architecture

How Astervis works at a high level

Astervis runs as a set of Docker containers on your server, separate from your PBX.

How It Works

┌─────────────────┐      ┌─────────────────┐      ┌─────────────────┐
│   Your PBX      │      │    Astervis     │      │   Dashboard     │
│  (Asterisk/     │ ───▶ │   Real-time     │ ───▶ │   Analytics &   │
│   FreePBX)      │      │     Sync        │      │    Reports      │
└─────────────────┘      └─────────────────┘      └─────────────────┘
       │                        │                        │
   Generates               Captures CDR              Shows data
   call records            changes instantly         in real-time

Key Benefits

Traditional ApproachAstervis Approach
Query MySQL directlyDedicated analytics database
Heavy queries slow PBXZero impact on PBX
Polling for updatesReal-time sync (seconds)
Slow on large datasetsOptimized for millions of records

Data Flow

  1. Call happens → Your PBX writes a CDR record
  2. Instant capture → Astervis detects the new record
  3. Transform & store → Data optimized for analytics
  4. Dashboard updates → See the call immediately

New calls appear in your dashboard within seconds of completion.

What's Installed

Astervis installs these components via Docker:

  • Analytics Database — optimized for time-series queries
  • API Server — powers the dashboard and integrations
  • Web Dashboard — the interface you use daily
  • Background Workers — handle sync and scheduled tasks
  • Reverse Proxy — HTTPS access on port 8443

All components are containerized and managed by Docker Compose.

Resource Usage

Typical production deployment (400K+ CDR records):

ComponentRAM Usage
Database~400 MB
API Server~150 MB
Dashboard~130 MB
Sync Services~1.5 GB
Cache~10 MB
Total~2.3 GB

Network

WhatPort
Dashboard (HTTPS)8443
Internal servicesNot exposed

Only port 8443 is accessible from outside. All other services communicate internally.


Next: Installation — deploy Astervis on your server

On this page