README.md hinzugefügt
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# 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. automatischem `django-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`):
|
||||
|
||||
```bash
|
||||
curl -fsSL https://git.mrblake.cc/MrBlake/NetBox-Updater/raw/branch/main/upgrade.sh | sudo bash -s -- 4.1.5
|
||||
```
|
||||
|
||||
Alternativ mit `wget`:
|
||||
|
||||
```bash
|
||||
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](https://github.com/netbox-community/netbox/releases)).
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Root-Rechte (`sudo`)
|
||||
- Bestehende Installation unter `/opt/netbox`
|
||||
- `wget`, `tar`, `curl` installiert
|
||||
- Kein `/opt/netbox_old` und kein `/opt/netbox-<Version>` vorhanden (Skript bricht sonst ab, um nichts zu überschreiben)
|
||||
|
||||
## Ablauf im Detail
|
||||
|
||||
1. **Download**: Lädt `vX.Y.Z.tar.gz` von GitHub und entpackt es nach `/opt/netbox-X.Y.Z`.
|
||||
2. **Kopieren**: Überträgt Konfiguration, Medien, Skripte, Reports und ggf. `gunicorn.py` aus der bestehenden Installation.
|
||||
3. **Plugins**: Kopiert `local_requirements.txt` aus `/opt/netbox`. Existiert keine, wird eine Standardliste angelegt (in der Skriptdatei editierbar). Bei vorhandener `ldap_config.py` wird `django-auth-ldap` automatisch ergänzt.
|
||||
4. **Pause zur Prüfung**: Das Skript hält an und bittet dich, `CSRF_TRUSTED_ORIGINS` in der neuen `configuration.py` zu kontrollieren, bevor es weitermacht (Enter zum Fortfahren, Strg+C zum Abbrechen).
|
||||
5. **Verzeichnistausch**: `/opt/netbox` → `/opt/netbox_old`, `/opt/netbox-X.Y.Z` → `/opt/netbox`.
|
||||
6. **Upgrade**: Führt `/opt/netbox/upgrade.sh` aus.
|
||||
7. **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_old` erhalten bleibt.
|
||||
- Nach erfolgreicher Prüfung kann `/opt/netbox_old` gelöscht werden:
|
||||
```bash
|
||||
sudo rm -rf /opt/netbox_old
|
||||
```
|
||||
|
||||
## Lokale Ausführung (ohne Oneliner)
|
||||
|
||||
```bash
|
||||
wget https://git.mrblake.cc/MrBlake/NetBox-Updater/raw/branch/main/upgrade.sh
|
||||
chmod +x upgrade.sh
|
||||
sudo ./upgrade.sh 4.1.5
|
||||
```
|
||||
Reference in New Issue
Block a user