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`dockerou com`sudo`sudo).- - Docker Compose v2 instalado (comando
`docker, sem hífen). Verifique comcompose`compose`docker compose.version`version- - Usuário e senha do registro
`selbii.azurecr., fornecidos pela Selbetti. Se não os tiver, solicite peloio`io[portal desuporte](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.e oyml`yml`.. Todos os comandos deste guia partem desse diretório.env`env
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. **Backup do banco de dados.**Substitua`<usuario>pelo valor da variável``POSTGRES_USER`POSTGRES_USERdo arquivo`.:env`env```bashdocker 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`dump2.** -
Backup dos arquivos de configuração:
**```bashtar 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.** -
Marcação das imagens atuais para rollback.
**O comando cria uma cópia local (tag`-) de cada imagem em uso:anterior`anterior```bashfor img in backend frontend db-pg15; dodocker tag selbii.azurecr.io/md2ii-app:${img}-latest selbii.azurecr.io/md2ii-app:${img}-anteriordone
```
##
2. Atualizar o II
-
1. **Autentique-se no registro daSelbetti**Selbetti e informe o usuário e a senha quando solicitado:```bashdocker login selbii.azurecr.io
```2. -
Baixe as novas imagens:
**```bashdocker compose pull
```O comando deve listar o download de`back-,intelligence`intelligence`front-eintelligence`intelligence`db`db.3.** -
Recrie os containers com as novas imagens:
**```bashdocker compose up -d
```O Compose recria apenas os containers cuja imagem mudou. Os dados do banco, em`./, são preservados.postgres`postgres4.** -
Encerre a sessão no
registro**registro (recomendado):```bashdocker 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- rodam somente na criação inicial do banco. Não é necessário alterá-los nem executá-los durante uma atualização.init`init
##
3. Validar a atualização
-
1. **Verifique o estado dos containers:**```bashdocker compose ps
```Os três serviços devem aparecer como`running`running(ou`Up`Up). Um serviço em`Restarting`Restartingindica falha na inicialização.2.** -
Confira os logs do back-
end**end em busca de erros na inicialização:```bashdocker compose logs --tail 200 back-intelligence
```Para acompanhar em tempo real, use`docker compose logs -f back-e encerre comintelligence`intelligence`Ctrl+.C`C3.** -
Teste pelo navegador:
**acesse o II no endereço habitual (por padrão, porta`4200`4200do 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 `- no passo 3 do backup. Não execute anterior`anterior`docker compose durante o rollback, pois ele sobrescreveria as imagens restauradas.pull`pull
-
1. **Restaure as imagens anteriores e recrie os containers:**```bashfor img in backend frontend db-pg15; dodocker tag selbii.azurecr.io/md2ii-app:${img}-anterior selbii.azurecr.io/md2ii-app:${img}-latestdonedocker compose up -d
```2. -
Valide seguindo a seção 3.
3.** -
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:```bashdocker compose stop back-intelligence front-intelligencedocker compose exec -T db pg_restore -U <usuario> -d qm3_api --clean --if-exists < backup_ii_AAAAMMDD_HHMM.dumpdocker 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 `- por alguns dias após a atualização. Quando a nova versão estiver estável, libere espaço em disco:anterior`anterior
```bash
for img in backend frontend db-pg15; do
docker rmi selbii.azurecr.io/md2ii-app:${img}-anterior
done
docker image prune -f
```
|
| Sintoma | Causa provável | O que fazer |
|---|---|---|
docker compose não baixa nada ou retorna no service |
Profiles não definidos na sessão | Execute export COMPOSE_PROFILES=backend,frontend, e repita o comando |
unauthorized ou authentication no download |
Sessão não autenticada ou credencial expirada | Execute docker login selbii.azurecr.; se persistir, solicite nova credencial ao suporte |
docker-compose: command not ou erro de sintaxe no Compose |
Docker Compose v1 instalado | Instale o plugin Docker Compose v2 e use docker |
Container em 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
```