ProxMenux: Proxmox-Verwaltung leicht gemacht

ProxMenux vereinfacht Proxmox VE mit textbasierten Menüs. Ideal für Anfänger und Profis!

ProxMenux: Proxmox-Verwaltung leicht gemacht

ProxMenux ist eine textbasierte Menüoberfläche, die die Verwaltung von Proxmox VE Umgebungen erheblich vereinfacht. Es fungiert als leichtgewichtiger Wrapper um eine Vielzahl von Kommandozeilenbefehlen und bietet eine intuitive Alternative zur Navigation durch die Web-GUI oder das direkte Tippen langer Befehlsketten. Dieses Tool erweist sich als besonders nützlich für wiederkehrende Aufgaben und kann sowohl für Einsteiger als auch für erfahrene Proxmox-Nutzer einen erheblichen Mehrwert bieten.

Was ist ProxMenux?

ProxMenux ist ein Open-Source-Projekt, das eine menügeführte Schnittstelle zur Verwaltung von Proxmox VE bereitstellt. Es ist nicht als vollständiger Ersatz für die Proxmox Web-Benutzeroberfläche oder die Kommandozeile (CLI) gedacht, sondern vielmehr als eine Ergänzung und Produktivitätsebene. Man kann es sich als eine Art textbasiertes Dashboard vorstellen, das viele gängige Operationen, die sonst manuelle Befehlseingaben oder mehrere Klicks in der Web-GUI erfordern würden, über einfache Menüauswahlen zugänglich macht. Die Software ist primär in Bash geschrieben und nutzt Werkzeuge wie whiptail für die Darstellung der Menüs.

Eine Funktion, die mich besonders beeindruckt hat, ist die Integration einer Grafikkarte oder einer Edge-TPU in einen LXC-Container:

Funktionsumfang von ProxMenux

Die Stärke von ProxMenux liegt in der Bündelung zahlreicher Verwaltungsaufgaben unter einer einheitlichen, leicht navigierbaren Oberfläche. Zu den Kernfunktionen gehören:

  • Systemübersicht und Ressourcen-Monitoring: Abruf von Echtzeit-Informationen zu CPU-, RAM- und Festplattenauslastung.
  • VM- und Container-Management: Erstellen, Löschen, Starten, Stoppen und Neustarten von virtuellen Maschinen (QEMU/KVM) und LXC-Containern.
  • Netzwerkkonfiguration: Verwaltung von Netzwerkbrücken und physischen Interfaces.
  • Speicherverwaltung: Konfiguration und Überwachung von ZFS-Pools, Hinzufügen von Festplatten und Verwaltung von Volumes.
  • Hardware-Management: Erkennung von PCI-Geräten, Überprüfung des IOMMU-Status und Konfiguration von Passthrough-Einstellungen für GPUs und andere Hardware, inklusive Coral-TPUs.
  • Systemaktualisierungen: Installation von Proxmox-Updates und Paket-Upgrades.
  • Energieverwaltung: Durchführung von Neustarts oder Herunterfahren des Systems.
  • Skriptbasierte Installationen: Vereinfachte Einrichtung von komplexeren Systemen wie NAS-Lösungen (z.B. TrueNAS, OpenMediaVault, ZimaOS) oder anderen VMs über Vorlagen und Skripte.
  • Helper Scripts: Integration einer umfangreichen Sammlung von Proxmox VE Helper Scripts, ursprünglich von dem leider verstorbenen Entwickler TTECK erstellt, die eine Vielzahl von Installationen und Konfigurationen automatisieren.

Die Vorteile von ProxMenux

