logoVoxagent

Требования

Системные требования и планирование ресурсов для Voxagent

Voxagent — модульная платформа. Каждый сервис работает в своём контейнере, поэтому компоненты можно масштабировать независимо. Перед развёртыванием подберите железо под ожидаемое число одновременных сессий — остальное (бэкбон) остаётся примерно постоянным.

Программные зависимости

  • Docker 24+ и Docker Compose v2.24+
  • 64-битный Linux-хост (Ubuntu 22.04 LTS или аналог). macOS подойдёт для локальной разработки.
  • Исходящий интернет (registry, LLM/STT/TTS провайдеры, STUN/TURN).
  • Порты, доступные из браузеров пользователей: фронтенд, API бэкенда, Keycloak, LiveKit WebRTC (TCP 7881, UDP 50000–60000).

Ресурсы по сервисам

В таблице ниже — CPU / RAM / Disk для каждого сервиса при типовых нагрузках по одновременным сессиям. Значения — эмпирические замеры из прода.

Service1 session10 sessions50 sessions250 sessions500 sessions
livekit-server
WebRTC SFU — media plane for every active call
550 m · 276 MB · 1.0 GB1.00 vCPU · 456 MB · 1.0 GB3.00 vCPU · 1.2 GB · 1.0 GB13.00 vCPU · 5.1 GB · 1.0 GB25.50 vCPU · 10.0 GB · 1.0 GB
python-worker
LiveKit voice agent (LLM/STT/TTS orchestration)
500 m · 520 MB · 1.0 GB2.30 vCPU · 1.6 GB · 1.0 GB10.30 vCPU · 6.3 GB · 1.0 GB50.30 vCPU · 29.7 GB · 1.0 GB100.30 vCPU · 59.0 GB · 1.0 GB
egress
LiveKit recording/transcoding (optional)
350 m · 336 MB · 2.0 GB1.70 vCPU · 1.0 GB · 2.5 GB7.70 vCPU · 4.2 GB · 4.5 GB37.70 vCPU · 19.8 GB · 14.5 GB75.20 vCPU · 39.3 GB · 27.0 GB
websocket-media-bridge
Voximplant/Twilio SIP ↔ LiveKit audio bridge
230 m · 143 MB · 0.5 GB500 m · 278 MB · 0.5 GB1.70 vCPU · 878 MB · 0.5 GB7.70 vCPU · 3.8 GB · 0.5 GB15.20 vCPU · 7.4 GB · 0.5 GB
asp-net-backend
Main API (.NET 9, EF Core, SignalR)
1.01 vCPU · 1.0 GB · 5.0 GB1.10 vCPU · 1.0 GB · 5.0 GB1.50 vCPU · 1.2 GB · 5.0 GB3.50 vCPU · 2.2 GB · 5.0 GB6.00 vCPU · 3.4 GB · 5.0 GB
postgres
Main + Lago + Keycloak + Hangfire DBs
505 m · 1.0 GB · 20.0 GB550 m · 1.0 GB · 20.0 GB750 m · 1.1 GB · 20.1 GB1.75 vCPU · 1.5 GB · 20.5 GB3.00 vCPU · 2.0 GB · 21.0 GB
redis
LiveKit pubsub, backend cache, Sidekiq queues
205 m · 259 MB · 2.0 GB250 m · 286 MB · 2.0 GB450 m · 406 MB · 2.0 GB1.45 vCPU · 1006 MB · 2.0 GB2.70 vCPU · 1.7 GB · 2.0 GB
kafka
Event streaming (spans, webhooks, analytics)
505 m · 1.0 GB · 20.0 GB550 m · 1.0 GB · 20.1 GB750 m · 1.2 GB · 20.5 GB1.75 vCPU · 2.2 GB · 22.5 GB3.00 vCPU · 3.4 GB · 25.0 GB
keycloak
OAuth2 / OIDC authentication
500 m · 768 MB · 2.0 GB500 m · 768 MB · 2.0 GB500 m · 768 MB · 2.0 GB500 m · 768 MB · 2.0 GB500 m · 768 MB · 2.0 GB
minio
S3-compatible storage (recordings, invoices)
200 m · 256 MB · 20.1 GB200 m · 256 MB · 20.5 GB200 m · 256 MB · 22.5 GB200 m · 256 MB · 32.5 GB200 m · 256 MB · 45.0 GB
clickhouse
Analytics warehouse (optional)
500 m · 2.0 GB · 30.0 GB500 m · 2.0 GB · 30.1 GB500 m · 2.0 GB · 30.3 GB500 m · 2.0 GB · 31.3 GB500 m · 2.0 GB · 32.5 GB
webhook-receiver
Accepts inbound webhooks (Lago, LiveKit, Twilio)
200 m · 256 MB · 1.0 GB200 m · 256 MB · 1.0 GB200 m · 256 MB · 1.0 GB200 m · 256 MB · 1.0 GB200 m · 256 MB · 1.0 GB
angular-client + widget
Static frontends (nginx)
100 m · 64 MB · 0.5 GB100 m · 64 MB · 0.5 GB100 m · 64 MB · 0.5 GB100 m · 64 MB · 0.5 GB100 m · 64 MB · 0.5 GB
lago (api + worker + front)
Billing stack
1.00 vCPU · 1.0 GB · 5.0 GB1.00 vCPU · 1.0 GB · 5.0 GB1.00 vCPU · 1.0 GB · 5.0 GB1.00 vCPU · 1.0 GB · 5.0 GB1.00 vCPU · 1.0 GB · 5.0 GB
logging stack (ES, Kibana, Fluent Bit, Benthos)
Optional observability (--profile logging)
1.00 vCPU · 2.0 GB · 30.0 GB1.03 vCPU · 2.0 GB · 30.0 GB1.15 vCPU · 2.1 GB · 30.1 GB1.75 vCPU · 2.5 GB · 30.8 GB2.50 vCPU · 3.0 GB · 31.5 GB
Total7.36 vCPU
10.8 GB
140.1 GB
11.48 vCPU
13.0 GB
141.2 GB
29.80 vCPU
22.9 GB
146.0 GB
121.40 vCPU
72.1 GB
170.0 GB
235.90 vCPU
133.6 GB
200.0 GB

