Lese-Ansicht

Smarte Außenbeleuchtung mit Zigbee-Schnittstelle

Anzeige – Ich habe für diesen Artikel Produkte der Firma Paulmann zur Verfügung gestellt bekommen.
Wie man sein Smart Home mithilfe von Home Assistant und vielen kleinen Helferlein aufbaut, beschreibe ich nun schon seit geraumer Zeit hier im Blog. Dabei genieße ich es, dass die meisten Smart Home Anwendungen über den ein oder anderen Standard verfügen, mit dem sich Komponenten verbinden lassen. Bei Zigbee ist das generell zwar auch so, aber im Speziellen ist die Sache dann doch etwas komplizierter. Viele Anbieter von smarter Hardware haben auch eine Bridge, Gateway oder ähnliches im Portfolio, mit dem die Zigbee-Anbindung bewerkstelligt werden kann. So ist es auch bei meinen ersten Zigbee Produkten gewesen. Im Folgenden beschreibe ich, wie man die Zigbee Leuchten der Firma Paulmann aus der Serie „Plug & Shine“ einrichtet. Hierfür verwende ich deren Gateway namens Smik.

Bei der Sanierung unseres Außenbereichs haben wir viel Energie in die Auswahl der Materialien gelegt. Sowohl die Terrassenplatten, als auch die Mauersteine haben uns viel Kopfzerbrechen bereitet. Bei der Außenbeleuchtung war es glücklicherweise nicht ganz so schwierig, da die Auswahl an smarten Außenleuchten deutlich kleiner ist. So sind wir auf die Firma Paulmann aufmerksam geworden, die Zigbee-fähige Außenleuchten anbietet und noch dazu einen sehr einfachen Weg zu deren Einbindung bereithält.

Außenleuchten, welche Produkte habe ich verwendet?

Die Gartenmauer lassen wir uns mit der Leuchte „Plug & Shine Floor“ bescheinen. Sie leuchtet in weiß, die Farbtemperatur kann man hier einstellen. Außerdem hat sie alle RBG-Farben. Das ist ein tolles Feature, das man bei Gartenpartys verwenden kann. Über die Farbtemperatur vom weiß kann man die Lichtstimmung auf der Terrasse maßgeblich beeinflussen.

Den Treppenaufgang beleuchten wir mit der Pollerleuchte Ito. Diese ist von Haus aus leider nicht smart, lässt sich über den „Plug & Shine Controller“ aber smart machen. Mit diesem Controller kann man den gesamten Kabelstrang ein- bzw. ausschalten. Hier lassen sich weitere Paulmann-Produkte, die nicht von Haus aus smart sind, in die Steuerung einbinden und danach über das Smart Home steuern.

Die Einfassung der Terrasse beleuchten wir mit dem LED-Streifen „Plug & Shine Smooth Strip RGBW„, der Zigbee-fähig ist. Wie man dem Namen schon entnimmt, kann dieser in allen RGB-Farben leuchten. Für die Farbe weiß ist die Farbtemperatur wählbar.

Bäume und Sträucher setzen wir mit der smarten Leuchte „Plug & Shine Pike“ in Szene. Die Farben sind, ihr ahnt es schon, wieder in allen RBG-Farben möglich. Die Farbtemperatur von weiß ist wieder wählbar.

Elektrisch verkabelt werden die Leuchten mit Kabeln namens „Plug & Shine Connector„, die man in verschiedenen Längen und Anzahl von Abgängen erwerben kann. Das System ist einfach, aber genial: Eine 24 VDC-Spannungsquelle stellt die Spannung zur Verfügung. Die Kabel verfügen über Schraubverbinder, an die man wiederum die Leuchten verbinden kann. Auch Kabelabgänge als Verlängerungsleitung sind hiermit möglich. Die Kabel und die Verbinder sind dabei IP68 wasserfest – sogar für Pools geeignet. Die Anbindung der Leuchten ist somit werkzeuglos, verpolungssicher und sehr einfach möglich. Die Intelligenz der Leuchten steckt bereits in den Leuchten drin, sodass hier keine Bastel- oder Verkabelungsarbeit anfällt. Somit lässt sich das Projekt auch nach und nach erweitern.

Als Spannungsquelle verwende ich die „Plug & Shine Einspeisung 230/24V DC„. Diese sind mit IP67 ebenfalls für den Außenbereich geeignet. Ihre Größe kann man an der Gesamtleistung aller Leuchten berechnen. Es stehen mehrere Größen zur Verfügung. Durch die Kunststoff-Abdeckung „Plug and Shine Trafoabdeckung“ lässt sich das Netzteil sogar unauffällig verkleiden.