ProxMenux bietet mehrere überzeugende Gründe für seinen Einsatz:

  1. Anfängerfreundlichkeit: Es senkt die Einstiegshürde für Neulinge in der Proxmox-Welt, die sich möglicherweise noch nicht intensiv mit der Kommandozeile auseinandergesetzt haben.
  2. Geschwindigkeit und Effizienz: Anstatt lange Befehle zu tippen oder sich durch verschachtelte Web-Menüs zu klicken, genügt oft die Auswahl einer Zahl, um die gewünschte Aktion auszuführen.
  3. Leichtgewichtig: ProxMenux benötigt keine aufwendigen Web-Abhängigkeiten und verursacht keinen zusätzlichen Overhead für das System. Es läuft direkt in der Shell.
  4. Lerneffekt: Durch die klare Struktur und die Anzeige der zugrundeliegenden Operationen (in einigen Fällen) kann man viel über die Funktionsweise von Proxmox und die entsprechenden Kommandozeilenbefehle lernen. Oft entdeckt man Funktionen, von deren Existenz man vorher vielleicht gar nichts wusste.

Installation von ProxMenux

Die Installation von ProxMenux ist erfreulich unkompliziert und wird direkt über die Proxmox VE Shell durchgeführt.

  1. Man loggt sich auf dem Proxmox VE Host ein, entweder direkt per SSH oder über die "Shell"-Funktion in der Web-GUI des entsprechenden Nodes.

Anschließend wird folgender Befehl ausgeführt, der das Installationsskript von GitHub herunterlädt und startet:

bash -c "$(wget -qLO - https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh)"

Das Skript prüft auf notwendige Abhängigkeiten wie whiptail, curl, jq und python3 und installiert diese bei Bedarf.Eine typische Installationsausgabe sieht wie folgt aus:

ProxMenux
An Interactive Menu for
Proxmox VE Management

To function correctly, ProxMenux needs to install the following components:
- whiptail (if not already installed)
- curl (if not already installed)
- jq (if not already installed)
- Python 3 (if not already installed)
- Virtual environment for Google Translate
- ProxMenux scripts and configuration files

Do you want to proceed with the installation? (y/n) y

Installing ProxMenu: Step 1 of 4
-Checking system dependencies
✔ jq installed successfully.
✔ whiptail is already installed.
✔ dialog is already installed.
✔ curl is already installed.
✔ python3 is already installed.
✔ python3-venv installed successfully.
✔ python3-pip is already installed.

Installing ProxMenu: Step 2 of 4
-Setting up virtual environment for translate
✔ Virtual environment created successfully.

Installing ProxMenu: Step 3 of 4
-Installing and upgrading pip and googletrans
✔ Pip upgraded successfully.
✔ Googletrans installed successfully.

Installing ProxMenu: Step 4 of 4
-Downloading necessary files
✔ cache.json downloaded successfully.
✔ utils.sh downloaded successfully.
✔ menu downloaded successfully.
✔ version.txt downloaded successfully.

--- | ProxMenux has been installed successfully! | ---

To run ProxMenux, simply execute this command in the console or terminal:
menu

Erster Start und Menü-Navigation

Nach erfolgreicher Installation kann ProxMenux einfach durch Eingabe des Befehls menu in der Shell gestartet werden.

Beim ersten Start wird man aufgefordert, die gewünschte Sprache für die Menüoberfläche auszuwählen. Englisch ist hierbei die empfohlene und meist aktuelle Option.

┌────────────────────────────────────────────────────────────────────────────┐
│ Select Language                                                            │
│                                                                            │
│ Choose a language for the menu:                                            │
│                                                                            │
│                       ┌──────────────────────────┐                         │
│                       │en English (Recommended)  │                         │
│                       │es Spanish                │                         │
│                       │fr French                 │                         │
│                       │de German                 │                         │
│                       │it Italian                │                         │
│                       │pt Portuguese             │                         │
│                       └──────────────────────────┘                         │
│                                                                            │
│                                                                            │
│                      <Ok>            <Cancel>                              │
└────────────────────────────────────────────────────────────────────────────┘

Anschließend gelangt man in das Hauptmenü von ProxMenux, das eine klare, nummerierte Liste von Optionen präsentiert.

Ein tieferer Blick in die Menüs

Das Hauptmenü ist der zentrale Anlaufpunkt für alle Funktionen:

