🔄 Mettre à jour l'agent
Quand une nouvelle version de l'agent local sort, BolloPrint vous en avertit, mais la mise à jour se fait sur votre poste, pas depuis BolloPrint : l'agent tourne sur votre réseau et vous seul pouvez le modifier. Il s'agit de changer un numéro dans votre fichier et de redéployer. Vos imprimantes, leur historique et les clés de l'agent ne sont pas touchés.
Comment savoir que c'est le moment
- Au-dessus des onglets de Paramètres → Imprimantes apparaît un avertissement : « Votre agent utilise la version 0.4.7. La 0.4.9 est déjà disponible », avec le bouton Comment mettre à jour, qui vous amène ici.
- Dans l'onglet Agent local, le numéro de version de cet agent s'affiche en orange. S'il s'affiche en rouge, cette version n'est plus supportée et il vaut mieux mettre à jour au plus vite.
La nouvelle version, vous la voyez toujours dans l'onglet Déploiement de l'agent (menu ⋮ → Modifier) : c'est le numéro qui se trouve à la fin de la ligne image:.
Ce qui change
Seule change la ligne image:, et à l'intérieur, seulement le numéro de version. Tout le reste reste exactement pareil : le code, l'identité, le volume et le reste de la configuration.
Voici à quoi ressemblerait un docker-compose.yml en passant de la 0.4.7 à la 0.4.9 (les clés apparaissent avec des points, mais dans votre fichier ce sont les vôtres) :
Avant
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
Après
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
(Votre fichier a quelques lignes de plus, comme les limites de mémoire et les journaux ; elles restent telles quelles. Elles ont été retirées ici pour que la différence se voie mieux.)
⚠️ Ne copiez pas le manifeste de l'onglet Déploiement par-dessus votre fichier
Sur un agent qui existe déjà, BolloPrint affiche les clés masquées par des points, car il ne les conserve pas. Si vous collez ce manifeste entier sur le vôtre, vous effacez vos clés et l'agent cesse de se connecter. Changez seulement le numéro de la ligne image: dans le fichier que vous avez déjà.
Étape par étape
Docker Compose
- Ouvrez le
docker-compose.ymlde l'agent et changez le numéro de la ligneimage:. - Depuis le dossier de ce fichier, téléchargez la nouvelle version et redémarrez-le :
docker compose pull
docker compose up -d
Docker remplace le conteneur par un nouveau, avec la même configuration et le même volume.
Portainer
- Allez dans Stacks et ouvrez le stack de l'agent.
- Appuyez sur Editor, changez le numéro de la ligne
image:. - Activez Re-pull image and redeploy (ou Pull latest image, selon votre version de Portainer) et appuyez sur Update the stack.
Kubernetes
Changez le numéro de la ligne image: dans votre fichier et réappliquez-le :
kubectl apply -f bolloprint-agent.yaml
Ou, sans toucher au fichier, changez directement l'image du déploiement :
kubectl set image deployment/bolloprint-agent agent=ghcr.io/bolloprint/bolloprint-agent:0.4.9
Si vous procédez ainsi, changez aussi le fichier, sinon la prochaine fois que vous l'appliquerez vous reviendrez à l'ancienne version.
Vérifier que tout s'est bien passé
En moins d'une minute, l'agent réapparaît En ligne dans l'onglet Agent local, avec le nouveau numéro de version et sans couleur d'avertissement. L'avertissement au-dessus des onglets disparaît de lui-même.
Pendant que le conteneur redémarre, les imprimantes peuvent apparaître quelques secondes hors ligne. C'est normal : elles reviennent seules, et les impressions en cours poursuivent leur cours sur la machine.
S'il ne réapparaît pas, regardez son journal :
docker logs bolloprint_agent --tail 50
Ce qu'il ne faut PAS faire
- Ne régénérez pas les clés pour mettre à jour. Régénérer sert quand quelqu'un a vos clés ou que vous avez perdu le manifeste, et cela coupe l'agent jusqu'à ce que vous le redéployiez.
- Ne supprimez pas le volume (
bolloprint_agent_identity). Ce n'est pas nécessaire pour mettre à jour, et sur les agents déployés avec un manifeste ancien, c'est là qu'il conserve son identité : sans lui, vous devriez l'autoriser à nouveau. - Ne créez pas un nouvel agent. Mettre à jour, c'est le même agent avec une autre version ; un nouvel agent aurait un autre code et ses imprimantes ne passeraient pas seules.
Questions fréquentes
Est-ce que je perds des imprimantes ou de l'historique en mettant à jour ? Non. Les imprimantes et tout ce qu'elles ont imprimé se trouvent dans BolloPrint, pas dans l'agent.
Puis-je sauter des versions ? Oui. Passez directement à la dernière que BolloPrint vous indique.
Et si la nouvelle version me pose des problèmes ? Remettez le numéro précédent dans la ligne image: et redéployez de la même façon. Puis écrivez-nous sur Discord pour que nous regardions.
Se met-elle à jour seule ? Non, volontairement : l'agent tourne sur votre poste et c'est vous qui décidez quand il change.