Zur Steuerung verwende ich die Fernbedienung „Plug & Shine Gent 2„. Mit ihr kann man die Leuchten gruppenweise an- bzw. ausschalten sowie die Farben vorgeben. Das ist sehr nett gelöst, da man über ein Farbfeld intuitiv die Farben auswählen kann. Großer Pluspunkt für die Fernbedienung! Dafür ist für die Einrichtung bzw. das Anlernen der Leuchten etwas Übung notwendig. Die Anleitung dazu liegt der Fernbedienung bei. Mit etwas Konzentration versteht man aber die Logik dahinter.

Einrichtung des Zigbee Gateways und der Leuchten

Dreh- und Angelpunkt für die Steuerung der Außenbeleuchtung ist das Gateway. Hier ist die Schnittstelle zwischen der Smartphone App und den Leuchten. Die Einrichtung ist denkbar einfach. Man schließt das Gateway mittels Ethernet-Kabel an das Netzwerk an (z.B. an eine Fritzbox) und stellt die Spannungsversorgung her. Die Schwierigkeit besteht in der sehr geringen Reichweite des Signals. Sie wird mit 100 m angegeben, berücksichtigt aber weder Wände noch Fensterscheiben. Folglich muss das Gerät sehr nahe an den Garten gebracht werden.

Auf dem Smartphone installiert man sich die App „Paulmann Smik“ und folgt den Anweisungen auf dem Bildschirm. Man muss im Laufe der Einrichtung den QR-Code auf der Rückseite des Gateways scannen. Hierdurch gelingt die Einrichtung sehr schnell und einfach.

Neue Leuchten fügt man hinzu, indem man sie auf Werkseinstellungen zurückstellt. Das ist etwas herausfordernd, da man die Leuchten hier schnell an- und ausschalten muss, insgesamt 5 mal hintereinander. Die Leuchte darf dabei nicht länger als 2 Sekunden an und nicht länger als 5 Sekunden aus sein. Ich habe das geschafft, indem ich die Spannungsversorgung an eine schaltbare Steckdose angeschlossen habe. Mit ihr kann ich über einen Schalter die Ein- und Ausschaltdauer sehr gut timen. Sobald sie zurückgesetzt wurden, können sie über die App gefunden werden.

Best Practises und Tipps

Gruppiert eure Leuchten am besten thematisch, um zusammengehörige Leuchten gemeinsam zu schalten. Ich habe beispielsweise die Mauerspots gruppiert. Sie liegen in der Fernbedienung auf der Schnellwahltaste 1. Ist die Gruppe gewählt, steuere ich alle Mauerspots gemeinsam. Die Fernbedienung erlaubt auch das Steuern von mehreren Gruppen gleichzeitig. Dadurch kann man die Farben von allen Leuchten gemeinsam verändern. Sehr nice!

Macht die Steckdose schaltbar. Wenn die Spannungsversorgung an einer schaltbaren Steckdose angeschlossen ist, könnt ihr die Leuchten sehr viel komfortabler zurücksetzen und für die Einrichtung vorbereiten.

Setzt das Gateway möglichst nahe an den Außenbereich. Die geringe Reichweite ist relativ nervig, daher muss das Gateway recht nahe an den ersten Teilnehmer. Das Signal wird vom ersten Teilnehmer verstärkt, sodass alle weiteren Leuchten dann gutes Signal haben sollten. In der Praxis muss man das ein bisschen ausprobieren, was gut funktioniert.

Ausblick: Einbindung in Home Assistant

Die Einbindung der Außenbeleuchtung in Home Assistant ist möglich. Hat man einen Zigbee-Stick, zum Beispiel den von Nabu Casa selbst, kann man die Lampen damit einbinden. Hierfür muss man eine Instanz von Zigbee2MQTT installiert haben. Bei vielen Home Assistant Anwendern geht das über den Addon Store oder über einen Docker Container, wie es bei mir der Fall ist. Aus zwei Gründen habe ich das bei mir allerdings nicht getan.

1) Die Steuerung über die Paulmann App bzw. über die Gent 2 Fernbedienung ist sehr komfortabel. Es sind viele Funktionen voreingestellt, die Wahl der Farbtemperatur zum Beispiel oder die sehr einfache Auswahl der Farbe über das Farbfeld ist sehr cool. In Home Assistant müsste man sich diese Funktionen erst selbst konfigurieren. Ich bin mir sicher, dass viele Leute das schaffen würden. Für mich steht der Aufwand in keinem Verhältnis.