Как читать:

  • Сервисы, зависящие от сессий (livekit-server, python-worker, egress, websocket-media-bridge) растут линейно по числу активных звонков. Их и нужно планировать.
  • Backbone-сервисы (Postgres, Kafka, Keycloak, Redis, MinIO и т.п.) имеют в основном фиксированный футпринт — разворачиваются один раз и переиспользуются между тенантами.
  • Диск в основном растёт в Postgres (транскрипты, счета), Kafka (retention событий) и MinIO (записи звонков). Планируйте хранилище с учётом retention.

Калькулятор ресурсов

Оцените общий футпринт application-слоя под пиковую нагрузку:

CPU
29.80 vCPU
RAM
22.9 GB
Disk
146.0 GB

Total is the sum across all application services at 50 concurrent sessions. Resources for LLM / STT / TTS providers are billed separately and not included here.

Замечания

  • Числа только для application-слоя. CPU/RAM/диск под LLM, STT и TTS провайдеров (или self-hosted модели) оплачиваются отдельно у вендоров и здесь не учтены. Про расчёт стоимости моделей — в отдельной странице позже.
  • Добавьте запас 20–30% сверху на headroom, пики и оверхед ОС.
  • Для HA-прода удвойте backbone (реплика Postgres, Kafka с replication factor ≥ 2 и т.п.).

Минимальный сайзинг машины

НагрузкаРекомендуемая VM
Демо / dev (1 сессия)4 vCPU · 8 GB RAM · 50 GB SSD
Small (10 сессий)6 vCPU · 16 GB RAM · 100 GB SSD
Medium (50 сессий)12 vCPU · 32 GB RAM · 200 GB SSD
Large (250 сессий)32 vCPU · 96 GB RAM · 500 GB SSD (multi-node)
XL (500 сессий)64 vCPU · 192 GB RAM · 1 TB SSD (multi-node)

Для всего выше 50 одновременных сессий рекомендуем вынести livekit-server + python-worker на отдельные хосты, чтобы медиа и агентская нагрузка не мешали backbone.

Содержание