Skip to main content

Atualização de versão (on-premise)

# Como atualizar o Interactive Intelligence (on-premise)

Oct 15, 2026 · @Danilo

##

Visão geral e pré-requisitos

A atualização baixa as imagens mais recentes do II no registro da Selbetti e recria os containers, preservando dados e configurações. O II fica indisponível por alguns minutos durante a recriação, então programe uma janela de manutenção.

Antes de começar, confirme:

-

  • Acesso ao servidor com permissão para executar comandos Docker (usuário no grupo `docker`docker ou com `sudo`sudo).
    -
  • Docker Compose v2 instalado (comando `docker compose`compose, sem hífen). Verifique com `docker compose version`version.
    -
  • Usuário e senha do registro `selbii.azurecr.io`io, fornecidos pela Selbetti. Se não os tiver, solicite pelo [portal de suporte](https://md2net.tomticket.com/helpdesk)suporte.
    -
  • Espaço livre em disco para as novas imagens e para o backup do banco de dados.
    -
  • Terminal aberto no diretório de instalação do II, onde ficam o `docker-compose.yml`yml e o `.env`env. Todos os comandos deste guia partem desse diretório.

Os serviços do II usam *profiles*profiles do Docker Compose (`backend`backend, `frontend`frontend e `db`db). Sem eles, o Compose ignora os serviços. Defina os profiles uma vez na sessão do terminal, antes de qualquer outro comando:

```bash

export COMPOSE_PROFILES=backend,frontend,db
```

Se a sua instalação usa apenas parte dos serviços (por exemplo, banco de dados externo), mantenha somente os profiles em uso.

##

1. Antes de começar: backup

Faça os três passos abaixo antes de toda atualização. Eles permitem voltar à versão anterior caso algo dê errado.

  1. 1. **Backup do banco de dados.** Substitua `<usuario>` pelo valor da variável `POSTGRES_USER`POSTGRES_USER do arquivo `.env`env:

       ```bash
       

    docker compose exec -T db pg_dump -U <usuario> -d qm3_api -Fc > backup_ii_$(date +%Y%m%d_%H%M).dump
     ```

       Confira se o arquivo foi gerado e não está vazio com `ls -lh backup_ii_*.dump`dump.
    2.

    **
  2. Backup dos arquivos de configuração:**

       ```bash
       

    tar czf config_ii_$(date +%Y%m%d_%H%M).tar.gz docker-compose.yml .env postgresql.conf keystore.p12 autenticacao-speech-to-text-google.json database-init
     ```

       Esse pacote contém senhas e certificados. Guarde-o em local seguro, com acesso restrito.
    3.

    **
  3. Marcação das imagens atuais para rollback.** O comando cria uma cópia local (tag `-anterior`anterior) de cada imagem em uso:

       ```bash
       

    for img in backend frontend db-pg15; do
      docker tag selbii.azurecr.io/md2ii-app:${img}-latest selbii.azurecr.io/md2ii-app:${img}-anterior
      done
    ```

  4. ##

2. Atualizar o II

  1. 1. **Autentique-se no registro da Selbetti**Selbetti e informe o usuário e a senha quando solicitado:

       ```bash
       

    docker login selbii.azurecr.io
    ```
    2.
  2. **
  3. Baixe as novas imagens:**

       ```bash
       

    docker compose pull
     ```

       O comando deve listar o download de `back-intelligence`intelligence, `front-intelligence`intelligence e `db`db.
    3.

    **
  4. Recrie os containers com as novas imagens:**

       ```bash
       

    docker compose up -d
     ```

       O Compose recria apenas os containers cuja imagem mudou. Os dados do banco, em `./postgres`postgres, são preservados.
    4.

    **
  5. Encerre a sessão no registro**registro (recomendado):

       ```bash
       

    docker logout selbii.azurecr.io
    ```

Na primeira subida após a atualização, o back-end aplica automaticamente as migrações do banco de dados e pode levar alguns minutos a mais para ficar disponível. Não interrompa os containers nesse intervalo.

Os scripts da pasta `database-init`init rodam somente na criação inicial do banco. Não é necessário alterá-los nem executá-los durante uma atualização.

##

3. Validar a atualização

  1. 1. **Verifique o estado dos containers:**

       ```bash
       

    docker compose ps
     ```

       Os três serviços devem aparecer como `running`running (ou `Up`Up). Um serviço em `Restarting`Restarting indica falha na inicialização.
    2.

    **
  2. Confira os logs do back-end**end em busca de erros na inicialização:

       ```bash
       

    docker compose logs --tail 200 back-intelligence
     ```

       Para acompanhar em tempo real, use `docker compose logs -f back-intelligence`intelligence e encerre com `Ctrl+C`C.
    3.

    **
  3. Teste pelo navegador:** acesse o II no endereço habitual (por padrão, porta `4200`4200 do servidor), confirme a nova versão exibida na tela de login, faça login, abra um chat e envie uma pergunta. A versão também aparece no topo da página após o login.

Se algum desses passos falhar e o problema não for resolvido em poucos minutos, faça o rollback (seção 4) e abra um chamado.

##

4. Voltar à versão anterior (rollback)

O rollback usa as imagens marcadas com `-anterior`anterior no passo 3 do backup. Não execute `docker compose pull`pull durante o rollback, pois ele sobrescreveria as imagens restauradas.

  1. 1. **Restaure as imagens anteriores e recrie os containers:**

       ```bash
       

    for img in backend frontend db-pg15; do
      docker tag selbii.azurecr.io/md2ii-app:${img}-anterior selbii.azurecr.io/md2ii-app:${img}-latest
      done
      docker compose up -d
    ```
    2.
  2. **Valide**
  3. Valide seguindo a seção 3.
    3.

    **
  4. Restaure o banco somente se necessário**rio, quando a versão anterior não funcionar com o banco atual (as migrações aplicadas automaticamente pela nova versão podem ser incompatíveis com a anterior). Recomendamos abrir um chamado antes deste passo:

       ```bash
       

    docker compose stop back-intelligence front-intelligence
      docker compose exec -T db pg_restore -U <usuario> -d qm3_api --clean --if-exists < backup_ii_AAAAMMDD_HHMM.dump
      docker compose start back-intelligence front-intelligence
     ```

       Substitua o nome do arquivo pelo backup gerado antes da atualização. Dados registrados após a atualização serão perdidos.

    ##

5. Limpeza, problemas comuns e suporte

Mantenha as imagens `-anterior`anterior por alguns dias após a atualização. Quando a nova versão estiver estável, libere espaço em disco:

```bash

for img in backend frontend db-pg15; do
  docker rmi selbii.azurecr.io/md2ii-app:${img}-anterior
done
docker image prune -f
```

|

| | |
|---|---| --- |
| `| | |
|`unauthorized` | | |
|` | | |
| | | |

Sintoma Causa provável O que fazer
docker compose pull`pull não baixa nada ou retorna `no service selected`selected Profiles não definidos na sessão Execute `export COMPOSE_PROFILES=backend,frontend,db`db e repita o comando
unauthorized ou `authentication required`required no download Sessão não autenticada ou credencial expirada Execute `docker login selbii.azurecr.io`io; se persistir, solicite nova credencial ao suporte
docker-compose: command not found`found ou erro de sintaxe no Compose Docker Compose v1 instalado Instale o plugin Docker Compose v2 e use `docker compose`compose
Container em `Restarting`Restarting após a atualização Falha na inicialização do serviço Verifique `docker compose logs <serviço>`; se não resolver, faça o rollback

Para abrir um chamado, acesse o [portal de suporte do II](https://md2net.tomticket.com/helpdesk)II e anexe os logs gerados com:

```bash

docker compose logs --tail 1000 > logs_ii_$(date +%Y%m%d_%H%M).txt
```