2) Während er Zeit auf der Terrasse möchte ich weitestgehend auf das Smartphone verzichten. Für die Lichtsteuerung möchte ich deshalb nicht aufs Smartphone angewiesen sein. Im Gegenteil: ich möchte auch unseren Gästen die einfache Möglichkeit geben, unsere Beleuchtung zu kontrollieren. Die Fernbedienung ist hierfür ideal geeignet.

Für die Einbindung in Home Assistant gibt es jedoch ebenfalls gute Argumente

1) Das ganze Haus lässt sich über eine zentrale Steuereinheit kontrollieren. Hier wäre es nur konsequent, die Außenbeleuchtung mit einzubinden.

2) Logging und Kontrolle von den Lampen: Von unterwegs aus sehen, ob die Lampen noch an sind? Kann man mit Home Assistant.

3) Kombination mit anderen Systemen. Die Sensoren und Aktoren könnten auch von anderen Herstellern kommen. Dämmerungs- und Bewegungsmelder von Paulmann könnten dann auch andere smarte Aktoren schalten.

The post Smarte Außenbeleuchtung mit Zigbee-Schnittstelle first appeared on bejonet - Linux | Smart Home | Technik.

  •  

Ubuntu 25.10 bringt frischen Kernel und verbessert die Sicherheit

Mit der für Oktober geplanten Version 25.10 wird Ubuntu auf den noch nicht veröffentlichten Linux-Kernel 6.17 setzen. Das bestätigte das Kernel-Team von Canonical offiziell. Die Entscheidung folgt dem neuen Kurs, stets den aktuellsten stabilen Kernel zur Veröffentlichungszeit zu integrieren. Früher wäre Ubuntu 25.10 wohl mit Linux 6.16 erschienen. Nun aber setzt Canonical auf 6.17, das […]

Der Beitrag Ubuntu 25.10 bringt frischen Kernel und verbessert die Sicherheit erschien zuerst auf fosstopia.

  •  

Linux Podcast: Hat KDE den Anschluss an Gnome verloren?

In dieser Podcast-Folge gehen wir der Frage nach, ob KDE im Vergleich zu GNOME den Anschluss verloren hat – insbesondere in den Bereichen Design, Themes und Apps – und beleuchten, wie stark der Desktop die Nutzererfahrung unter Linux beeinflusst. Viel Spaß Der Podcast ist abrufbar auf allen gängigen Podcast Plattformen, u.a. auf: Viel Spaß Hinweis: […]

Der Beitrag Linux Podcast: Hat KDE den Anschluss an Gnome verloren? erschien zuerst auf fosstopia.

  •  

Aderlass: Mozilla stellt Internet-Klassiker Pocket ein

Mozilla hat überraschend das Aus für seinen Speicherdienst Pocket angekündigt. Ab dem 8. Juli 2025 wird die Plattform eingestellt. Nutzer können ihre Inhalte noch bis Oktober exportieren. Die Entscheidung sei laut Mozilla eine Reaktion auf veränderte Webgewohnheiten. Pocket wurde 2017 übernommen und entwickelte sich zur Plattform für kuratierte Inhalte. Nun will Mozilla seine Ressourcen in […]

Der Beitrag Aderlass: Mozilla stellt Internet-Klassiker Pocket ein erschien zuerst auf fosstopia.

  •  

Fedora setzt voll auf Wayland: Ciao GNOME X11

Ab Version 43 setzt die Linux-Distribution Fedora vollständig auf Wayland (bzw. auf das Wayland-Server-Protokoll) für die GNOME-Desktop-Umgebung. Die Veröffentlichung ist für Oktober oder November 2025 geplant. Die Entscheidung wurde vom Fedora Engineering Steering Committee (FESCo) getroffen. Eine klare Mehrheit der Mitglieder sprach sich für den Wechsel aus: Fünf stimmten dafür, zwei dagegen. Kritiker sehen darin […]

Der Beitrag Fedora setzt voll auf Wayland: Ciao GNOME X11 erschien zuerst auf fosstopia.

  •  

Windows-Update liefert Patch für Dual-Boot Problem mit Grub

Ein Windows-Update aus dem August 2024 sorgte für Probleme bei Dual-Boot-Systemen. Betroffen waren Nutzer, die Windows und Linux parallel installiert hatten. Grund dafür war ein Sicherheitsupdate gegen eine Schwachstelle im GRUB2-Bootloader (CVE-2022-2601). Diese erlaubte es Angreifern, UEFI Secure Boot zu umgehen. Microsoft veröffentlichte daraufhin ein Update (KB5041571), das betroffene Bootloader blockieren sollte. Dabei kam es […]

Der Beitrag Windows-Update liefert Patch für Dual-Boot Problem mit Grub erschien zuerst auf fosstopia.

  •  

Microsoft macht WSL zu Open Source

