Netbox-Docker Update auf 3.1

Was ist Netbox? Kurz gesagt eine Dokumentationssoftware für Server, Schränke, IP-Netze, VLANs, virtuelle Maschinen, Hardware-Inventarisierung (keine Warenwirtschaft!). Im Regelfall was man benötigt um Rechenzentren, oder Büros mit ein oder meheren Standorten zu dokumentieren.
Update von 2.X zu 3.1
Die Aktualisierung einer älteren Netbox Umgebung kann nicht immer auf dem direkten Weg erfolgen.
Ältere Versionen unter 2.11 müssen erst auf die letzte 2.11 gebracht werden und können im Anschluss auf 3.1 aktualisiert werden.
Die Information steht sowohl in den Release Notes, allerdings auch in dieser Diskussion:
https://github.com/netbox-community/netbox/discussions/7508#discussioncomment-1449368
Mit dem Projekt Netbox-Docker lässt sich dies relativ einfach realisieren, weil die Migrationen zu Beginn ausgeführt werden. Folgenderweise kann vorgegangen werden:
- .env File mit der letzten Version konfigurieren
# File: .env
VERSION=v2.11
2. docker-compose pull && docker-compute up -d
3. .env File wieder entfernen, oder Version auskommentieren / wie gewünscht setzen
4. docker-compose pull && docker-compose up -d
Bei diesem Verfahren wird der netbox-worker Container mehrmals neustarten und abstürzen, was aber kein Problem darstellt, weil dies für die Durchführung der Migrationen sorgt!
Postgres 11 statt 14
Sollte man eine frühere Version nutzen und hat mit Postgres Version 11 begonnen, muss man nicht zwingend auf 14 aktualisieren. Eine Migration der Daten zu Postgres 14 ist in einer Docker Umgebung möglich, aber bedeutet etwas Aufwand.
Soll es schnell gehen, überschreibt man das Image. Hier ein Beispiel für mehrere Überschreibungen inklusive der Postgres-Konfiguration für Version 11:
# File: docker-compose.override.yml
version: '3.4'
services:
netbox: &netbox
env_file:
- env/netbox.env
- env/my_custom.env
restart: "unless-stopped"
netbox-worker:
<<: *netbox
postgres:
image: postgres:11-alpine
restart: "unless-stopped"
redis:
restart: "unless-stopped"
redis-cache:
restart: "unless-stopped"
Github Projekt
Die komplette Docker-Umgebung findet man auf Github, mit entsprechender Dokumentation wie das Projekt zu nutzen ist:
https://github.com/netbox-community/netbox-docker
Links
https://netbox.readthedocs.io/en/stable/
https://github.com/netbox-community/netbox