Book a demo
Self-host · Apache 2.0 · Your own models

Self-Host
Meeting
Transcription

Run Vexa with its bundled GPU or CPU transcription unit and your own LLM endpoint on Docker Compose or Lite, and the audio path never calls out; on Kubernetes, one transcription setting still goes through extraEnv.

vexa · your servers
Zoom · Teams · MeetVexa, on your serversTranscription unitYour modelYour storage
  • Zoom · Teams · Meet
  • Vexa, on your servers
  • Transcription unit
  • Your model
  • Your storage
Teams
Meet
Vexa
🦀
Meeting data for your agents

Your agents read the meeting while it runs.

The transcript streams to your agents as people speak, over WebSocket or MCP.

Built for self-hosting

A self-hosted Vexa runs in your own AWS, Azure or Google Cloud account, or on-premises, with the workspace and agents.

  • Docker Compose, Vexa Lite, or Helm on Kubernetes and OpenShift
  • Transcription on its own unit, or your OpenAI-compatible endpoint
  • The code you review is the code that runs
Self-host quickstart: Docker Compose
git clone https://github.com/Vexa-ai/vexa.git && cd vexa
make all      # the full stack on Docker Compose; prints an API key and the URLs

# A transcript needs speech-to-text. Point TRANSCRIPTION_SERVICE_URL at
# your own transcription unit to keep audio inside your network, or set
# TRANSCRIPTION_SERVICE_TOKEN to use Vexa's hosted transcription.

curl -X POST http://localhost:18056/bots \
  -H "X-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "google_meet",
    "native_meeting_id": "abc-defg-hij",
    "bot_name": "Vexa"
  }'
Set $API_BASE to https://api.cloud.vexa.ai (hosted) or http://localhost:18056 (self-host). Get $API_KEY from /start.

Common patterns

When self-hosting fits

Three reasons to run Vexa yourself.

Banks, asset managers and other regulated firms

Your firm can't send client meeting audio to a vendor's cloud.

What you get
  • Run Vexa and its transcription unit inside your network.
  • Recordings, transcripts and notes stay in your own storage.

EU data residency

Meeting data must stay in the European Union; hosted Vexa runs in the United States.

What you get
  • Run Vexa on infrastructure you choose in the EU.
  • Which providers handle meeting data is then your decision.

Software you can keep

The system that holds your meetings has to outlast any one vendor.

What you get
  • Its open core is approved by FINOS.
  • If the vendor goes, the code stays.

Run Vexa on your own machine

make all brings up the full stack on Docker Compose and prints an API key.

Quickstart

  1. Clone the repogit clone https://github.com/Vexa-ai/vexa
  2. make allPrints the API key and the service URLs.
  3. Choose where transcription runsPoint TRANSCRIPTION_SERVICE_URL at your transcription unit.
  4. Send a botPOST /bots with the platform and meeting ID.
  5. Production: KubernetesInstall the Helm chart on Kubernetes or OpenShift.

Self-Host architecture

Postgres holds records, Redis carries the live feed, and S3-compatible storage keeps recordings and workspaces.

Pipeline
bot → audio capture → speech-to-text → transcript segments → REST / WebSocket

Before you start

  • As written, the quickstart sends audio to Vexa's hosted transcription.
  • A default Helm install transcribes nothing until configured.
  • Agent containers aren't firewalled by default; web tools are on.
  • Backups are yours: nothing in the release does them.

Documentation

Go deeper on self-hosting

Full reference at docs.vexa.ai.

Related reading

Keep going on Self-Host

Related pages, guides and comparisons.

Self-host FAQ

What operators ask before they run Vexa in their own infrastructure.

Is self-hosted Vexa the same as hosted Vexa?

Not identical. The bot and the REST API are the same Apache 2.0 code. The workspace and the agents run only in a self-hosted Vexa. The hosted service runs in the United States.

What infrastructure do I need?

To try it, one Linux host or a Mac with Docker. In production, Docker Compose on a Linux host, or Kubernetes with the Helm chart. Postgres, Redis and S3-compatible storage hold records, the live feed and recordings; the stack brings its own or uses yours.

Can I run Vexa with no outbound internet access?

Vexa can run self-hosted with no egress on the audio path; it has never been run on a disconnected network, so Vexa claims nothing beyond that. Pre-pull the images into your registry, keep the transcription model's weights in internal storage, and deny outbound traffic. The bot still reaches the meeting platform, and agents reach the model endpoint you configure. Agent containers are not firewalled by default: apply your own network policy.

Does the Helm chart include transcription?

No: a default Helm install captures meetings but transcribes nothing until you point it at Vexa's separate transcription unit or your own endpoint. Each bot runs as its own Pod.

What is the difference with Vexa Lite?

Vexa Lite is the same code in one container, for the simplest installs. Docker Compose runs each service in its own container.

A seat, an hour, or free

A seat for your agent. An hour for what you build. No licence fee when you run it yourself.

Run your own Vexa. Your storage, your model.

Apache 2.0, with no licence fee.

Apache 2.0 · Self-host or cloud · No credit card required