> ## Documentation Index
> Fetch the complete documentation index at: https://doc.evolution-api.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Atualização

Manter sua instância da Evolution API atualizada é crucial para segurança, desempenho e acesso a novos recursos. O método de atualização depende de como você inicialmente instalou a API. Este guia cobre os passos para atualizar sua Evolution API usando Docker Compose e NPM.

<Note>Antes de atualizar a Evolution, certifique-se de que todos os aplicativos integrados estão realmente funcionando com a Evolution. Atualize por sua conta e risco.</Note>

## Atualização com Docker

Se você configurou inicialmente sua Evolution API usando Docker, siga estas etapas para atualizar:

### Atualização com Docker CLI

Se sua Evolution API foi instalada inicialmente usando Docker Compose via interface de linha de comando (CLI), e não através do Portainer ou qualquer outra ferramenta de gerenciamento de contêiner, siga estas etapas para atualizá-la:

1. **Navegue até o Diretório do Docker Compose**: Abra um terminal e vá para o diretório onde seu arquivo Docker Compose (`docker-compose.yml`) está localizado.

2. **Puxe a Imagem Mais Recente**: Atualize a imagem da Evolution API para a versão mais recente executando o seguinte comando:

```shell theme={null}
docker pull atendai/evolution-api:v2.1.1
```

3. **Pare e Reinicie os Contêineres**: Após puxar a imagem mais recente, pare os contêineres atuais e reinicie-os. Isso pode ser feito usando o seguinte comando:

```shell theme={null}
docker compose down && docker compose up -d
```

## Atualização com Portainer

Se você está usando o Portainer para gerenciamento de contêineres, siga estas etapas para atualizar sua Evolution API:

1. **Acesse o Painel do Portainer**: Abra o painel do Portainer em um navegador web.

2. **Navegue até Seus Contêineres**: Vá para a seção 'Stacks' onde seu contêiner da Evolution API está listado.

3. **Atualize o Compose**:
   * Localize o campo `image` na sua configuração do Docker Compose.

```yaml stack-file.yml theme={null}
# ... (outros serviços e configurações)
  evolution_api:
    # Atualize a versão da imagem da Evolution API aqui
    # Use 'atendai/evolution-api:latest' para a versão mais recente
    # Ou especifique uma versão específica como 'atendai/evolutionapi:2.1.1'
    image: atendai/evolution-api:v2.x.x
    networks:
      - your_network

```

* Atualize o valor para `atendai/evolution-api:v2.1.1` para a versão mais recente, ou use `atendai/evolutionapi:v2.x.x` para uma versão específica.
* Após fazer as alterações, clique no botão 'Deploy' no final da janela de edição do compose.

4. **Verifique a Atualização**: Após recriar o contêiner, verifique se a Evolution API está executando a versão mais recente. Isso pode ser verificado tipicamente através do endpoint de versão da API ou dos logs.

<Note>
  Para ambientes de produção, é recomendável especificar uma versão particular da Evolution API (ex.: atendai/evolution-api:v1.x.x) em vez de usar latest.
  Esta prática garante estabilidade e previsibilidade, pois protege seu ambiente de produção de problemas potenciais decorrentes de mudanças inesperadas na versão mais recente.
</Note>

Seguindo esses passos, você pode garantir que sua Evolution API esteja sempre atualizada usando o Portainer.

## Atualização com NPM

Atualizar sua instalação da Evolution API via NPM envolve várias etapas para garantir uma transição suave para a nova versão. Aqui está um guia passo a passo:

1. **Limpar e Parar**: Limpe todos os logs do PM2, útil para resolução de problemas após a atualização, e pare temporariamente a Evolution API para aplicar as atualizações com segurança.

```shell Terminal theme={null}
# Limpar todos os logs do PM2
pm2 flush

# Parar o processo atual da Evolution API
pm2 stop ApiEvolution
```

2. **Resetar o repositório local e puxar as atualizações mais recentes**: Garanta que seu código local esteja em sincronia com o commit mais recente e baixe as atualizações mais recentes do repositório. Opcionalmente, mude para uma versão específica se não estiver usando a mais recente. É recomendado para ambientes de produção.

```shell Terminal theme={null}
# Resetar seu repositório local para o commit mais recente
git reset --hard HEAD

# Puxar as atualizações mais recentes do repositório
git pull

# Para uma versão específica, use 'git checkout main' para a mais recente,
# ou 'git checkout 1.x.x' para uma versão específica. Exemplo:
git checkout 1.x.x
```

3. **Instalação Limpa**: Remova o `node_modules` existente para evitar possíveis conflitos com novas dependências e instale as dependências necessárias do Node.js para a versão atualizada.

```shell Terminal theme={null}
# Remover o diretório node_modules atual para garantir uma instalação limpa
rm -rf node_modules

# Instalar dependências com NPM
npm i

# Reiniciar a Evolution API com a versão atualizada
pm2 start ApiEvolution

# Opcionalmente, visualizar os logs do PM2 para a Evolution API
pm2 log ApiEvolution
```
