---
title: "Atualização do Signer em Docker"
description: "Atualização do Signer em Docker e Docker Swarm: verifique a versão instalada, faça backup, troque a tag da imagem lacunasoftware/signer, confira a nova versão e saiba como voltar atrás."
canonical: "https://docs.lacunasoftware.com/articles/signer/on-premises/docker/update"
locale: "pt-BR"
product: "Signer"
last_updated: "2026-10-22"
---

# Atualização do Signer em Docker

Esta página mostra como atualizar uma instância on-premises do Signer que usa a imagem
[lacunasoftware/signer](https://hub.docker.com/r/lacunasoftware/signer), em um container ou em uma stack do Docker Swarm.

## Antes de atualizar

1. Verifique a versão instalada. Abra `https://<seu-dominio>/api/system/info`. O campo `productVersion` mostra a versão.
1. Leia o [changelog](https://docs.lacunasoftware.com/articles/signer/changelog) de todas as versões entre a sua e a nova. Procure as versões marcadas
   com alteração no modelo do banco de dados.
1. Se você vai sair da versão 2.x para a 3.x, leia também [Atualizando para 3.x](https://docs.lacunasoftware.com/articles/signer/on-premises/update-30). As
   imagens 3.x já trazem o ASP.NET Core Runtime 10.0.
1. Atualize primeiro o ambiente de homologação. Teste o envio e a assinatura de documentos antes de atualizar a produção.
1. Escolha um horário de pouco uso. Na primeira inicialização, a aplicação atualiza o banco de dados quando a versão
   nova tem alterações no modelo.

> **Dica**
>
> Use a tag com a versão exata, por exemplo `lacunasoftware/signer:3.0.0`. As tags `3`, `stable` e `latest` mudam a
> cada versão nova. Com elas, um reinício do container pode trazer uma versão que você não testou.

> **Aviso**
>
> Se você executa mais de um container, só um deles deve atualizar o banco de dados. Reduza para um container antes de
> atualizar. Outra opção: em todos os containers menos um, defina `General__AutoUpdateDatabase=false` e
> `General__ProcessBackgroundJobs=false`.

## Backup

1. Faça backup do banco de dados. Se você usa a stack padrão, o banco fica no volume `sql`. Se você usa um
   [banco externo](https://docs.lacunasoftware.com/articles/signer/on-premises/docker/docker-swarm/external-db), faça o backup no SQL Server.
1. Faça backup dos arquivos: o volume `files` da stack padrão ou o [Blob Storage](https://docs.lacunasoftware.com/articles/signer/on-premises/blob-storage) configurado.
1. Guarde a chave de criptografia (`signer_encryption_key`) e as variáveis de ambiente ou o arquivo `signer.json`.

Veja [Dados persistentes](https://docs.lacunasoftware.com/articles/signer/on-premises/docker/docker-swarm/persistent-data).

## Atualização em um container

1. Baixe a imagem da versão nova:

   ```sh
   docker image pull lacunasoftware/signer:3.0.0
   ```

1. Pare e remova o container atual.
1. Execute um container novo com a imagem nova e as mesmas variáveis de ambiente e volumes do container anterior.

## Atualização no Docker Swarm

1. Se o serviço tem mais de uma réplica, reduza para uma:

   ```sh
   docker service scale signer_signer=1
   ```

1. No arquivo `signer-stack.yml`, troque a tag da imagem do serviço `signer`, por exemplo para
   `lacunasoftware/signer:3.0.0`.
1. Faça o deploy da stack de novo:

   ```sh
   docker stack deploy -c signer-stack.yml signer
   ```

1. Depois que o serviço iniciar, volte ao número de réplicas que você usava.

> **Observação**
>
> Nos comandos acima, `signer` é o nome da stack. Se você fez o deploy com outro nome, troque o nome nos comandos.

## Verifique a atualização

1. Abra `https://<seu-dominio>/api/system/info` e verifique se `productVersion` mostra a versão nova.
1. Acompanhe o log durante a primeira inicialização. A atualização do banco pode levar alguns minutos.
   No Docker Swarm, execute `docker service logs signer_signer -f`. Em um container, execute `docker logs -f <container>`.

Se o container não iniciar e o log mostrar `PKI SDK License was not loaded successfully`, a aplicação não carregou a
licença do PKI SDK (licença ausente, inválida ou vencida). Peça uma licença atualizada à Lacuna e informe-a em
`PkiSuite__SdkLicense`.

## Se algo der errado

Se a versão nova tiver um problema, fale primeiro com o suporte da Lacuna. Se a versão nova aplicou migrações no
banco de dados, voltar a tag da imagem não basta. Siga o [rollback de versão](https://docs.lacunasoftware.com/articles/signer/on-premises/rollback) e use a
tag da versão anterior no passo de voltar os binários.

## Veja também

* [Setup em Docker](https://docs.lacunasoftware.com/articles/signer/on-premises/docker)
* [Docker Swarm](https://docs.lacunasoftware.com/articles/signer/on-premises/docker/docker-swarm)
* [Rollback de versão](https://docs.lacunasoftware.com/articles/signer/on-premises/rollback)
