Zum Inhalt springen
Marketing Factory Digital GmbH
Kontakt
Logo Marketing Factory Digital GmbH
  • Agentur
    • Aktuelles
    • Über uns
    • Geschichte
  • Leistungen
    • Beratung, Analyse und Strategie
    • Programmierung und Entwicklung
      • Schnittstellen
      • PIM-/ERP-Anbindungen
      • Individualentwicklungen
      • Seamless CMS Integration
    • Hosting und Betreuung
      • Cloud-Strategien
      • Hosting Partner der Marketing Factory
    • Leistungen mit Dritten
  • Technologie
    • TYPO3
      • TYPO3 Upgrade vs. TYPO3 Relaunch
      • TYPO3 LTS Versionen im Überblick: v12, v13
      • Der TYPO3-Lifecycle
    • Shopware
    • IT-Sicherheit
      • DDoS-Protection
      • Continuous Upgrading
      • Privacy First
    • Tech Stack
      • Bekenntnis zu Open Source
      • Technologieauswahl
      • PHP-Ökosystem
      • Containerisierung & Clustering
      • Content Delivery Networks
      • Suchtechnologien
  • Referenzen
    • Projekte
    • Kunden
      • Kundenliste
    • Screenshot der Homepage der neuen Maxion Wheels WebsiteNEU: Relaunch der Corporate Website von Maxion Wheels
  • Community
    • Community-Initiativen
  • Blog
  • Kontakt
  • Deutsch
  • English

Sie sind here:

  1. Blog
  2. Howto: Container bei mittwald automatisch per Cron aktualisieren
  • Hosting
  • Security
  • Tech Stack
16.01.2026

Howto: Container bei mittwald automatisch per Cron aktualisieren


Bei mittwald lassen sich Container unkompliziert betreiben. Wir nutzen das unter anderem für eigene Solr-Container oder n8n.

Da Container-Images regelmäßig neue Features und vor allem Sicherheitsupdates erhalten, müssen sie kontinuierlich aktualisiert werden. 

Wir betreiben unsere Container bewusst mit dem Tag :latest. Im mittwald-Backend kann das Image damit per Klick aktualisiert werden. Bei mehreren Projekten und Containern ist das allerdings weder effizient noch skalierbar.

Deshalb haben wir ein kleines Cron-Skript gebaut, das Container automatisch aktualisiert.

Zeige größere Version von: Diese Grafik zeigt, wie ein Projekt angelegt wird.
Zeige größere Version von: Softwaretab im Interface zeigt Version von Node.js (24.7.0) an.
Zeige größere Version von: API-Token erstellen: Eingabefeld mit dem Namen »mw-cli-cron-write«. Optional Feld für Ablaufdatum. Berechtigungen: Standardmäßig wird Lesezugriff festgelegt mit aktiviertem Schreibzugriff. Optionen zum Anlegen bzw. Abbrechen des Tokens.

Voraussetzungen

Für die automatische Aktualisierung benötigen wir ein separates Projekt, in dem der Cronjob läuft:

  • Static-Site-Projekt anlegen (dient nur als Laufzeitumgebung)
  • Node.js als Software installieren
  • Per SSH einloggen
  • mittwald CLI installieren: npm install -g @mittwald/cli
  • API-Token mit Schreibrechten anlegen
  • Token  durch login speichern: mw login token
Zeige größere Version von: Diese Grafik zeigt wie man eine ProjektID ermittelt
Zeige größere Version von:  Diese Grafik zeigt einen Bildschirmauschnitt eines laufenden Docker-Containers.

Projekt- und Container-IDs ermitteln

Um gezielt Container zu aktualisieren, benötigen wir jeweils project-id und container-id. Diese lassen sich entweder im mittwald-Backend ablesen oder direkt über die CLI ermitteln:

mw project list

Anschließend pro Projekt die Container auflisten:

mw container ls --project-id <project-id>

Alternativ aus dem Backend gemäß der Screenshots ermitteln.

Container aktualisieren und neu starten

Das eigentliche Update eines Containers inklusive Neustart erfolgt mit folgendem Befehl:

