🔄 Den Agent aktualisieren
Wenn eine neue Version des lokalen Agenten erscheint, weist dich BolloPrint darauf hin, aber die Aktualisierung machst du auf deinem Rechner, nicht in BolloPrint: der Agent läuft in deinem Netzwerk, und nur du kannst ihn ändern. Es reicht, eine Zahl in deiner Datei zu ändern und neu auszurollen. Deine Drucker, ihr Verlauf und die Schlüssel des Agenten bleiben unberührt.
Wie du merkst, dass es Zeit ist
- Über den Tabs von Einstellungen → Drucker erscheint ein Hinweis: „Dein Agent nutzt Version 0.4.7. Version 0.4.9 ist bereits verfügbar", mit dem Button So aktualisierst du, der dich hierher bringt.
- Im Tab Lokaler Agent steht die Versionsnummer dieses Agenten in Orange. Steht sie in Rot, wird diese Version nicht mehr unterstützt, und du solltest so schnell wie möglich aktualisieren.
Die neue Version siehst du immer im Tab Bereitstellung des Agenten (Menü ⋮ → Bearbeiten): es ist die Zahl am Ende der Zeile image:.
Was sich ändert
Es ändert sich nur die Zeile image:, und darin nur die Versionsnummer. Alles andere bleibt exakt gleich: der Code, die Identität, das Volume und die restliche Konfiguration.
So würde eine docker-compose.yml beim Wechsel von 0.4.7 auf 0.4.9 aussehen (die Schlüssel stehen als Punkte da, aber in deiner Datei sind es deine eigenen):
Vorher
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
Nachher
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
(Deine Datei hat noch ein paar Zeilen mehr, etwa die Speichergrenzen und die Logs; die bleiben unverändert. Hier wurden sie weggelassen, damit der Unterschied sichtbar bleibt.)
⚠️ Kopier das Manifest aus dem Tab „Bereitstellung" nicht über deine Datei
Bei einem schon bestehenden Agenten zeigt BolloPrint die Schlüssel mit Punkten verdeckt an, weil sie nicht gespeichert werden. Fügst du dieses ganze Manifest über deine Datei ein, löschst du deine Schlüssel, und der Agent verbindet sich nicht mehr. Ändere nur die Zahl in der Zeile image: in der Datei, die du schon hast.
Schritt für Schritt
Docker Compose
- Öffne die
docker-compose.ymldes Agenten und ändere die Zahl in der Zeileimage:. - Lad aus dem Ordner dieser Datei die neue Version herunter und starte ihn neu:
docker compose pull
docker compose up -d
Docker ersetzt den Container durch einen neuen mit derselben Konfiguration und demselben Volume.
Portainer
- Geh zu Stacks und öffne den Stack des Agenten.
- Drück auf Editor und ändere die Zahl in der Zeile
image:. - Aktivier Re-pull image and redeploy (oder Pull latest image, je nach deiner Portainer-Version) und drück auf Update the stack.
Kubernetes
Ändere die Zahl in der Zeile image: in deiner Datei und wende sie erneut an:
kubectl apply -f bolloprint-agent.yaml
Oder ändere, ohne die Datei anzufassen, direkt das Image des Deployments:
kubectl set image deployment/bolloprint-agent agent=ghcr.io/bolloprint/bolloprint-agent:0.4.9
Machst du es so, ändere auch die Datei, sonst landest du beim nächsten Anwenden wieder bei der alten Version.
Prüfen, ob es geklappt hat
In weniger als einer Minute erscheint der Agent im Tab Lokaler Agent wieder als Online, mit der neuen Versionsnummer und ohne Warnfarbe. Der Hinweis über den Tabs verschwindet von selbst.
Während der Container neu startet, können die Drucker ein paar Sekunden ohne Verbindung erscheinen. Das ist normal: sie kommen von allein zurück, und laufende Drucke setzen sich an der Maschine fort.
Erscheint er nicht wieder, schau in sein Protokoll:
docker logs bolloprint_agent --tail 50
Was du NICHT tun solltest
- Erzeuge die Schlüssel nicht neu, um zu aktualisieren. Das Neu-Erzeugen ist dafür da, wenn jemand deine Schlüssel hat oder du das Manifest verloren hast, und trennt den Agenten, bis du ihn erneut ausrollst.
- Lösch das Volume nicht (
bolloprint_agent_identity). Es wird zum Aktualisieren nicht gebraucht, und bei Agenten, die mit einem älteren Manifest ausgerollt wurden, speichert er dort seine Identität: ohne es müsstest du ihn erneut freigeben. - Leg keinen neuen Agenten an. Aktualisieren ist derselbe Agent mit einer anderen Version; ein neuer hätte einen anderen Code, und seine Drucker würden nicht von allein übernommen.
Häufige Fragen
Verliere ich beim Aktualisieren Drucker oder den Verlauf? Nein. Die Drucker und alles, was sie gedruckt haben, stehen in BolloPrint, nicht im Agenten.
Kann ich Versionen überspringen? Ja. Geh direkt zur letzten Version, die dir BolloPrint anzeigt.
Und wenn die neue Version Probleme macht? Setz die vorherige Zahl wieder in die Zeile image: und roll genauso aus. Schreib uns danach über Discord, damit wir es uns ansehen.
Aktualisiert er sich von allein? Nein, absichtlich: der Agent läuft auf deinem Rechner, und du entscheidest, wann er sich ändert.