Vai al contenuto

🔄 Aggiornare l'agente

Quando esce una versione nuova dell'agente locale, BolloPrint ti avvisa, ma l'aggiornamento si fa sul tuo computer, non da BolloPrint: l'agente gira sulla tua rete e solo tu puoi modificarlo. Basta cambiare un numero nel tuo file e reinstallare. Le tue stampanti, il loro storico e le chiavi dell'agente non vengono toccate.


Come sai che è il momento

  • Sopra le schede di Impostazioni → Stampanti compare un avviso: «Il tuo agente usa la versione 0.4.7. È già disponibile la 0.4.9», con il pulsante Come aggiornare, che porta qui.
  • Nella scheda Agente locale, il numero di versione di quell'agente compare in arancione. Se compare in rosso, quella versione non è più supportata e conviene aggiornare quanto prima.

La versione nuova la vedi sempre nella scheda Installazione dell'agente (menu ⋮ → Modifica): è il numero che c'è alla fine della riga image:.


Cosa cambia

Cambia solo la riga image:, e al suo interno solo il numero di versione. Tutto il resto resta esattamente uguale: il codice, l'identità, il volume e il resto della configurazione.

Ecco come resterebbe un docker-compose.yml passando dalla 0.4.7 alla 0.4.9 (le chiavi compaiono con i puntini, ma nel tuo file sono le tue):

Prima

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

Dopo

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

(Il tuo file ha qualche riga in più, come i limiti di memoria e i log; restano così com'è. Qui sono state tolte per far vedere la differenza.)

⚠️ Non copiare il manifesto della scheda Installazione sopra il tuo file

Per un agente già esistente, BolloPrint mostra le chiavi coperte da puntini, perché non le conserva. Se incolli quel manifesto per intero sul tuo, cancelli le tue chiavi e l'agente smette di collegarsi. Cambia solo il numero della riga image: nel file che hai già.


Passo per passo

Docker Compose

  1. Apri il docker-compose.yml dell'agente e cambia il numero della riga image:.
  2. Dalla cartella di quel file, scarica la versione nuova e riavvialo:
docker compose pull
docker compose up -d

Docker sostituisce il contenitore con uno nuovo con la stessa configurazione e lo stesso volume.

Portainer

  1. Vai su Stacks e apri lo stack dell'agente.
  2. Premi Editor, cambia il numero della riga image:.
  3. Attiva Re-pull image and redeploy (o Pull latest image, secondo la tua versione di Portainer) e premi Update the stack.

Kubernetes

Cambia il numero della riga image: nel tuo file e applicalo di nuovo:

kubectl apply -f bolloprint-agent.yaml

Oppure, senza toccare il file, cambia direttamente l'immagine del deployment:

kubectl set image deployment/bolloprint-agent agent=ghcr.io/bolloprint/bolloprint-agent:0.4.9

Se lo fai così, cambia anche il file, o la prossima volta che lo applichi tornerai alla versione precedente.


Verificare che sia andato bene

In meno di un minuto l'agente torna a comparire Online nella scheda Agente locale, con il numero di versione nuovo e senza colore di avviso. L'avviso sopra le schede scompare da solo.

Mentre il contenitore si riavvia, le stampanti possono restare per qualche secondo senza connessione. È normale: tornano da sole, e le stampe in corso continuano sulla macchina.

Se non torna a comparire, guarda il suo registro:

docker logs bolloprint_agent --tail 50

Cosa NON bisogna fare

  • Non rigenerare le chiavi per aggiornare. Rigenerarle serve quando qualcuno ha le tue chiavi o hai perso il manifesto, e scollega l'agente finché non lo reinstalli.
  • Non cancellare il volume (bolloprint_agent_identity). Non serve per aggiornare, e negli agenti installati con un manifesto vecchio è dove salva la sua identità: senza di esso dovresti autorizzarlo di nuovo.
  • Non creare un agente nuovo. Aggiornare è lo stesso agente con un'altra versione; uno nuovo avrebbe un altro codice e le sue stampanti non passerebbero da sole.

Domande frequenti

Perdo stampanti o storico aggiornando? No. Le stampanti e tutto quello che hanno stampato sono in BolloPrint, non nell'agente.

Posso saltare delle versioni? Sì. Passa direttamente all'ultima che ti indica BolloPrint.

E se la versione nuova mi dà problemi? Rimetti il numero precedente nella riga image: e reinstalla comunque. Poi scrivici su Discord perché lo verifichiamo.

Si aggiorna da solo? No, di proposito: l'agente gira sul tuo computer e decidi tu quando cambia.