Nachfolgend eine genauere Betrachtung einiger wichtiger Menüpunkte:

1. Settings post-install Proxmox
Dieser Bereich bietet Skripte, die typische Konfigurationen nach einer frischen Proxmox VE Installation automatisieren. Dazu gehören:

  • Customizable script post-installation: Ein anpassbares Skript von ProxMenux selbst.
  • Proxmox VE Post Install: Ein Skript aus den Helper-Scripts.
  • Xshok-proxmox Post Install: Ein Fork von Xshok-proxmox.
  • Uninstall Tools
  • Return to Main Menu

2. Help and Info Commands
Hier findet man eine Sammlung nützlicher Befehle, kategorisiert für einen schnellen Zugriff:

  • Useful System Commands: Zeigt Proxmox-Version, Kernel-Infos, RAM-Nutzung, Uptime, angemeldete Benutzer etc.
  • VM and CT Management Commands: Auflisten, Starten, Stoppen von VMs/LXC.
  • Storage and Disks Commands: Anzeigen von Partitionen, UUIDs, Speicherbelegung, LVM-Infos.
  • Network Commands: Anzeigen von Netzwerkschnittstellen, Routing-Tabellen, Firewall-Regeln.
  • Updates and Packages Commands: Befehle für apt update, apt upgrade, pveupgrade etc.
  • GPU Passthrough Commands: Befehle zum Auflisten von PCI-Geräten (Nvidia, VGA), Überprüfung von VFIO-Nachrichten, Konfiguration von IOMMU.
  • ZFS Management Commands: Befehle für zpool status, zfs list, zpool scrub etc.
  • Backup and Restore Commands: Befehle für vzdump, qmrestore.
  • System CLI Tools: Schnellzugriff auf Tools wie htop, btop, iftop, iotop, tmux, iperf3.
Storage and Disks Commands
--------------------------------------------------
 1) lsblk                       - List block devices and partitions
 2) fdisk -l                    - List disks with detailed info
 3) blkid                       - Show UUID and filesystem type of block devices
 4) ls -lh /dev/disk/by-id/     - List disk persistent identifiers
 5) parted -l                   - Detailed partition layout with GPT info
 6) df -h                       - Show disk usage by mount point
 7) du -sh /path                - Show size of a directory
 8) mount | grep ^/dev          - Show mounted storage devices
 9) cat /proc/mounts            - Show all active mounts from the kernel
10) pvdisplay                   - Display physical volumes (LVM)
11) vgdisplay                   - Display volume groups (LVM)
12) lvdisplay                   - Display logical volumes (LVM)
13) pvs                         - Concise output of physical volumes
14) vgs                         - Concise output of volume groups
15) lvs                         - Concise output of logical volumes
16) cat /etc/pve/storage.cfg    - Show Proxmox storage configuration
17) pvesm status                - Show status of all storage pools
18) pvesm list <storage>        - List content of specific storage
19) pvesm scan <storage>        - Scan storage for new content
20) qm importdisk <vmid> <img> <storage>  - Import disk image to VM
21) qm set <vmid> -<bus><index> <disk>    - Add physical disk to VM via passthrough
22) qemu-img convert -O <format> <input> <output> - Convert disk image format
 0)  Back to previous menu or Esc + Enter

    -Enter a number, or write or paste a command:  

Zusammengefasst finden sich hier nützliche Befehle, die für die Administration von Proxmox extrem hilfreich sind.

3. Hardware: GPUs and Coral-TPU
Dieser Menüpunkt vereinfacht die Konfiguration von Hardware-Beschleunigung:

  • Add HW iGPU acceleration to an LXC
  • Add Coral TPU to an LXC
  • Install/Update Coral TPU on the Host

