LiveKit: self-host
LiveKit numa VPS sua — custo fixo mensal. Exemplo com Vultr.
Já fez o LiveKit Cloud? Pule esta página
Se você já passou pelo LiveKit: Cloud — pra demo ou pra uso normal dentro dos limites dele — a parte de voz já está resolvida. Pule esta página.
Continue a leitura só se você realmente quer subir o serviço por conta própria, sem limitação.
Qualquer VPS com IP público serve. Os exemplos usam Vultr; os passos são os mesmos em qualquer outra.
1. Provisionar a VPS
Crie uma conta na Vultr.
Deploy New Server → Cloud Compute → plano High Frequency (a partir de ~US$6/mês: NVMe, CPU dedicada, 2TB de banda inclusos).
Escolha a região mais próxima da sua comunidade.
Sistema operacional: Ubuntu 24.04.
2. Apontar um domínio
O LiveKit precisa de HTTPS/WSS — sem certificado TLS válido o navegador bloqueia a conexão WebRTC.
Crie um registro DNS A apontando um subdomínio (ex:
livekit.suacomunidade.com) pro IP da VPS, e confirme a propagação:
dig +short livekit.suacomunidade.comDeve imprimir o IP da VPS. Se não imprimir nada, o DNS ainda não propagou — espere e tente de novo antes de seguir.
3. Instalar o LiveKit
Conecte na VPS. O comando ssh é o mesmo no macOS e no Windows — os dois já
vêm com ele:
ssh root@IP-DA-SUA-VPSO comando seguinte roda dentro da VPS, que é Ubuntu — então ele é o mesmo independente do computador de onde você conectou:
curl -sSL https://get.livekit.io | bashO instalador oficial monta Docker Compose, Caddy (TLS automático) e o par
API key/secret. Ele pergunta o domínio do passo 2 e, no fim, imprime
LIVEKIT_API_KEY, LIVEKIT_API_SECRET e a URL (wss://SEU-DOMINIO). Guarde
os três.
Referência: docs.livekit.io/home/self-hosting/vm.
4. Abrir as portas
O instalador já abre o necessário na VPS:
- 443/TCP — sinalização e TLS
- UDP 50000-60000 — mídia (o áudio/vídeo em si)
Se a Vultr tiver firewall de borda ligado no dashboard (separado do firewall da própria VPS), abra as mesmas faixas lá também. É a causa mais comum de "conecta mas ninguém escuta ninguém".
Variáveis desta etapa
| Variável | Valor |
|---|---|
LIVEKIT_URL | wss://SEU-DOMINIO |
LIVEKIT_API_KEY | Gerada pelo instalador |
LIVEKIT_API_SECRET | Gerada pelo instalador |
Opcional: métricas de infraestrutura
Com VPS própria, o painel de admin pode mostrar CPU, RAM, disco e banda em
tempo real. Os passos estão no infra/vps-metrics/README.md do repositório do
app: dois scripts instalados via cron na VPS, mais
SERVER_METRICS_INGEST_SECRET, VPS_SSH_HOST, VPS_SSH_USER e
VPS_SSH_PRIVATE_KEY no serviço do Next.js. Sem isso, a aba "Infra" não
aparece.