Files
NetBox-SLM/README.md
T
MrBlake adfc2ae72c feat: extend software license lifecycle data
Make license type optional and add lifetime or recurring renewal terms, license file and key storage, and provider portal URLs across the UI, API, filters, imports, translations, and migrations.
2026-07-27 12:16:14 +02:00

4.4 KiB

NetBox SLM

NetBox SLM erweitert NetBox um die Verwaltung von Softwareprodukten, Versionen, Installationen und Lizenzen. Lizenzen können optional einer NetBox-Mandantengruppe und einem Mandanten zugeordnet werden.

Diese Variante ist für NetBox 4.6.5 vorgesehen.

Die Oberfläche ist auf Englisch und Deutsch verfügbar. Die Sprache richtet sich nach der in NetBox für den Benutzer ausgewählten Sprache.

Funktionen

  • Softwareprodukte und Hersteller verwalten
  • Versionen, Release-Typen und Supportzeiträume erfassen
  • Installationen Geräten, virtuellen Maschinen oder Clustern zuordnen
  • Softwarelizenzen einschließlich Laufzeit, Umfang und Ablageort verwalten
  • Lifetime-Lizenzen oder Erneuerungsintervalle in Tagen, Monaten oder Jahren erfassen
  • Lizenzdateien, Lizenzschlüssel und Links zum Anbieterportal hinterlegen
  • Lizenzen Mandantengruppen und Mandanten zuordnen
  • Bedienung über die NetBox-Oberfläche und REST-API
  • Filter, Bulk-Import und Bulk-Bearbeitung

Hinweis: Lizenzschlüssel werden in der NetBox-Datenbank und Lizenzdateien im konfigurierten NetBox- Medienverzeichnis gespeichert. Der Zugriff auf Datenbank, REST-API und Medienverzeichnis sollte entsprechend geschützt und gesichert werden.

Installation

NetBox installiert lokale Erweiterungen aus /opt/netbox/local_requirements.txt. Die Git-URL muss dort dauerhaft eingetragen werden, damit das Plugin bei einem späteren NetBox-Upgrade erneut installiert wird.

1. Git-Repository als lokale Anforderung eintragen

echo "git+https://git.mrblake.cc/MrBlake/NetBox-SLM.git" >> /opt/netbox/local_requirements.txt

Vorher kann geprüft werden, ob der Eintrag bereits vorhanden ist:

grep -qxF "git+https://git.mrblake.cc/MrBlake/NetBox-SLM.git" /opt/netbox/local_requirements.txt || \
  echo "git+https://git.mrblake.cc/MrBlake/NetBox-SLM.git" >> /opt/netbox/local_requirements.txt

2. Plugin mit Pip installieren

Die Installation muss im Python-Virtual-Environment von NetBox erfolgen:

/opt/netbox/venv/bin/pip install --upgrade --force-reinstall \
  "git+https://git.mrblake.cc/MrBlake/NetBox-SLM.git"

Alternativ können alle lokalen Anforderungen installiert werden:

/opt/netbox/venv/bin/pip install -r /opt/netbox/local_requirements.txt

Die installierte Version kann anschließend geprüft werden:

/opt/netbox/venv/bin/pip show netbox-slm

Für diese Variante muss dort mindestens Version 1.11.0 stehen.

3. Plugin in NetBox aktivieren

In /opt/netbox/netbox/netbox/configuration.py ergänzen:

PLUGINS = [
    "netbox_slm",
]

Falls bereits andere Plugins eingetragen sind, wird "netbox_slm" lediglich zur vorhandenen Liste hinzugefügt. Eine zusätzliche PLUGINS_CONFIG-Konfiguration ist für den Standardbetrieb nicht erforderlich.

4. Datenbank migrieren und statische Dateien aktualisieren

cd /opt/netbox/netbox
/opt/netbox/venv/bin/python manage.py migrate
/opt/netbox/venv/bin/python manage.py collectstatic --no-input

5. NetBox-Dienste neu starten

Bei einer üblichen systemd-Installation:

sudo systemctl restart netbox netbox-rq

Je nach Installation können die Namen der Dienste abweichen.

Aktualisierung

/opt/netbox/venv/bin/pip install --upgrade --force-reinstall \
  "git+https://git.mrblake.cc/MrBlake/NetBox-SLM.git"
cd /opt/netbox/netbox
/opt/netbox/venv/bin/python manage.py migrate
/opt/netbox/venv/bin/python manage.py collectstatic --no-input
sudo systemctl restart netbox netbox-rq

Der Eintrag in /opt/netbox/local_requirements.txt bleibt dabei bestehen.

Deinstallation

  1. "netbox_slm" aus der PLUGINS-Liste entfernen.
  2. Die Git-Zeile aus /opt/netbox/local_requirements.txt entfernen.
  3. Das Python-Paket deinstallieren:
/opt/netbox/venv/bin/pip uninstall netbox-slm

Die Plugin-Tabellen werden dabei nicht automatisch aus der Datenbank gelöscht.

Ursprung und Lizenz

Dieses Repository basiert auf dem ursprünglichen Projekt ICTU/netbox_slm. ICTU ist der ursprüngliche Autor und Herausgeber. Mart Visser wird im Originalprojekt als Ansprechpartner genannt.

Die Anpassungen in diesem Fork werden unter git.mrblake.cc/MrBlake/NetBox-SLM gepflegt.

Das Projekt steht unter der Apache License 2.0. Die Hinweise auf die ursprünglichen Urheber bleiben erhalten.