4. Create VM from template or script
Eines der mächtigsten Features. Es erlaubt die schnelle Erstellung von VMs für verschiedene Systeme:

  • Create VM System NAS: Bietet die Installation von Synology DSM, TrueNAS SCALE, TrueNAS CORE, OpenMediaVault, Rockstor, ZimaOS.
  • Create VM System Windows
  • Create VM System Linux
  • Create VM System macOS (GSX-PROXMOX)
  • Create VM System Others (based Linux)

Praxisbeispiel: ZimaOS im Handumdrehen
Wählt man beispielsweise unter "Create VM System NAS" die Option "ZimaOS VM", wird man durch einen einfachen Assistenten geführt:

  1. Aufforderung zur Eingabe einer VM ID (z.B. 220).
  2. Aufforderung zur Eingabe eines VM-Namens (z.B. zimaos-proxmox).
  3. Auswahl des Storage-Volumes (z.B. local-lvm).
  4. Eingabe der Speichergröße in MB (Standard 2048).
  5. Anzahl der CPU-Kerne (Standard 2).
    Anschließend wird eine Zusammenfassung angezeigt und nach Bestätigung (y) beginnt ProxMenux mit dem Download des ZimaOS-Images und der Erstellung sowie Konfiguration der VM.
Creating VM with the following parameters:
VMID: 220
Name: zimaos-proxmox
Volume: local-lvm
Memory: 2048 MB
Cores: 2
Image: zimacube-1.4.0.img.xz
Continue? (y/n): y

Starting VM creation process...
Cleaning up any existing image files...
Downloading the image...
/var/lib/vz/images/zimaos_zimacube-1.4.0.img.xz  100%[================================>]   1.11G  29.6MB/s    in 43s
Extracting the image...
Successfully imported disk 'local-lvm:vm-220-disk-1'
Attaching the disk...
Update VM 220: -boot order=scsi0 -scsihw virtio-scsi-pci
Resize ZimaOS disk
Size of logical volume pve/vm-220-disk-1 changed from 12.26 GiB (3139 extents) to 20.26 GiB (5187 extents).
  Logical volume pve/vm-220-disk-1 successfully resized.
Starting VM...
ZimaOS VM creation completed successfully!
-Press Enter to return to menu...-

Nach Abschluss ist die ZimaOS VM einsatzbereit und über die angezeigte IP-Adresse im Webbrowser erreichbar.

5. Disk and Storage Manager
Ermöglicht das Hinzufügen von Festplatten-Passthrough zu einer VM oder einem LXC-Container sowie das Importieren von Disk-Images in eine VM.

6. Proxmox VE Helper Scripts
Dieser Menüpunkt ist eine Goldgrube. Er integriert die extrem populären Proxmox VE Helper Scripts. Über ein weiteres Untermenü können unzählige Anwendungen und Systeme mit wenigen Klicks installiert werden, darunter:

  • Miscellaneous (z.B. AdGuard Home, Pi-hole)
  • Proxmox & Virtualization
  • Operating Systems
  • Containers & Docker
  • Network & Firewall (z.B. Nginx Proxy Manager, WireGuard)
  • Adblock & DNS
  • Und viele weitere Kategorien wie Datenbanken, Monitoring, Dashboards, IoT, AI, etc.

7. Network
Bietet grundlegende Netzwerk-Reparaturfunktionen:

  • Verify Network
  • Show IP Information

8. ProxMenux Einstellungen
Hier können Einstellungen für ProxMenux selbst vorgenommen werden:

  • Change Language
  • Show Version Information
  • Uninstall ProxMenux

Fazit

ProxMenux ist ein leichtgewichtiges, aber außerordentlich mächtiges Werkzeug, das die Verwaltung von Proxmox VE, insbesondere für kommandozeilenlastige Aufgaben, erheblich vereinfacht. Es ist sowohl für Proxmox-Einsteiger, die eine sanfte Einführung in komplexere Themen suchen, als auch für erfahrene Administratoren, die Routineaufgaben beschleunigen möchten, eine wertvolle Bereicherung. Die einfache Installation und die intuitive Menüführung machen es zu einem "Must-Have" für jedes Proxmox-System.