Von Label Printer Hub zu Labelyard
Label Printer Hub heißt jetzt Labelyard (Version 1.6.0). Das ist eine Umbenennung, kein Neubau: Deine Daten, deine API-Schlüssel und deine API-Clients ziehen mit um. Die Gründe und die vollständige Kompatibilitätstabelle stehen in der Entscheidung zur Umbenennung.
Was sich ändert
Abschnitt betitelt „Was sich ändert“| Vorher | Nachher |
|---|---|
Image ghcr.io/strausmann/label-printer-hub-backend |
ghcr.io/strausmann/labelyard |
Image docker.io/<user>/label-printer-hub-backend |
docker.io/bstrausmann/labelyard |
Befehl printer-hub |
labelyard (der alte Befehl bleibt als Alias) |
Umgebungspräfix PRINTER_HUB_ |
LABELYARD_ (das alte Präfix wird weiter gelesen, siehe Umgebungsvariablen) |
PDF-Schriftart PRINTHUB_PDF_FONT |
LABELYARD_PDF_FONT (der alte Name wird weiter gelesen) |
Repository strausmann/Label-Printer-Hub |
strausmann/labelyard (GitHub leitet die alte Adresse weiter) |
Beispielvariablen PRINTERHUB_HOST, LABEL_HUB_URL, LABEL_HUB_KEY |
LABELYARD_HOST, LABELYARD_URL, LABELYARD_KEY |
Benutzername der Aufträge an Seitendrucker (IPP) label-printer-hub |
labelyard: Passe Freigabelisten für Benutzer und die Abrechnung je Benutzer auf dem Druckserver an |
In drei Schritten aktualisieren
Abschnitt betitelt „In drei Schritten aktualisieren“Du nutzt einen Seitendrucker? Lass zuerst seine Warteschlange leerlaufen. 1.6.0 erkennt die Aufträge aus 1.5.x weiter als eigene, fragt aber unter dem neuen Benutzernamen nach ihnen. Ein Druckserver, der nur den Besitzer eines Auftrags abbrechen lässt (bei CUPS der Standard), kann den Abbruch eines laufenden Auftrags aus 1.5.x verweigern.
- Ändere
image:in deiner Compose-Datei aufghcr.io/strausmann/labelyard:1.6.0(oderdocker.io/bstrausmann/labelyard:1.6.0). - Hol das Image:
docker compose pull. - Starte neu:
docker compose up -d.
Dein Daten-Volume, die Datenbankdatei, API-Schlüssel, Sitzungen und der Header X-Label-Hub-Key funktionieren weiter. Wenn deine Compose-Datei den Container oder den Dienst benennt, kannst du diese Namen behalten; im Image hängt nichts davon ab.
Du kommst von 1.4.x? Bring deine API-Clients zuerst auf 1.5.0 (/api/v1-Pfade, ohne Kompatibilitätsrouten); siehe die Versionshinweise zu 1.5.0. Die Umbenennung selbst ändert keinen API-Pfad.
Was gleich bleibt
Abschnitt betitelt „Was gleich bleibt“- Das Datenverzeichnis und der Name der Datenbankdatei (standardmäßig
printer-hub.db): Bestehende Installationen finden ihre Daten dort, wo sie sie gelassen haben. - API-Schlüssel, Sitzungen und der Bootstrap-Ablauf.
- Der Anfrage-Header
X-Label-Hub-Keyund das Schlüsselpräfixlh_. - Alle
/api/v1-Pfade und der Ereignisstrom. - Der registrierte Name des Exportformats für Bogentypen (
.sheet-type).
Verhaltensänderungen
Abschnitt betitelt „Verhaltensänderungen“- Die Port-Variable wirkt jetzt.
LABELYARD_SERVER_PORT(und das altePRINTER_HUB_SERVER_PORT) war dokumentiert, wurde aber ignoriert. Der Container lauscht jetzt auf dem genannten Port und fällt aufPORT, dann auf8000zurück. Eine.env-Datei, die du aus einer älteren.env.examplekopiert hast, kann nochLABELYARD_SERVER_PORT=8090enthalten: Lösche die Zeile oder setze den Port, den deine Compose-Datei abbildet (standardmäßig8000). Danach muss/healthzauf dem abgebildeten Port antworten. Ist der Port nicht8000, schreibt der Hub beim Start eine Warnung, die die Variable nennt, in die Container-Ausgabe (docker logs) und in die Log-Ansicht des Hubs. - Installierte Web-Apps behalten das alte Symbol noch eine Weile. Eine App, die du vor 1.6.0 auf dem Startbildschirm installiert hast, zeigt den alten Namen und das alte Symbol, bis der Browser ihr Manifest neu lädt. Unter iOS passiert das nie von selbst: Entferne die App vom Startbildschirm und füge sie neu hinzu.
Umgebungsvariablen
Abschnitt betitelt „Umgebungsvariablen“Umbenennen musst du vorerst nicht. Der Hub liest LABELYARD_*; die früheren Namen PRINTER_HUB_* werden als veralteter Rückfall weiter gelesen.
- Eine
LABELYARD_-Variable gewinnt immer gegen ihrenPRINTER_HUB_-Zwilling. - Leere Werte werden bei beiden Präfixen ignoriert, eine Compose-Zeile wie
PRINTER_HUB_X=${PRINTER_HUB_X:-}überschreibt also nie etwas. - Dieselbe Regel heißt auch: Ein leeres
LABELYARD_X=schaltet ein gesetztesPRINTER_HUB_Xnicht ab, der alte Wert wirkt weiter. Um eine Einstellung abzuschalten, entfernst du die alte Variable oder setzt die neue auf einen ausdrücklichen Wert. Das betrifft vor allem die SicherheitseinstellungenPRINTER_HUB_SSO_TRUST_TOKEN(leer schaltet den SSO-Header-Weg ab),PRINTER_HUB_BOOTSTRAP_ADMIN_KEY,PRINTER_HUB_TRUST_PANGOLIN_BASIC_BYPASSundPRINTER_HUB_TRUST_LEGACY_PANGOLIN_USER: SetzeLABELYARD_TRUST_PANGOLIN_BASIC_BYPASS=falseundLABELYARD_TRUST_LEGACY_PANGOLIN_USER=falseausdrücklich und lösche die Zeilen mit altem Token und Schlüssel, statt die neuen leer zu lassen. - Beim Start schreibt der Hub eine Warnzeile, die die alten Namen auflistet, die noch wirken, damit du weißt, was du umbenennen solltest. Du findest sie in der Container-Ausgabe (
docker logs) und in der Log-Ansicht des Hubs auf der Seite System. Wird ein alter Name von einemLABELYARD_-Zwilling überstimmt, listet eine zweite Zeile diese ignorierten Namen. Beide Zeilen enthalten nur Namen, nie Werte. - Die alten Namen werden mindestens bis 2.0.0 gelesen.
- Die PDF-Schriftart folgt demselben Muster:
LABELYARD_PDF_FONTwird zuerst gelesen, das altePRINTHUB_PDF_FONT, wenn das neue nicht gesetzt oder leer ist, mit einer Warnung, die die Variable nennt.
Um die Umbenennung in einer Datei .env abzuschließen, ersetzt du das Präfix und startest neu:
sed -i 's/^PRINTER_HUB_/LABELYARD_/' .envDas ändert nur die Datei .env. Compose-Dateien, die die Variablen selbst nennen (zum Beispiel PRINTER_HUB_SECRET_KEY=${PRINTER_HUB_SECRET_KEY:?...}), musst du von Hand anpassen, auf beiden Seiten jeder Zeile, sonst fragt Compose weiter nach dem alten Namen.
Reverse Proxy und Pangolin
Abschnitt betitelt „Reverse Proxy und Pangolin“Behalte deinen bisherigen Ressourcenschlüssel (Traefik-Routername, Pangolin public-resources.<key>, das label für Caddy). Ein neuer Schlüssel legt eine neue Ressource neben der alten an, mit neuem Zertifikat und neuen Zugriffsregeln. Die Beispiele nutzen jetzt den Schlüssel labelyard; das betrifft nur neue Installationen.
Die Hostname-Variable der Beispiele heißt LABELYARD_HOST; deine eigene Proxy-Konfiguration darf jeden Namen nutzen.
Alte Images
Abschnitt betitelt „Alte Images“Die alten Images (label-printer-hub-backend in beiden Registries) bekommen keine Aktualisierungen mehr. Regeln von Watchtower, Renovate oder Dependabot, die darauf festgelegt sind, bieten 1.6.0 nie an: Ändere den Image-Namen einmal von Hand, wie in den drei Schritten oben.