Pré-requisitos

Antes de iniciar a instalação da Evolution API v2, certifique-se de que você já configurou os serviços necessários, como PostgreSQL e Redis. Siga os links abaixo para mais detalhes:

Instalação do NVM

A Evolution API pode ser facilmente instalada usando o Node Version Manager (NVM). Siga estas etapas para configurar seu ambiente e iniciar a Evolution API em seu servidor.

Instalar NVM

Primeiro, baixe e instale o Node.js com os seguintes comandos:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

Agora, carregue o ambiente e instale o Node.js:

# Carregar o NVM no ambiente atual
source ~/.bashrc

# Instalar e usar a versão necessária do Node.js
nvm install v20.10.0 && nvm use v20.10.0

Confirme que o NVM foi instalado com sucesso:

command -v nvm

Se você ainda não configurou, também pode configurar o fuso horário do seu servidor com o comando:

dpkg-reconfigure tzdata

Clonando o Repositório e Instalando Dependências

Clone o repositório oficial da Evolution API v2 a partir da branch correta:

git clone -b v2.0.0 https://github.com/EvolutionAPI/evolution-api.git

Acesse o diretório do projeto e instale as dependências:

cd evolution-api
npm install

Configuração de Variáveis de Ambiente

Agora vamos configurar as variáveis de ambiente. Primeiro, copie o arquivo .env.example para .env:

cp ./.env.example ./.env

Edite o arquivo .env com suas configurações específicas:

nano ./.env

Substitua os valores padrão pelas suas configurações, como strings de conexão de banco de dados, chaves de API, portas do servidor, etc.

Acesse a seção de variáveis de ambiente para instruções detalhadas sobre como configurar seu arquivo .env.

Geração e Deploy do Banco de Dados

Após configurar o ambiente, você precisará realizar a geração dos arquivos do cliente Prisma e o deploy das migrations no banco de dados. Utilize os comandos abaixo, dependendo do banco de dados que você está utilizando (PostgreSQL ou MySQL):

  1. Gerar os arquivos do cliente Prisma:

    npm run db:generate
    
  2. Realizar o deploy das migrations:

    npm run db:deploy
    

Inicializando a Evolution API

Após a configuração, você pode iniciar a Evolution API com o seguinte comando:

npm run build
npm run start:prod

Instalação e Configuração do PM2

Use o PM2 para gerenciar o processo da API:

npm install pm2 -g
pm2 start 'npm run start:prod' --name ApiEvolution
pm2 startup
pm2 save --force

Se o seu servidor tiver mais memória, considere configurar o PM2 para utilizar mais recursos:

pm2 start 'npm run start:prod' --name ApiEvolution -- start --node-args="--max-old-space-size=4096" --max-memory-restart 4G

Isso é recomendado para servidores com pelo menos 4GB de RAM disponíveis exclusivamente para a Evolution API.

Para verificar se a API está em execução, acesse http://localhost:8080. Você deve ver a seguinte resposta:

{
  "status": 200,
  "message": "Welcome to the Evolution API, it is working!",
  "version": "2.0.10",
  "clientName": "evolution01",
  "manager": "https://evo2.site.com/manager",
  "documentation": "https://doc.evolution-api.com"
}

Facilite sua vida com a extensão JSON Formatter no Google Chrome ou Microsoft Edge.