Microsoft hat das Windows Subsystem for Linux (WSL) offiziell als Open-Source-Projekt veröffentlicht. Der Quellcode steht ab sofort auf GitHub unter Microsoft/WSL bereit. Die Entwickler haben das Projekt dabei in mehrere eigenständige Komponenten unterteilt. Dazu zählen Tools wie wsl.exe, wslg.exe und der zentrale WSL-Dienst. Auch Prozesse für Netzwerkfunktionen und Dateizugriffe gehören nun zur öffentlich einsehbaren Struktur. […]

Der Beitrag Microsoft macht WSL zu Open Source erschien zuerst auf fosstopia.

  •  

Ubuntu 25.10 „Questing Quokka“: GNOME 49, Microsoft-Integration und mehr

Canonical hat die Entwicklungsphase für Ubuntu 25.10 eingeläutet. Unter dem Codenamen Questing Quokka nimmt die nächste reguläre Ubuntu-Version Gestalt an. Als letzte Ausgabe vor dem kommenden LTS-Release (Ubuntu 26.04) bekommt sie eine besondere Rolle im Entwicklungszyklus. Und so sie bringt einige wegweisende Neuerungen mit. Im Mittelpunkt steht der Sprung auf GNOME 49, das eine rundum […]

Der Beitrag Ubuntu 25.10 „Questing Quokka“: GNOME 49, Microsoft-Integration und mehr erschien zuerst auf fosstopia.

  •  

KDE Plasma 6.4: Beta-Version bringt frischen Wind auf den Desktop

Das KDE-Projekt hat die Beta-Version von KDE Plasma 6.4 veröffentlicht. Sie steht ab sofort für alle Interessierten zum Testen bereit. Die neue Ausgabe verspricht viele spürbare Verbesserungen und frische Funktionen. Zu den Highlights zählt ein überarbeiteter Look für das Screenshot-Tool Spectacle. Auch benutzerdefinierte Kachel-Layouts pro virtuellem Desktop sind nun möglich. Zudem erhält der klassische Fenster-Manager […]

Der Beitrag KDE Plasma 6.4: Beta-Version bringt frischen Wind auf den Desktop erschien zuerst auf fosstopia.

  •  

Debian 13 „Trixie“ – Installer als Release Candidate verfügbar

Die Veröffentlichung von Debian 13 rückt näher. Mit dem ersten Release Candidate (RC1) des neuen Installers wird das Bild der kommenden Version klarer. Neben technischer Feinarbeit bringt das Update sichtbare Verbesserungen für Desktop- und Servernutzer gleichermaßen. Ein Highlight: Der Kernel wurde auf Version 6.12.27 aktualisiert, gleichzeitig entfällt die Unterstützung für den win32-loader, was die Codebasis […]

Der Beitrag Debian 13 „Trixie“ – Installer als Release Candidate verfügbar erschien zuerst auf fosstopia.

  •  

Debian 12.11 veröffentlicht – Sicherheit, Stabilität und frische Installationsmedien

Debian hat die Version 12.11 seiner stabilen „Bookworm“ Serie veröffentlicht. Dieses elfte Point-Release bringt zahlreiche Fehlerkorrekturen und Sicherheitsupdates, hauptsächlich als Konsolidierung bereits veröffentlichter Sicherheitsaktualisierungen. Für bestehende Systeme, die regelmäßig aktualisiert werden, ändert sich wenig. Für Neuinstallationen ist es hingegen der neue Standard und spart nach Installation das Runterladen hunderter Aktualisierungen. Besonders auffällig ist der aktualisierte […]

Der Beitrag Debian 12.11 veröffentlicht – Sicherheit, Stabilität und frische Installationsmedien erschien zuerst auf fosstopia.

  •  

Grafana 12, k6-Stable und neue KI-Hilfe vorgestellt

Beim diesjährigen GrafanaCON in Seattle präsentierte Grafana Labs mehrere bedeutende Neuerungen für ihre Open-Source-Tools. Die Veranstaltung gilt als Treffpunkt der Observability-Community und brachte Entwickler, Experten und Enthusiasten zusammen. Mit Grafana 12 erscheint die neueste Version des beliebten Monitoring-Werkzeugs. Sie bringt unter anderem ein klareres JSON-Format, dynamische Dashboards, GitHub-Synchronisation und 15 neue Datenquellen wie Azure CosmosDB […]

Der Beitrag Grafana 12, k6-Stable und neue KI-Hilfe vorgestellt erschien zuerst auf fosstopia.

  •  

Zorin OS 16 erreicht bald das Support-Ende. Upgrade dringend empfohlen

