Freitag, Juli 24, 2026

Netbox - Semaphore UI - lokales Playbook git Repo/Ansible Netbox Collection

Nun sind endlich alle Vorbereitungen abgeschlossen und demnächst wird es sich zeigen, ob es den ganzen Aufwand wert war. Ich habe die Anleitung von Semaphore zumindest teilweise gelesen 😉, aber wie das nun mal mit Anleitungen ist… langweilig. Ich probiere es einfach mal aus. Die Playbooks (auch die eigenen) kann man in einem Git-Repository ablegen. Das ist durchaus klug, weil Git eine eigene Versionierung u. v. m. mitbringt. Gerade bei Scripten/Code verliert man ohne Versionierung sehr schnell den Überblick über den Änderungsverlauf. Die Installation von Semaphore UI über die Community-Scripts habe ich bereits im ersten NetBox-Beitrag erwähnt. Ich werfe kurz einen Blick in das Installationsscript von Semaphore UI. Es werden bei der Installation von Semaphore via apt die Pakete ansible und git mitinstalliert, aber nicht weiter konfiguriert. Der Pfad zum Config-File steht ebenfalls in dem Installscript oder man sieht es bei systemd.

Bildschirmfoto_20260724_195337.png

In /opt/semaphore/config.json steht momentan nur das Allernötigste. Hier wäre die Seite zum Nachschlagen der (zahlreichen) möglichen Parameter (Docker ENV und Config-File-Variablen).
Für die Playbooks lege ich ein lokales Git-Repository an:

mkdir -p /opt/semaphore/playbooks
cd /opt/semaphore/playbooks
git init
Bildschirmfoto_20260724_202339.png

Für NetBox gibt es eine sogenannte Ansible-Collection, die die Kommunikation mit Ansible einfach möglich macht. Die lange Liste mit allen möglichen Befehlen, um NetBox zu beschreiben, ignoriere ich, interessant sind für mich momentan nur die Inventory- und Lookup-Plugins am Ende der Seite. In dem neuen Playbook-Verzeichnis jetzt ein neues Shellscript anlegen. Man muss python3-pip zuerst nachinstallieren, sonst funktioniert die Installation nicht.

apt update
apt install -y python3-pip
cd /opt/semaphore/playbooks
nano install-netbox-collection.sh

hier folgendes einfügen:

#!/bin/bash
set -e
ansible-galaxy collection install netbox.netbox --upgrade
pip3 install --upgrade pynetbox --break-system-packages

Durch –upgrade kann man das Script später erneut z. B. für Updates ausführen. Dann noch das Script ausführbar machen und in Git committen:

chmod +x install-netbox-collection.sh
git add install-netbox-collection.sh
git commit -m "Add netbox collection install script"

Jetzt kann man das Script in der GUI von Semaphore einbinden und gleich ausführen. Das Script installiert/aktualisiert die oben erwähnte Ansible-NetBox-Collection.

Bildschirmfoto_20260724_212048.png
Bildschirmfoto_20260724_212756.png

Sollten weitere Collections benötigt werden (vermutlich PVE), kann ich die später einfach in dem Script nachtragen.

RSS | ATOM


Kommentar hinzufügen

Die Felder Name und Kommentar sind Pflichtfelder.


BBCode Hilfe