2.6 KiB
2.6 KiB
NetBox Updater
Automatisiertes Upgrade-Skript für selbst gehostete NetBox-Installationen unter /opt/netbox.
Erledigt automatisch:
- Download & Entpacken der neuen NetBox-Version
- Übernahme von
configuration.py,ldap_config.py,media/,scripts/,reports/,gunicorn.py - Übernahme/Erstellung der
local_requirements.txt(Plugins), inkl. automatischemdjango-auth-ldap-Eintrag bei erkannter LDAP-Konfig - Verzeichnistausch (
netbox→netbox_old, neue Version →netbox) - Ausführung von
upgrade.sh
Ausführung per Oneliner
Direkt von Gitea herunterladen und ausführen (Version als Parameter, ohne führendes v):
curl -fsSL https://git.mrblake.cc/MrBlake/NetBox-Updater/raw/branch/main/upgrade.sh | sudo bash -s -- 4.1.5
Alternativ mit wget:
wget -qO- https://git.mrblake.cc/MrBlake/NetBox-Updater/raw/branch/main/upgrade.sh | sudo bash -s -- 4.1.5
4.1.5 durch die gewünschte Zielversion ersetzen (siehe NetBox Releases).
Voraussetzungen
- Root-Rechte (
sudo) - Bestehende Installation unter
/opt/netbox wget,tar,curlinstalliert- Kein
/opt/netbox_oldund kein/opt/netbox-<Version>vorhanden (Skript bricht sonst ab, um nichts zu überschreiben)
Ablauf im Detail
- Download: Lädt
vX.Y.Z.tar.gzvon GitHub und entpackt es nach/opt/netbox-X.Y.Z. - Kopieren: Überträgt Konfiguration, Medien, Skripte, Reports und ggf.
gunicorn.pyaus der bestehenden Installation. - Plugins: Kopiert
local_requirements.txtaus/opt/netbox. Existiert keine, wird eine Standardliste angelegt (in der Skriptdatei editierbar). Bei vorhandenerldap_config.pywirddjango-auth-ldapautomatisch ergänzt. - Pause zur Prüfung: Das Skript hält an und bittet dich,
CSRF_TRUSTED_ORIGINSin der neuenconfiguration.pyzu kontrollieren, bevor es weitermacht (Enter zum Fortfahren, Strg+C zum Abbrechen). - Verzeichnistausch:
/opt/netbox→/opt/netbox_old,/opt/netbox-X.Y.Z→/opt/netbox. - Upgrade: Führt
/opt/netbox/upgrade.shaus. - Aufräumen: Löscht den heruntergeladenen Tarball.
Nach dem Upgrade
- NetBox testen (Login, Plugins, LDAP falls genutzt).
- Bei Problemen: Rollback möglich, da die alte Installation unter
/opt/netbox_olderhalten bleibt. - Nach erfolgreicher Prüfung kann
/opt/netbox_oldgelöscht werden:sudo rm -rf /opt/netbox_old
Lokale Ausführung (ohne Oneliner)
wget https://git.mrblake.cc/MrBlake/NetBox-Updater/raw/branch/main/upgrade.sh
chmod +x upgrade.sh
sudo ./upgrade.sh 4.1.5