Am 31. Mai 2025 endet der offizielle Support für Zorin OS 16. Ab diesem Zeitpunkt wird es keine Sicherheitsupdates oder Fehlerbehebungen mehr geben. Nutzerinnen und Nutzer sollten deshalb rasch auf die aktuelle Version Zorin OS 17.3 umsteigen. Zorin OS 17.3 bringt zahlreiche Verbesserungen und wird mindestens bis Juni 2027 mit Updates versorgt. So bleibt das […]

Der Beitrag Zorin OS 16 erreicht bald das Support-Ende. Upgrade dringend empfohlen erschien zuerst auf fosstopia.

  •  

Red Hat Enterprise Linux 10 vorzeitig verfügbar – Start von RHEL 10 wohl beim Summit

Kurz vor dem offiziellen Start des Red Hat Summit 2025 in Boston hat Red Hat offenbar still und leise RHEL 10 veröffentlicht. Durch einen Leak gab es einen ersten Hinweis auf der japanischen Version der Red-Hat-Website. Dort wurde die Version 10.0 samt Kernel 6.12.0 als „General Availability“-Release gelistet – Codename: Coughlan. Inzwischen wurden auch verschiedene […]

Der Beitrag Red Hat Enterprise Linux 10 vorzeitig verfügbar – Start von RHEL 10 wohl beim Summit erschien zuerst auf fosstopia.

  •  

Nextcloud kritisiert Google wegen Upload-Blockade in Android

Der Android-Client von Nextcloud kann seit Monaten keine vollständigen Datei-Uploads mehr durchführen. Betroffen sind alle Dateitypen außer Fotos und Videos. Grund ist eine Entscheidung von Google, die laut Nextcloud ohne Vorwarnung getroffen wurde. Im September 2024 entzog Google der App eine zentrale Berechtigung. Diese war nötig, um auf alle Dateien zugreifen zu können. Seitdem erlaubt […]

Der Beitrag Nextcloud kritisiert Google wegen Upload-Blockade in Android erschien zuerst auf fosstopia.

  •  

Canonical spendet monatlich 10.000 Dollar an Open-Source-Projekte

Ubuntu-Hersteller Canonical hat ein neues Förderprogramm gestartet. In den kommenden zwölf Monaten will das Unternehmen insgesamt 120.000 US-Dollar an kleinere Open-Source-Projekte spenden. Die monatlichen Zahlungen in Höhe von 10.000 Dollar richten sich an Entwickler, deren Tools Canonical selbst nutzt. Verteilt werden die Mittel über die Plattform thanks.dev. Diese analysiert, welche externen Bibliotheken, Tools und Abhängigkeiten […]

Der Beitrag Canonical spendet monatlich 10.000 Dollar an Open-Source-Projekte erschien zuerst auf fosstopia.

  •  

Nobara 42 erschienen: Neue Version mit Rolling-Release und Gaming Fokus

Die auf Fedora basierende Linux-Distribution Nobara hat Version 42 veröffentlicht. Neuerdings setzt das Projekt vollständig auf ein Rolling-Release-Modell. Zielgruppe bleiben weiterhin Gamer und Kreative, die ein stabiles, performantes System suchen. Auffällig ist der Wechsel des Standardbrowsers. Brave ersetzt Firefox, nachdem dieser in Tests bei aktivem VRR-Modus regelmäßig abstürzte. Auch Chromium-Varianten wie Vivaldi bereiteten Probleme, besonders […]

Der Beitrag Nobara 42 erschienen: Neue Version mit Rolling-Release und Gaming Fokus erschien zuerst auf fosstopia.

  •  

Flatpak 1.16.1 veröffentlicht: Mehr Kontrolle, mehr Sicherheit, mehr Effizienz

Die plattformübergreifende Linux-Paketlösung Flatpak ist in Version 1.16.1 erschienen. Das erste Wartungsupdate der 1.16-Serie bringt viele Detailverbesserungen, die sowohl Nutzern als auch Administratoren zugutekommen. Im Fokus stehen neben besserer Performance und optimiertem Speicherverbrauch vor allem Sicherheitsaspekte. Besonders relevant ist die überarbeitete Kindersicherung. Kinderkonten dürfen ab sofort standardmäßig installierte Flatpak-Anwendungen selbstständig aktualisieren. Dadurch gelangen wichtige Sicherheitsupdates […]

Der Beitrag Flatpak 1.16.1 veröffentlicht: Mehr Kontrolle, mehr Sicherheit, mehr Effizienz erschien zuerst auf fosstopia.

  •  

Abschied von Windows 10 – Initiative „End of 10“ ins Leben gerufen