mw container recreate <container-id> --pull --project-id <project-id>

--pull erzwingt das Ziehen des aktuellen Images

recreate sorgt für einen sauberen Neustart des Containers

Zeige größere Version von: Diese Abbildung zeigt einen Cronjob-Eintrag zur automatischen Ausführung eines Skripts namens „update-container.sh“ mit den Parametern Platzhalter für container-id und project-id

Automatisierung per Cron

Für den Cronjob kapseln wir den Befehl in ein kleines Bash-Skript, z.B.:

#!/bin/sh
exec /files/.mwsoftware/node/bin/mw container recreate $1 --pull --project-id $2

Dieses Skript kann dann im Cronjob parametriert aufgerufen werden. So lassen sich mehrere Container aus unterschiedlichen Projekten gezielt und automatisiert aktualisieren.

Hinweis aus der Praxis

Automatische Updates mit :latest sind praktisch, sollten aber bewusst eingesetzt werden. Insbesondere, sobald Software mit definierten und versionierten Schnittstellen - denkbar wäre z.B. eine PostgreSQL-Datenbank - zum Einsatz kommt, kann man nicht davon ausgehen, immer auf die allerneueste Version wechseln zu können.
Außerdem muss man den Zeitpunkt des Updates über das Timing des Cronjobs sinnvoll wählen.
Wir nutzen dieses Setup für interne Tools und Services, bei denen ein kurzer Neustart akzeptabel ist.

Übrigens

Systeme die wir außerhalb von Mittwald betreiben, aktualisieren wir mit WUD (aka What’s up Docker).

Ingo Schmitt

Spricht TypoScript, php und sql. Perl und bash verhandlungssicher; besitzt java-Grundkenntnisse. Seit 1996 dabei und mittlerweile als geschäftsführender Gesellschafter zuständig für Entwicklung und Betrieb und bloggt hier über alles, was technisch interessant und nachhaltig ist. Engagiert sich bei TYPO3 als Vorsitzender des Business Control Committee (BCC) und organisiert das jährliche TYPO3Camp RheinRuhr.

Weitere Beiträge dieses Autors

Blog als RSS-Feed abonnieren

Verwandte Beiträge

  • AWS CloudFront Logfileauswertung in Matomo
  • Effiziente Entwicklungsumgebungen: Warum wir Kubernetes durch Virtual Machines ersetzt haben
  • Such mal im Container! – Solr zieht um
  • Die große Firewall – Herausforderungen beim Hosting in China

Wir freuen uns, wenn Ihr diesen Beitrag teilt.


Kommentare

Keine Kommentare gefunden.

Kommentar verfassen.

Ich bin darauf hingewiesen worden, dass die Verarbeitung meiner Daten auf freiwilliger Basis erfolgt und dass ich mein Einverständnis ohne für mich nachteilige Folgen verweigern bzw. jederzeit gegenüber der Marketing Factory Digital GmbH per Post (Erkrather Straße 401, D-40231 Düsseldorf) oder E-Mail (info@marketing-factory.de) widerrufen kann.

Mir ist bekannt, dass die oben angegebenen Daten so lange gespeichert werden, wie ich die Kontaktaufnahme durch Marketing Factory wünsche. Nach meinem Widerruf werden meine Daten gelöscht. Eine weitergehende Speicherung kann im Einzelfall erfolgen, wenn dies gesetzlich vorgeschrieben ist.

  • Datenschutzerklärung
  • Impressum

© Marketing Factory Digital GmbH

Bildnachweise
  1. Bild: © Ingo Schmitt / Marketing Factory Digital GmbH
  2. Bild: © Ingo Schmitt / Marketing Factory Digital GmbH
  3. Bild: © Ingo Schmitt / Marketing Factory Digital GmbH
  4. Bild: © Ingo Schmitt / Marketing Factory Digital GmbH
  5. Bild: © Ingo Schmitt / Marketing Factory Digital GmbH
  6. Bild: © Ingo Schmitt / Marketing Factory Digital GmbH