Evolution API na VPS: como instalar com Docker e conectar o WhatsApp

Tempo de leitura: 4 minutos

Automatizar mensagens no WhatsApp ficou mais acessível com ferramentas de código aberto. A Evolution API é uma delas: você sobe o serviço na sua própria VPS, conecta um número por QR code e passa a enviar e receber mensagens por chamadas HTTP, ideal para integrar com sistemas e com o n8n.

Um serviço que precisa ficar 24 horas conectado pede uma VPS estável. Se você ainda não tem onde rodar isso, a Cloud VPS Brasil já entrega o servidor pronto.

Um aviso importante antes

O uso de automação no WhatsApp tem regras da própria plataforma. Use um número seu, respeite quem recebe as mensagens, não envie spam e evite grandes disparos em pouco tempo. Contas podem ser restritas ou banidas por comportamento abusivo. Este guia é técnico, e a responsabilidade pelo uso é sua.

O que você precisa

  • Uma VPS Linux com Docker instalado.
  • Um domínio ou subdomínio (opcional, mas recomendado, para usar HTTPS).
  • Um celular com WhatsApp para ler o QR code.

Como o serviço é montado

A Evolution API usa um banco PostgreSQL (para guardar instâncias e mensagens) e um Redis (cache). O repositório oficial traz um docker-compose pronto com tudo isso. Os nomes das variáveis e as versões das imagens mudam entre versões, então confira sempre o README e o .env.example do repositório oficial antes de começar.

Passo 1: baixar o projeto

git clone https://github.com/EvolutionAPI/evolution-api.git
cd evolution-api
cp .env.example .env

Passo 2: configurar o arquivo .env

Abra o .env e ajuste, no mínimo, estes pontos (os nomes podem variar conforme a versão):

SERVER_URL=https://evolution.seudominio.com.br
AUTHENTICATION_API_KEY=GERE_UMA_CHAVE_LONGA_E_ALEATORIA
DATABASE_PROVIDER=postgresql
CACHE_REDIS_ENABLED=true

A AUTHENTICATION_API_KEY é a senha global da API. Gere algo longo e aleatório, por exemplo com openssl rand -hex 32, e guarde em local seguro. Confira também as linhas de conexão com o banco e com o Redis para baterem com o docker-compose.

Passo 3: subir os containers

docker compose up -d
docker compose ps
docker compose logs -f

Se tudo subiu, a API responde na porta indicada no compose (comumente a 8080). Confira nos logs (docker compose logs) se não há erro e, depois de configurar o proxy do próximo passo, abra o endereço do seu domínio no navegador: deve aparecer uma mensagem de boas-vindas da API.

Passo 4: expor com HTTPS

Em vez de abrir a porta para a internet, use o Nginx como proxy reverso com certificado. Veja Nginx como Proxy Reverso e o Certbot. Mantenha o container preso a 127.0.0.1 sempre que possível.

Passo 5: criar a instância e conectar

Cada número do WhatsApp é uma instância. Você faz as chamadas com um cliente de API, como o Postman ou o Insomnia (ou um nó HTTP do n8n). Crie a instância enviando a chave no cabeçalho apikey:

POST https://evolution.seudominio.com.br/instance/create
Cabeçalho: apikey: SUA_CHAVE
Cabeçalho: Content-Type: application/json
Corpo: {"instanceName": "meunumero", "qrcode": true, "integration": "WHATSAPP-BAILEYS"}

A resposta traz o QR code. No celular, abra o WhatsApp, vá em Aparelhos conectados > Conectar um aparelho e leia o código. Também existe um painel web (Manager) para fazer isso pela tela.

Passo 6: enviar uma mensagem de teste

POST https://evolution.seudominio.com.br/message/sendText/meunumero
Cabeçalho: apikey: SUA_CHAVE
Cabeçalho: Content-Type: application/json
Corpo: {"number": "5511999999999", "text": "Teste da Evolution API"}

Boas práticas

  1. Proteja a chave: quem tem a apikey controla todas as instâncias.
  2. Faça backup do volume do PostgreSQL. Veja Backup do MariaDB/MySQL para o conceito e use o pg_dump no caso do Postgres.
  3. Monitore a conexão da instância e esteja pronto para reconectar.
  4. Para ligar com automações, veja n8n com WhatsApp e Evolution API e VPS para Bot de WhatsApp.

Um servidor que não derruba a sua automação

WhatsApp conectado o dia todo pede base estável. Na Cloud VPS Brasil você conta com Intel Xeon Gold, SSD NVMe, baixa latência, tráfego ilimitado, preço fixo em reais e suporte humano via WhatsApp e ticket. Fale com a equipe pelo WhatsApp e escolha o plano ideal para o seu projeto.