Cockpit-Add-on

Docker-Updates mit Plan und Rückweg

Für jeden laufenden Docker-Container: was die Compose-Datei sagt, welche Version wirklich läuft und welche die neueste ist. Updates aus Cockpit mit Datenbank-Dump vorab, einer Rollback-Kopie des alten Images und Rollback per Klick.

  • Stabil
  • Version 0.19.1
  • Apache-2.0
  • Cockpit
  • Docker Compose v2
  • Linux mit systemd
Image Update Monitor in Cockpit: jeder laufende Container mit konfigurierter, installierter und neuester Version

Das Problem

latest ist keine Version.

Ein Tag wie latest sagt nicht, welche Version läuft.

Ein Update ohne Dump setzt die Datenbank aufs Spiel.

Wer bewusst aktualisieren will, braucht vorher einen Plan und nachher einen Rückweg.

Funktionen

Was es kann

Drei Versionen pro Container

Konfiguriert, installiert und neueste, die neueste unterteilt nach Patch, Minor und Major.

Zwei Wege zu Updates

Diun meldet neue Images desselben Tags; ein Versionsradar sucht alle sechs Stunden nach neueren Tags, ohne Images zu laden.

Update mit Plan

Bevor sich etwas ändert: welche Container neu erstellt werden, welche Datenbanken betroffen sind, was davon abhängt und wie viel Platz frei ist.

Dump vor jedem Update

Postgres, MariaDB und MySQL werden zuerst gesichert. Scheitert der Dump, stoppt das Update, bevor sich etwas ändert.

Rollback per Klick

Das alte Image bleibt als Rollback-Kopie erhalten; ein Klick setzt es zurück.

Version wechseln

Einen anderen Tag aus einer Liste wählen und jede Zeile sehen, die sich in der Compose- oder .env-Datei ändert. Die Dateien werden byte-genau kopiert und beim Rollback zurückgelegt.

Woher es die laufende Version kennt

Ein Tag wie latest oder 16-alpine sagt nicht, was wirklich läuft. Das Add-on fragt vier Quellen; die erste, die passt, gilt.

QuelleBeispiel
Der Tag ist schon eine genaue Versionv2.1.4 ist 2.1.4
Die Versionsvariable der App im ImagePG_VERSION=16.14 hinter 16-alpine
Das Image-Label org.opencontainers.image.version, wenn es diese Version als Tag gibtrustdesk 1.1.15
Der Digest: welcher Versions-Tag der Registry genau auf das installierte Image zeigtollama latest ist 0.30.11

Bilder

Sicherheit

  • Alles, was als root läuft, ist ein kleiner, fester Satz Hilfsskripte in einem Paketverzeichnis.
  • Diun sieht Docker nur über einen lesenden Socket-Proxy.
  • Der Browser stellt keine externen Anfragen.
  • Dumps sind nur für root lesbar.

Installieren

Installation

Voraussetzungen

  • Linux mit systemd und Cockpit 264 oder neuer
  • Docker Engine mit dem Docker-Compose-Plugin 2.8 oder neuer
  • Python 3.8 oder neuer
  • skopeo für den Radar und Diun für Digest-Updates; beides richtet das Add-on auf Wunsch ein

Aus der Azentrius-Paketquelle

Für Debian, Ubuntu, Fedora und RHEL. Richte die Paketquelle einmal ein:

# Debian und Ubuntu
curl -fsSLO https://packages.azentrius.com/azentrius-repository.deb
sudo apt install ./azentrius-repository.deb
sudo apt update

# Fedora und RHEL
sudo rpm --import https://packages.azentrius.com/azentrius.asc
sudo dnf install https://packages.azentrius.com/azentrius-repository.rpm

Installiere dann Image Update Monitor in Cockpit unter Anwendungen oder auf der Konsole:

sudo apt install cockpit-image-update-monitor    # Debian, Ubuntu
sudo dnf install cockpit-image-update-monitor    # Fedora, RHEL

Beim ersten Start bietet das Add-on an, skopeo und Diun einzurichten.

Aus den Dateien eines Releases

Jedes Release enthält .deb, .rpm, SHA256SUMS und einen signierten Build-Nachweis:

sha256sum --ignore-missing -c SHA256SUMS
gh attestation verify <datei> --repo Azentrius/cockpit-image-update-monitor

Unterstützte Systeme, openSUSE und Deinstallation: siehe README.

Fragen

Aktualisiert es Container automatisch?

Nein. Jedes Update startet per Klick, nach einem Plan. Regeln für automatische Updates stehen als Idee in der Roadmap.

Stellt ein Rollback meine Daten wieder her?

Nein. Der Rollback setzt das alte Image zurück. Hat die neue Version die Datenbank schon migriert, hilft nur der Dump, und dessen Wiederherstellung ist bewusst manuell.

Brauche ich Diun?

Für neue Images desselben Tags ja; das Add-on richtet Diun auf Wunsch ein. Neue Versions-Tags findet der Radar mit skopeo.

Lädt es Images, um Updates zu finden?

Nein. Der Radar liest nur Tag-Listen; bei Docker Hub zählt das nicht gegen das Pull-Limit.

Funktioniert es mit Podman?

Nein, nur mit Docker und Compose v2. Auch Swarm, Kubernetes und rootless Docker werden nicht unterstützt.

Was passiert, wenn der Datenbank-Dump scheitert?

Dann stoppt das Update, bevor sich etwas ändert.

Was es unterscheidet

Image Update Monitor aktualisiert bewusst nicht von selbst: Du entscheidest, wann, mit Plan, Dump und Rückweg. Werkzeuge wie die Nachfolger von Watchtower aktualisieren automatisch; Diun benachrichtigt nur. Grenzen, offen benannt: nur Docker mit Compose v2, private Registries sieht der Radar nicht, und Major-Versionen von Datenbanken bleiben manuell.

Weiterführend

Ebenfalls von Azentrius