Modulare Bash-Skripte für den Import von Avaya-Produkten auf Proxmox VE.
Unterstützt sowohl KVM-VMs (OVA → QCOW2 / QCOW2-Direktimport) als auch LXC-Container für Avaya-Dienste. Das Hauptmenü im Stil der Proxmox Helper Scripts macht die Bedienung einfach — mit automatischer OVA-Suche, Mirror-Integration und übersichtlichen whiptail-Dialogen.
Avaya-Proxmox-Multi-Script-/
├── avaya-main.sh # Hauptmenü — KVM-Import (whiptail)
├── avayascript.sh # Alternativer LXC-Installer (reines Bash)
├── README.md # Diese Datei
├── LICENSE # MIT-Lizenz
└── scripts/
├── avaya-config.sh # Zentrale Konfiguration (OVA-Mirror, Downloads)
├── avaya-acm.sh # ACM — Aura Communication Manager (OVA → QCOW2)
└── avaya-sbce-test.sh # SBCE — Session Border Controller (QCOW2-Import)
bash -c "$(curl -fsSL https://raw.githubusercontent.com/naix1337/Avaya-Proxmox-Multi-Script-/main/avaya-main.sh)"Zeigt ein Menü mit allen Avaya-Produkten:
- ✅ Implementierte Module sind auswählbar
- ❌ Noch nicht implementierte Module zeigen einen Hinweis
- Fehlende Modul-Skripte werden automatisch von GitHub Raw geladen
bash -c "$(curl -fsSL https://raw.githubusercontent.com/naix1337/Avaya-Proxmox-Multi-Script-/main/avayascript.sh)"Reines Bash-Menü — für Umgebungen ohne whiptail oder wenn LXC-Container
statt KVM-VMs gewünscht sind.
git clone https://github.com/naix1337/Avaya-Proxmox-Multi-Script-.git
cd Avaya-Proxmox-Multi-Script-
chmod +x avaya-main.sh avayascript.sh scripts/*.sh
./avaya-main.sh # KVM-Menü
# oder
./avayascript.sh # LXC-InstallerWichtig: Die Skripte müssen auf einem Proxmox VE Host ausgeführt werden (
qm,pct,pvesherforderlich).
Im Hauptmenü integrierte Module:
| Produkt | Status | Typ | Beschreibung |
|---|---|---|---|
| ACM | ✅ Implementiert | OVA → QCOW2 | Aura Communication Manager |
| SBCE | ✅ Implementiert | QCOW2-Direktimport | Session Border Controller (SBC / Small SBC / EMS) |
| SMGR | 🔄 Geplant | OVA → QCOW2 | Session Manager |
| ASM | ⏸️ Zurückgestellt | — | Aura System Manager |
| Breeze | 🔄 Geplant | OVA → QCOW2 | Breeze |
| AADS | 🔄 Geplant | OVA → QCOW2 | AADS |
Im LXC-Installer verfügbare Produkte:
| Produkt | Status |
|---|---|
| ACM | ✅ Verfügbar |
| SMGR | ✅ Verfügbar |
| ASM | ✅ Verfügbar |
| SBCE | ✅ Verfügbar |
| Breeze | ✅ Verfügbar |
| AADS | ✅ Verfügbar |
| CMS | ✅ Verfügbar |
Die zentrale Konfigurationsdatei scripts/avaya-config.sh stellt den OVA-Mirror
und Download-Funktionen bereit:
| Variable | Standard | Beschreibung |
|---|---|---|
OVA_MIRROR_BASE |
https://ova.insolution.cloud |
Basis-URL für Image-Downloads |
export OVA_MIRROR_BASE="https://dein-eigener-mirror.example.com"
./avaya-main.shDie Module durchsuchen automatisch folgende Quellen:
- Lokale Verzeichnisse —
/root/,/var/lib/vz/template/iso/,$(pwd) - OVA-Mirror — via
OVA_MIRROR_BASEherunterladen - Eigene URL — manuelle Eingabe möglich
# Image von Mirror laden
download_ova "datei.ova" "/ziel/verzeichnis/"
# Existiert die Datei bereits? → Dialog mit Überschreiben-Option| Variante | Cores | RAM | Disk | NICs |
|---|---|---|---|---|
| SBC | 4 | 8.192 MB | 64 GB | 6 |
| Small SBC | 2 | 4.096 MB | 64 GB | 4 |
| EMS | 3 | 8.192 MB | 64 GB | 2 |
- Variante wählen — SBC, Small SBC oder EMS
- VM-Parameter festlegen — VM-ID, Name, Storage, Bridge, VLAN
- Image-Quelle angeben — lokale QCOW2-Datei, Download-URL oder Mirror
- VM-Import —
qm create→qm importdisk→ scsi0 anbinden - Netzwerkkarten automatisch nach Profil (E1000 / VirtIO)
- BIOS OVMF (UEFI) — EFI-Disk wird angelegt
- Fertig — VM kann gestartet werden
| Parameter | Wert |
|---|---|
| CPU-Typ | host |
| BIOS | ovmf (UEFI) |
| SCSI-Controller | virtio-scsi-pci |
| Maschinentyp | q35 |
| Netzwerkmodell | e1000 (konfigurierbar) |
| Cache | directsync |
| Boot-Reihenfolge | scsi0 zuerst |
# Konfigurierte Standard-URL (überschreibbar per Umgebungsvariable)
# Der Mirror-Pfad für SBCE wird aus OVA_MIRROR_BASE abgeleitet:
# ${OVA_MIRROR_BASE}/sbce/| Eigenschaft | Wert |
|---|---|
| Typ | OVA → VMDK → QCOW2-Import |
| Variante | CM Duplex 010.2.0.0.229-KVM-2 |
| Automatische Suche | Lokale Verzeichnisse + Mirror |
| Standard-Mirror | https://ova.insolution.cloud/acm/ |
- OVA-Quelle wählen — lokale
.ova-Datei, Download vom Mirror, eigene URL - VM-Parameter festlegen — VM-ID, Name, Storage, Bridge, VLAN
- OVA entpacken —
tar xvf→ VMDK extrahieren - VMDK konvertieren → QCOW2
- VM erzeugen —
qm create→qm importdisk→ scsi0 anbinden - Netzwerkkonfiguration + UEFI (OVMF)
- Fertig — VM kann gestartet werden
| Code | Name | Bedeutung |
|---|---|---|
| 0 | OK |
Erfolgreich ausgeführt |
| 1 | ERROR |
Allgemeiner Fehler (qm, wget, tar, curl, …) |
| 2 | USER_ABORT |
Abbruch durch Benutzer (ESC / Cancel) |
| 127 | — | Befehl nicht gefunden (bash <4, fehlende Tools) |
| 255 | — | whiptail-Fehler (falsche Argumente, abgeschnittenes Script) |
| Symptom | Ursache | Fix |
|---|---|---|
qm importdisk schlägt fehl |
Storage unterstützt keine VM-Images (z. B. "Backup") | pvesh get /storage/NAME prüfen → Content-Type muss images enthalten |
qm importdisk schlägt fehl (2) |
Speicherplatz voll | df -h prüfen, Speicher freigeben |
qm importdisk schlägt fehl (3) |
QCOW2-Datei defekt | qemu-img check DATEI |
tar-Fehler beim OVA-Entpacken |
Platte voll oder OVA korrupt | sha256sum prüfen, Speicher freigeben |
net0.model: value 'none' |
Alte --net0 none-Syntax |
Seit Commit b27f857 gefixt |
unused disk not found |
Import fehlgeschlagen | qm config VMID prüfen |
-
Script unter
scripts/avaya-<produkt>.shanlegen -
Im Hauptscript
MODULES-Array erweitern:MODULES=( # ... "Produktname|avaya-produkt.sh|yes" # "yes" = aktiv, "no" = Hinweis )
Jedes Modul sollte:
- Eigenständig lauffähig sein (
set -euo pipefail) - Mit whiptail-Dialogen arbeiten
- Einheitliche QEMU-Standards verwenden (OVMF, VirtIO SCSI,
hostCPU) - Import über
qm importdiskrealisieren - Fehlerbehandlung mit sinnvollen Exit-Codes
- Einen Eintrag in der Exit-Code-Tabelle haben
# Mirrors Struktur:
# https://ova.insolution.cloud/<produkt>/<datei>
#
# Im Modul-Script die Standard-URL setzen:
OVA_DEFAULT_DOWNLOAD_URL="${OVA_MIRROR_BASE:-https://ova.insolution.cloud}/<produkt>/<datei>"Eigenen Mirror betreiben (z. B. TrueNAS, einfacher Webserver, S3-Bucket):
export OVA_MIRROR_BASE="https://dein-mirror.example.com"
./avaya-main.shEmpfohlene Verzeichnisstruktur:
<mirror-root>/
├── acm/
│ └── CM-Duplex-010.2.0.0.229-KVM-2.ova
└── sbce/
└── <sbce-image>.qcow2
- Avaya-Images (QCOW2, OVA) müssen separat bezogen werden — die Lizenzbedingungen von Avaya bleiben hiervon unberührt.
- Download-URLs variieren je nach Lizenzvertrag und Avaya-PLDS-Generierung.
- Dieses Projekt ist nicht-affiliiert mit Avaya Inc. oder Proxmox Server Solutions GmbH.
MIT — siehe LICENSE.
Made with ☕ + 🐧 on Proxmox.