Am 14. Oktober 2025 endet der offizielle Support für Windows 10. Das bedeutet: Keine Sicherheitsupdates mehr, keine Fehlerbehebungen, kein Support durch Microsoft. Millionen Nutzer weltweit stehen dadurch vor einer schwierigen Entscheidung. Besonders betroffen sind Geräte, die vor 2017 gekauft wurden. Sie laufen mit Windows 10 meist problemlos, erfüllen aber nicht die Anforderungen für Windows 11 […]

Der Beitrag Abschied von Windows 10 – Initiative „End of 10“ ins Leben gerufen erschien zuerst auf fosstopia.

  •  

Codeberg.org mit Forgejo Actions, Runner, Workflows und ich

In diesem Artikel halte ich fest, was es mit den genannten Begriffen auf sich hat und was ich in den vergangenen Tagen mit ihnen angestellt habe. Dabei gehe ich auch auf das Warum ein, während Fragen nach dem Wie vorwiegend in den Verweisen im Text beantwortet werden.

Der Artikel dient mir als Dokumentation und meinen Leser:innen zur Unterhaltung und zum Wissenstransfer.

Codeberg.org

Codeberg ist eine demokratische, gemeinschaftsgetriebene, gemeinnützige Softwareentwicklungsplattform, die von Codeberg e.V. betrieben wird und sich um Codeberg.org, eine auf Forgejo basierende Software, dreht. Der Sitz des Vereins ist in Berlin. Hier wird Codeberg.org auch gehosted.

Auf Codeberg könnt ihr eure eigenen Freie Software-Projekte entwickeln, zu anderen Projekten beitragen, inspirierende und nützliche Freie Software durchstöbern, euer Wissen teilen oder euren Projekten mit Codeberg Pages ein Zuhause im Web geben, um nur einige Beispiele zu nennen.

Die beiden vorstehenden Abschnitte wurden übersetzt mit DeepL.com (kostenlose Version) und anschließend leicht angepasst und mit Links angereichert.

Mit Codeberg.org werden keine kommerziellen Interessen verfolgt. Man ist hier (nur) Nutzer und/oder Unterstützer, jedoch nicht selbst ein Produkt. Mir gefällt die Mission des Projekts. Daher bin ich dazu übergegangen, einen Teil meiner Repositories hier zu verwalten. Zwar bin ich kein Mitglied des Vereins, unterstütze diesen jedoch durch gelegentliche Spenden.

Actions, Runner und Workflows

Plattformen wie Codeberg.org, GitHub und GitLab unterstützen Softwareentwicklungsprozesse durch CI/CD-Funktionalität.

Ein Forgejo-Runner ist ein Dienst, der Workflows von einer Forgejo-Instanz abruft, sie ausführt, mit den Protokollen zurücksendet und schließlich den Erfolg oder Misserfolg meldet.

Dabei ist ein Workflow in der Forgejo-Terminologie eine YAML-Datei im Verzeichnis .forgejo/workflows eines Repositories. Workflows umfassen einen oder mehrere Jobs, die wiederum aus einem oder mehreren Steps bestehen. Eine Action ist eine Funktion zur Erfüllung häufig benötigter Aufgaben, bspw. Quelltext auschecken, oder sich bei einer Container-Registry einloggen etc. Siehe für weitere Informationen Abschnitt Hierarchy ff. im Forgejo Actions user guide.

Motiviert, meinen eigenen Forgejo-Runner zu installieren, haben mich zwei Blog-Artikel von meinem Arbeitskollegen Jan Wildeboer:

Durch den Betrieb eigener Forgejo-Runner kann ich bereits vorhandene Rechenkapazität nutzen. Es fallen für mich und den Verein Codeberg e.V. dadurch keine zusätzlichen Kosten an. Für die Installation auf RHEL 9 bin ich dem Forgejo Runner installation guide gefolgt, da das in Jans Artikel erwähnte Repository ne0l/forgejo offensichtlich nicht mehr gepflegt wird und nur eine veraltete Version des Runner enthält.

Ein Dankeschön geht raus an Jan für unseren kurzen und produktiven Austausch dazu auf Mastodon.

Wozu das Ganze?

Ich beschäftige mich beruflich seit einiger Zeit mit dem RHEL image mode und möchte demnächst einen meiner KVM-Hypervisor damit betreiben. Bis es soweit ist, arbeite ich eine Weile im „Jugend forscht“-Modus und baue immer wieder neue Versionen meiner Container-Images. Der Ablauf ist dabei stets derselbe:

  1. Containerfile(5) erstellen bzw. anpassen
  2. Container-Image mit podman-build erstellen
  3. Das erstellte Image mit podman-push in eine Container-Registry hochladen
  4. Das Deployment auf diversen Zielsystemen testen

Dazu verwende ich das RHEL 9 Bootc Base Image aus der Registry registry.redhat.io.

The rhel-bootc and user-created containers based on rhel-bootc container image are subject to the Red Hat Enterprise Linux end user license agreement (EULA). You are not allowed to publicly redistribute these images.

Quelle: https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/using_image_mode_for_rhel_to_build_deploy_and_manage_operating_systems/introducing-image-mode-for-rhel_using-image-mode-for-rhel-to-build-deploy-and-manage-operating-systems#introducing-image-mode-for-rhel_using-image-mode-for-rhel-to-build-deploy-and-manage-operating-systems

Um vorstehender Anforderung gerecht zu werden, speichere ich das erzeugte Container-Image in einem privaten Repository auf Quay.io. Sowohl für registry.redhat.io als auch für quay.io ist ein Login erforderlich, bevor es losgehen kann.

Für mich bot sich hier die Gelegenheit, die Nutzung von Forgejo Workflows zu lernen und damit den Ablauf zur Erstellung meines RHEL Bootc Images zu automatisieren.

Forgejo Workflow und Runner-Konfiguration

Im folgenden Codeblock findet ihr meinen Forgejo Workflow aus der Datei .forgejo/workflows/build_image.yaml, gefolgt von einer Beschreibung der einzelnen Schritte. Zur Erklärung der Begriffe name, on, env, jobs, steps, run, etc. siehe Workflow reference guide.

name: build_image

on:
  push:
    branches: main

env:
  REPO_URL: https://codeberg.org/Tronde/rhel-bootc.git
  REPO_NAME: rhel-bootc
  IMAGE_NAME: quay.io/rhn-support-jkastnin/rhel-bootc:9.5

jobs:
  build:
    runs-on: podman
    steps:
      - run: dnf -y install git
      - run: echo ${{ secrets.RH_REGISTRY_TOKEN }} | podman login -u ${{ secrets.RH_REGISTRY_USERNAME }} --password-stdin registry.redhat.io

      - run: echo ${{ secrets.QUAY_ROBOT_TOKEN }} | podman login -u ${{ secrets.QUAY_USERNAME }} --password-stdin quay.io

      - run: git clone ${{ env.REPO_URL }}
      - run: podman build -f /workspace/Tronde/rhel-bootc/rhel-bootc/Containerfile -t ${{ env.IMAGE_NAME }}
      - run: podman push ${{ env.IMAGE_NAME }}
  1. Der Workflow wird jedes Mal ausgeführt, wenn ich einen Commit in den Branch main pushe
  2. Ich definiere einige Umgebungsvariablen, um bei Änderungen nicht alle Schritte im Workflow einzeln auf notwendige Änderungen prüfen zu müssen
  3. Mit `runs-on: podman` bestimme ich, dass der Workflow auf einem Runner mit dem Label podman ausgeführt wird; der entsprechende Runner started dann einen rootless Podman-Container, in dem die folgenden Schritte innerhalb von rootful Podman ausgeführt werden (nested Podman bzw. Podman in Podman)
  4. Git wird installiert
  5. Anmeldung an registry.redhat.io erfolgt
  6. Anmeldung an quay.io erfolgt
  7. Das Git-Repository wird geklont, um es auf dem Runner verfügbar zu haben
  8. Der Runner baut ein Container-Image (Erinnerung an mich selbst: Ersetze den hardcodierten Pfad durch eine Variable)
  9. Das erstellte Image wird in die Registry gepusht

Damit mein Runner den obigen Workflow ausführen kann, existiert auf diesem die Konfigurationsdatei /etc/forgejo-runner/config.yml, welche ich mit dem Kommando forgejo-runner generate-config > config.yml erstellt und anschließend angepasst habe. Der folgende Codeblock zeigt nur die Abschnitte, die ich manuell angepasst habe.

…
  fetch_interval: 20s
…
  labels: [
    "rhel-9-ubi:docker://registry.access.redhat.com/ubi9/ubi",
    "podman:docker://registry.access.redhat.com/ubi9/podman",
    "ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest",
    "act-runner:docker://node:20-bullseye",
    "centos-stream-9:docker://quay.io/centos/centos:stream9"]
…
  privileged: true
…

