selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Egma logo

Self-host Egma

cli-v0.3.3

Platform for simulation testing and monitoring voice agents

BetaOpen SourceOther
Updated4 weeks ago
LanguageTypescript
Setup difficultyAdvanced
Stars
145
Ports
3100 (API server), 3101 (Web UI)
Requires
ClickHouse, LiveKit, MinIO (S3-compatible storage), PostgreSQL, Redis
Install with Docker Compose

What is Egma?

Egma gives developers a way to test voice agents before release and watch them in production. You write simulation suites that run synthetic voice or text conversations against your agent, with mocked tool responses, then grade the results. The same platform ingests live traffic so you can review actual calls, tool invocations, and metrics. It works with LiveKit, Pipecat, and Retell frameworks. You supply your own model-provider keys — OpenAI, Cartesia, Deepgram — and pay those vendors directly. The stack runs in Docker Compose: PostgreSQL stores metadata, ClickHouse holds traces, MinIO keeps recordings, LiveKit handles media, Redis does signaling, and Egma's own API, web UI, simulator, and grader containers tie it together. A CLI drives the workflow. The code is MIT licensed except for ee/ folders.

Should you self-host Egma?

Egma scores 43/100 on selfhost.directory (how scoring works) and ranks #49 of 69 in AI Chat. It has 145 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is advanced: plan for several services and some ongoing maintenance. It is Other-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is LibreChat (85/100, 46 421 stars). It scores higher overall, so compare the two before you pick. See Egma vs LibreChat side by side.

Features

  • Bring your own API keys
  • CLI for test management
  • Customizable personas
  • Grading system
  • Phone simulation support
  • Pipecat integration
  • Production Monitoring
  • Retell integration
  • Voice agent simulation testing

Egma README

How to install Egma

Install Egma with Docker Compose

Docker and Docker Compose

git clone https://github.com/egma-ai/egma.git cd egma npm install --global egma-cli cp .env.example .env chmod 600 .env

Configure .env using the self-hosting guide, then start Egma:

egma self-host up

Requires Docker and Docker Compose. Opens localhost:3101 for web UI.

How to configure Egma

  • EGMA_BASE_URLPublic URL where browsers reach this Egma instance

    Public URL where browsers reach this Egma instance

  • EGMA_BLOB_PUBLIC_URLPublic URL for recording playback (signed URLs)

    Public URL for recording playback (signed URLs)

  • EGMA_CARTESIA_API_KEYCartesia API key for TTS provider

    Cartesia API key for TTS provider

  • EGMA_CHAT_SIMULATION_CONCURRENCY_CAPDeployment-wide cap for chat simulations

    Deployment-wide cap for chat simulations

  • EGMA_DEEPGRAM_API_KEYDeepgram API key for speech-to-text

    Deepgram API key for speech-to-text

  • EGMA_GRADING_CONCURRENCY_CAPDeployment-wide cap for grading jobs

    Deployment-wide cap for grading jobs

  • EGMA_MAIL_FROMFrom email address for outgoing mail

    From email address for outgoing mail

  • EGMA_OPENAI_API_KEYOpenAI API key for model provider

    OpenAI API key for model provider

  • EGMA_PHONE_SOURCE_NUMBERSource phone number in E.164 format

    Source phone number in E.164 format

  • EGMA_PHONE_TRUNK_ADDRESSSIP trunk address for phone simulations (e.g., Twilio)

    SIP trunk address for phone simulations (e.g., Twilio)

  • EGMA_PHONE_TRUNK_PASSWORDSIP trunk password

    SIP trunk password

  • EGMA_PHONE_TRUNK_USERNAMESIP trunk username

    SIP trunk username

  • EGMA_POSTHOG_HOSTPostHog host for telemetry

    PostHog host for telemetry

  • EGMA_POSTHOG_KEYPostHog project key for telemetry

    PostHog project key for telemetry

  • EGMA_RATE_LIMIT_PER_MINUTE600Rate limit per minute per organization

    Rate limit per minute per organization

  • EGMA_SINGLE_ORGANIZATIONtrueWhether to run in single-organization mode

    Whether to run in single-organization mode

  • EGMA_SMTP_URLSMTP URL for email invitations and verification

    SMTP URL for email invitations and verification

  • EGMA_SPEECH_PROVIDER_CONCURRENCY_CAPSPer-speech-provider concurrency caps

    Per-speech-provider concurrency caps

  • EGMA_STRIPE_SECRET_KEYStripe secret key to enable billing

    Stripe secret key to enable billing

  • EGMA_STRIPE_WEBHOOK_SECRETStripe webhook signing secret

    Stripe webhook signing secret

  • EGMA_TELEMETRYEnable platform telemetry

    Enable platform telemetry

  • EGMA_TELEMETRY_OTLP_ENDPOINTOTLP endpoint for telemetry

    OTLP endpoint for telemetry

  • EGMA_VOICE_SIMULATION_CONCURRENCY_CAPDeployment-wide cap for voice simulations

    Deployment-wide cap for voice simulations

More in Testing

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…