🔄 Atualizar o agente
Quando sai uma versão nova do agente local, o BolloPrint avisa-te, mas a atualização faz-se no teu equipamento, não a partir do BolloPrint: o agente corre na tua rede e só tu o podes mudar. É mudar um número no teu ficheiro e voltar a instalar. As tuas impressoras, o seu histórico e as chaves do agente não se tocam.
Como sabes que chegou a hora
- Por cima dos separadores de Configurações → Impressoras aparece um aviso: «O teu agente usa a versão 0.4.7. Já está disponível a 0.4.9», com o botão Como atualizar, que te traz aqui.
- No separador Agente local, o número de versão desse agente aparece em laranja. Se aparecer em vermelho, essa versão já não é suportada e convém atualizar quanto antes.
A versão nova vês sempre no separador Instalação do agente (menu ⋮ → Editar): é o número que há no final da linha image:.
O que muda
Só muda a linha image:, e dentro dela só o número da versão. Tudo o resto fica exatamente igual: o código, a identidade, o volume e o resto da configuração.
Assim ficaria um docker-compose.yml ao passar da 0.4.7 para a 0.4.9 (as chaves aparecem com pontos, mas no teu ficheiro são as tuas):
Antes
services:
bolloprint-agent:
image: ghcr.io/bolloprint/bolloprint-agent:0.4.7
container_name: bolloprint_agent
restart: unless-stopped
network_mode: host
environment:
BP_AGENT_CODE: ••••••••••••••••
BP_AGENT_INSTANCE_ID: ••••••••••••••••
volumes:
- identity:/var/lib/bolloprint
volumes:
identity:
name: bolloprint_agent_identity
Depois
services:
bolloprint-agent:
image: ghcr.io/bolloprint/bolloprint-agent:0.4.9
container_name: bolloprint_agent
restart: unless-stopped
network_mode: host
environment:
BP_AGENT_CODE: ••••••••••••••••
BP_AGENT_INSTANCE_ID: ••••••••••••••••
volumes:
- identity:/var/lib/bolloprint
volumes:
identity:
name: bolloprint_agent_identity
(O teu ficheiro tem mais algumas linhas, como os limites de memória e os registos; ficam tal como estão. Aqui foram retiradas para que se veja a diferença.)
⚠️ Não copies o manifesto do separador Instalação por cima do teu ficheiro
Num agente que já existe, o BolloPrint mostra as chaves tapadas com pontos, porque não as guarda. Se colares esse manifesto inteiro sobre o teu, apagas as tuas chaves e o agente deixa de se ligar. Muda só o número da linha image: no ficheiro que já tens.
Passo a passo
Docker Compose
- Abre o
docker-compose.ymldo agente e muda o número da linhaimage:. - A partir da pasta desse ficheiro, descarrega a versão nova e volta a arrancá-lo:
docker compose pull
docker compose up -d
O Docker substitui o contentor por um novo com a mesma configuração e o mesmo volume.
Portainer
- Vai a Stacks e abre o stack do agente.
- Prime Editor, muda o número da linha
image:. - Ativa Re-pull image and redeploy (ou Pull latest image, dependendo da tua versão do Portainer) e prime Update the stack.
Kubernetes
Muda o número da linha image: no teu ficheiro e volta a aplicá-lo:
kubectl apply -f bolloprint-agent.yaml
Ou, sem tocar no ficheiro, muda diretamente a imagem do deployment:
kubectl set image deployment/bolloprint-agent agent=ghcr.io/bolloprint/bolloprint-agent:0.4.9
Se o fizeres assim, muda também o ficheiro, ou da próxima vez que o aplicares voltas à versão antiga.
Confirmar que correu bem
Em menos de um minuto o agente volta a aparecer Online no separador Agente local, com o número de versão novo e sem cor de aviso. O aviso por cima dos separadores desaparece sozinho.
Enquanto o contentor reinicia, as impressoras podem aparecer uns segundos sem ligação. É normal: voltam sozinhas, e as impressões em curso continuam na máquina.
Se não voltar a aparecer, vê o seu registo:
docker logs bolloprint_agent --tail 50
O que NÃO deves fazer
- Não regeneres as chaves para atualizar. Regenerar serve quando alguém tem as tuas chaves ou perdeste o manifesto, e desliga o agente até o voltares a instalar.
- Não apagues o volume (
bolloprint_agent_identity). Não é preciso para atualizar, e em agentes instalados com um manifesto antigo é onde guarda a sua identidade: sem ele terias de o autorizar outra vez. - Não cries um agente novo. Atualizar é o mesmo agente com outra versão; um novo teria outro código e as suas impressoras não passariam sozinhas.
Perguntas frequentes
Perco impressoras ou histórico ao atualizar? Não. As impressoras e tudo o que imprimiram estão no BolloPrint, não no agente.
Posso saltar versões? Sim. Passa diretamente para a última que o BolloPrint te indicar.
E se a versão nova me der problemas? Volta a pôr o número anterior na linha image: e instala da mesma forma. Depois escreve-nos no Discord para vermos isso.
Atualiza-se sozinho? Não, de propósito: o agente corre no teu equipamento e decides tu quando muda.