Ich greife mal die Zeile podman:docker://registry.access.redhat.com/ubi9/podman heraus:

  • podman: am Beginn der Zeile beinhaltet das Label, welches im Worflow mit runs-on verwendet wird
  • Mit dem Rest der Zeile wird bestimmt, in welchem Container-Image der Workflow ausgeführt wird
  • Ich habe mich für ubi9/podman entschieden, weil
    • ich bei Red Hat arbeite und daher
    • mit den Prozessen zur Erstellung unserer Images vertraut bin,
    • wodurch sich ein gewisses Vertrauen gebildet hat.
    • Ich vertraue unseren Images mehr, als jenen, die irgendein Unbekannter gebaut hat und deren Inhalt ich nicht kenne (man kann den Inhalt aber selbstverständlich überprüfen)
    • und ich so prüfen konnte, ob sich ein Image mit „unseren“ Werkzeugen bauen läst (nicht, dass ich daran gezweifelt hätte).

Die Angabe von privileged: true ist erforderlich, wenn man innerhalb des Containers ebenfalls mit podman oder docker arbeiten möchte.

Entscheidungen

Meinem weiter oben abgebildeten Workflow ist zu entnehmen, dass ich auf die Verwendung von Forgejo Actions verzichtet habe. Das hat folgende Gründe:

  • Für die Verwendung ist node auf dem Runner erforderlich
  • node ist im Image ubi9/podman standardmäßig nicht installiert
  • Node.js ist für mich das Tor zur Hölle und ich vermeide dessen Nutzung wenn möglich
  • Die Nutzung ist keine Voraussetzung, da ich mein Ziel auch so ohne Mehraufwand erreicht habe

Sobald die Workflows länger und komplexer werden, mag sich meine Einstellung zu Actions ändern.

Zusammenfassung

Ich habe gelernt:

  • Forgejo Runner zu installieren und zu konfigurieren
  • Wie Forgejo Workflows funktionieren und auf Codeberg.org genutzt werden können
  • Wie ich mir damit zukünftig die Arbeit in anderen Projekten erleichtern kann
  • Was für großartige Open Source Projekte Codeberg.org und Forgejo sind
  •  

openSUSE wirft Deepin Desktop raus: Sicherheitsbedenken führen zur Entfernung

Die Linux-Distribution openSUSE zieht Konsequenzen: Die optisch ansprechende aber zeitgleich auch umstrittene Deepin Desktop Environment (DDE) wird aus den offiziellen Repositories entfernt. Grund dafür sind schwerwiegende Verstöße gegen die Paketbaurichtlinien und Sicherheitsstandards des Projekts. Im Zentrum der Kritik steht ein Paket namens deepin-feature-enable, das eine Lizenzvereinbarung enthielt. Diese ermöglichte es Nutzern, durch bloßes Akzeptieren sicherheitsrelevante […]

Der Beitrag openSUSE wirft Deepin Desktop raus: Sicherheitsbedenken führen zur Entfernung erschien zuerst auf fosstopia.

  •  

GNOME Foundation: Steven Deobald wird neuer Geschäftsführer

Die GNOME Foundation hat einen neuen geschäftsführenden Direktor: Steven Deobald übernimmt ab sofort die Leitung der Organisation. Er folgt auf Holly Million, die das Amt im Juli vergangenen Jahres nach kurzer Zeit wieder niedergelegt hatte. Übergangsweise hatte Richard Littauer die Leitung übernommen. Steven Deobald stammt aus Kanada, engagiert sich seit Jahren für freie Software und […]

Der Beitrag GNOME Foundation: Steven Deobald wird neuer Geschäftsführer erschien zuerst auf fosstopia.

  •  

Linux Mint 22.2 und LMDE 7 Codenamen stehen fest – das erwartet Euch 2025

Die Entwickler von Linux Mint haben im Rahmen des jüngsten Newsletters die Codenamen für ihre kommenden Versionen bekannt gegeben: Die nächste Hauptversion, Linux Mint 22.2, wird den Namen „Zara“ tragen, während die siebte Ausgabe der Debian-basierten Variante LMDE den Namen „Gigi“ erhält. In Bezug auf das Erscheinungsbild plant das Team subtile Änderungen am Standard-Theme Mint-Y. […]

Der Beitrag Linux Mint 22.2 und LMDE 7 Codenamen stehen fest – das erwartet Euch 2025 erschien zuerst auf fosstopia.

  •  

Fedora und Arch Linux offiziell für WSL 2 verfügbar

Zwei beliebte Linux-Distributionen sind nun offiziell für das Windows Subsystem for Linux 2 (WSL 2) verfügbar: Den Anfang machte im April 2025 Arch, nun folgt Fedora. Diese Integration ermöglicht es Windows-Nutzern, Fedora und Arch Linux direkt über WSL 2 zu installieren und zu nutzen. Fedora 42 wurde offiziell für WSL 2 freigegeben. Die Fedora Engineering […]

Der Beitrag Fedora und Arch Linux offiziell für WSL 2 verfügbar erschien zuerst auf fosstopia.

  •  
❌