LW IT Solutions
« Blog Overview /Raspberry Pi / Lokales CI/CD für den Raspberry Pi: Automatisierung...
This post in other languages:

Lokales CI/CD für den Raspberry Pi: Automatisierung von Docker-Compose-Deployments

Teil 4 von 4 der Reihe Homelab auf dem Raspberry Pi

Lokales CI/CD für den Raspberry Pi: Automatisierung von Docker-Compose-Deployments
Inhalt
  1. 1. Architektur von lokalem GitOps auf Edge-Hardware
  2. 2. Automatisierte Deployments über Webhook-Listener
  3. 3. Lebenszyklus-Management ohne SSH
  4. 4. Sicherheitsaspekte für lokale CI/CD-Pipelines
  5. Quellen

Die Verwaltung von Container-Infrastrukturen auf Edge-Geräten wie einem Raspberry Pi ist im Alltag oft mit wiederholten manuellen SSH-Sitzungen, händischen Image-Downloads und dem direkten Ausführen von Docker-Compose-Befehlen verbunden. Der Wechsel zu einer lokalen CI/CD-Pipeline automatisiert den gesamten Lebenszyklus selbstgehosteter Anwendungen – darunter Home Assistant, Nextcloud und maßgeschneiderte Python-Skripte – mit Git-Repositories, Webhook-Listenern und lokalen Deploy-Agenten.

1. Architektur von lokalem GitOps auf Edge-Hardware

Die Einführung eines GitOps-Konzepts verlagert die zentrale Datengrundlage sämtlicher Infrastrukturkonfigurationen vom lokalen Dateisystem in ein zentrales Git-Repository. Anstatt YAML-Dateien direkt auf dem System zu modifizieren, werden alle Bereitstellungsdefinitionen in der Versionskontrolle gepflegt.

  • Deklarative Konfiguration: Sämtliche Dienste, Netzwerkdefinitionen und persistenten Speicherinhalte werden klar strukturiert in docker-compose.yml-Dateien innerhalb eines Git-Repositories abgebildet.
  • Nachvollziehbarkeit & Rollbacks: Die Versionskontrolle bietet eine lückenlose Historie aller Konfigurationsänderungen, was im Fehlerfall ein sofortiges Zurücksetzen auf einen stabilen vorherigen Zustand ermöglicht.
  • Wartungsfreier Betrieb: Der Edge-Server agiert als kontinuierlicher Abnehmer des Repository-Zustands, wodurch manuelle Shell-Eingriffe bei Standard-Updates entfallen.
Senkrechte CI/CD-Pipeline vom git push über HMAC-geprüften Webhook und git pull bis zu docker compose und Health-Checks
Das Edge-Gerät ist Konsument, nicht Ziel: Es zieht den Repository-Zustand selbst und bringt seinen Stack in Deckung. Die HMAC-Prüfung ist das Tor — ein nicht verifizierter Webhook erreicht den Pull nie.

2. Automatisierte Deployments über Webhook-Listener

Um manuelle SSH-Befehle vollständig abzulösen, können ressourcenschonende Webhook-Server (wie adnanh/webhook oder spezialisierte Automatisierungsdienstprogramme) direkt auf dem Raspberry Pi installiert werden. Diese Dienste empfangen eingehende HTTP-POST-Signale, die durch Push-Ereignisse im Code-Repository oder durch externe CI/CD-Systeme ausgelöst werden.

Ablauf der Webhook-Ausführung

  • Validierung der Anfragen: Eingehende Webhook-Aufrufe werden kryptografisch über HMAC-Schlüssel auf Authentizität geprüft, um unbefugten Zugriff zu verhindern.
  • Automatischer Git-Abruf: Nach erfolgreicher Prüfung startet der Hintergrunddienst einen Aktualisierungsprozess, um das lokale Arbeitsverzeichnis auf den Stand des externen Hauptbranches zu bringen.
  • Rekonvergenz der Container: Der Ausführungsdienst startet den Befehl docker compose up -d --remove-orphans, sodass ausschließlich veränderte Container-Images oder angepasste Konfigurationen neu erstellt werden.

3. Lebenszyklus-Management ohne SSH

Architekturen für die kontinuierliche Bereitstellung im Self-Hosting-Bereich profitieren von lokalen Agenten, die Container-Registries überwachen und die Erneuerung von Containern vollautomatisch durchführen.

  • Automatisierte Überwachung von Image-Registries: Werkzeuge aus der Watchtower-Familie prüfen regelmäßig Image-Digests aktiver Container und starten Dienste automatisch neu, sobald aktuelle Builds bereitstehen. Das ursprüngliche Repository containrrr/watchtower wurde im Dezember 2025 archiviert, das ältere Projekt Ouroboros wird nicht mehr entwickelt; gepflegte Community-Forks wie nickfedor/watchtower lassen sich als direkter Ersatz einsetzen.
  • Lokale Build-Automatisierung: Für eigene Python-Anwendungen oder Mikroservices können Build-Prozesse per Dockerfile direkt auf der ARM-Architektur ausgeführt werden, um komplexe Cross-Compilation-Schritte zu vermeiden.
  • Health Checks & automatische Wiederherstellung: Die Integration nativer Docker-Health-Checks stellt sicher, dass fehlerhafte Aktualisierungen umgehend identifiziert werden, ohne dass manuelle Log-Analysen erforderlich sind.

4. Sicherheitsaspekte für lokale CI/CD-Pipelines

Die Bereitstellung automatisierter Endpunkte im lokalen Netzwerk erfordert eine strikte Rechteentflechtung. Webhook-Dienste sollten niemals mit Root-Berechtigungen ausgeführt werden; stattdessen ist der Zugriff auf den Docker-Socket über dedizierte Gruppenrechte oder schreibgeschützte Socket-Proxys zu reglementieren. Zudem schützt ein restriktives Management-VLAN die Automatisierungs-Dienste vor unautorisierten Zugriffen aus anderen Subnetzen.

Homelab auf dem Raspberry Pi

  1. Raspberry Pi 4 & 5: Booten vom SSD-Laufwerk – Ein umfassendes Tutorial
  2. Unterbrechungsfreie Stromversorgung (USV) für Raspberry Pi 4 und 5: Die Top 5 Lösungen für anspruchsvolle Setups
  3. Automatisierte Docker-Deployments auf dem Raspberry Pi: Local-First Dev Environments
  4. Lokales CI/CD für den Raspberry Pi: Automatisierung von Docker-Compose-Deployments
Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Get in Touch

Briefly describe your project or inquiry for a tailored response. This site is protected by reCAPTCHA.

Kommentar schreiben

Die E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit einem Stern versehen.

ALL ARTICLES & CATEGORIES

CCTV

Diese Rubrik per RSS verfolgen

Cloud & AI

Diese Rubrik per RSS verfolgen

Data Privacy

Diese Rubrik per RSS verfolgen

Digital Analytics

Alle 32 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

Digital Marketing

Alle 17 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

IT & Networks

Alle 11 Artikel dieser Rubrik Diese Rubrik per RSS verfolgen

Raspberry Pi

Diese Rubrik per RSS verfolgen

Smart Home

Diese Rubrik per RSS verfolgen

Web Entwicklung

Diese Rubrik per RSS verfolgen

Wordpress Hacks

Diese Rubrik per RSS verfolgen