[TUTORIAL] proxbase: lokale Proxmox-VE-Testcluster per CLI (Open Source)

masterjanic

New Member
Oct 10, 2026
1
0
1
Hallo zusammen,

ich möchte euch ein kleines Open-Source-Projekt vorstellen, das wir bei virtbase entwickelt haben: proxbase. Das ist ein CLI-Tool, das auf dem eigenen Rechner vollständige Proxmox-VE-Cluster zum Testen aufsetzt.

Warum wir das gebaut haben

Wir bauen gerade unsere Infrastruktur rund um mehrere PVE-Nodes neu auf: Härtung per Ansible, VMs per OpenTofu, Ceph, HA. Jede Änderung daran wollten wir vorher gegen ein echtes Proxmox testen, nicht gegen den Produktivcluster. Ein Testcluster aus Blech ist teuer, und von Hand gebaute Lab-VMs sind langsam und driften auseinander. Unser Vorgänger-Ansatz mit PVE in privilegierten Docker-Containern war schnell, hat sich aber eben nicht wie ein echter Node verhalten. Also haben wir proxbase gebaut.

Wie es funktioniert

- Jeder Node ist eine echte QEMU/KVM-VM (Nested Virtualization), kein Container.
- Installiert wird mit dem offiziellen Proxmox-ISO über den Auto-Installer, also ein Standard-PVE 9.x.
- Den Cluster bildet proxbase anschließend selbst. Auf Wunsch kommt ZFS oder Ceph dazu.
- Root-Rechte sind nicht nötig, das Netzwerk läuft standardmäßig im Userspace. Für Images gibt es einen Cache, damit wiederholte Creates schnell gehen.
- Mehrere Netze, VLANs, MTU, Snapshots sowie Nodes hinzufügen und entfernen sind möglich.
- Ausgaben gibt es auf Wunsch als JSON. `proxbase env` liefert Endpoint und API-Token, z. B. direkt für Terraform/OpenTofu oder Ansible.

Bei uns steht ein quoraten 3-Node-Cluster mit ZFS nach rund 3 Minuten, mit Ceph (HEALTH_OK) nach knapp 5 Minuten.

So sieht das aus

Bash:
proxbase create lab --nodes 3   # 3-Node-Cluster "lab" anlegen
…
created in 2m56s
Cluster lab: ready, quorate: yes, switch: running
NODE  VM       CLUSTER  IP           WEB UI                   SSH
pve1  running  online   10.10.10.11  https://127.0.0.1:18001  127.0.0.1:18101
pve2  running  online   10.10.10.12  https://127.0.0.1:18002  127.0.0.1:18102
pve3  running  online   10.10.10.13  https://127.0.0.1:18003  127.0.0.1:18103

proxbase destroy lab                  # und wieder wegräumen

Danach ist die Web-UI lokal erreichbar, und proxbase env gibt die Zugangsdaten für API und Tools aus. Im Repo unter examples/ liegen fertige Beispiele, u. a. für OpenTofu/Terraform, Ansible, Docker Compose und GitHub Actions.

Wofür man es nutzen kann

- Ansible-Rollen, OpenTofu/Terraform-Module oder eigene Skripte gegen ein echtes PVE testen, bevor sie auf Produktion laufen
- Upgrades, Ceph-Setups, HA-Szenarien oder Live-Migration gefahrlos durchspielen
- Kaputtmachen und neu aufsetzen, ohne dass es wehtut
- E2E-Tests in CI (GitHub Action) und die Steuerung durch AI-Agents über einen lokalen MCP-Server

Stand und Voraussetzungen

Aktuell ist Version 0.2.0 verfügbar. Linux wird voll unterstützt, macOS ist experimentell. Nested Virtualization muss auf dem Host aktiv sein. Installation per Binary, Homebrew-Tap oder Container-Image, Details im README.

- GitHub: https://github.com/virtbase/proxbase
- Lizenz: Apache-2.0

Das Projekt ist noch jung. Feedback, Bug-Reports und Ideen sind sehr willkommen, gern hier im Thread oder als Issue auf GitHub.

Viele Grüße
Janic
 
Last edited: