create_pve-mgnt-lxc.sh aktualisiert

This commit is contained in:
2026-01-23 23:31:27 +01:00
parent 9726e6671f
commit 503814412c

View File

@@ -2,10 +2,9 @@
# ===================================================== # =====================================================
# Proxmox VE: Debian 13 LXC automatisch erstellen # Proxmox VE: Debian 13 LXC automatisch erstellen
# Hostname: <Host>-MGNT # Hostname: <Host>-MGNT
# Unprivilegiert # Unprivilegiert, Passwort optional
# DNS vom Host übernehmen # DNS vom Host übernehmen
# Passwort wird abgefragt # Dynamisches Template
# Template automatisch aus Liste gewählt
# ===================================================== # =====================================================
# ---- Konfiguration ---- # ---- Konfiguration ----
@@ -19,7 +18,7 @@ ROOTFS_SIZE=8
BRIDGE="xx_vmbrmgt" BRIDGE="xx_vmbrmgt"
MIN_VMID=300 MIN_VMID=300
# Farben / Layout # ---- Farben / Layout ----
BOLD="\033[1m" BOLD="\033[1m"
GREEN="\033[32m" GREEN="\033[32m"
CYAN="\033[36m" CYAN="\033[36m"
@@ -32,7 +31,7 @@ if [[ $EUID -ne 0 ]]; then
exit 1 exit 1
fi fi
# ---- Passwort abfragen ---- # ---- Root-Passwort abfragen (optional) ----
read -s -p "Root-Passwort für LXC (leer für kein Passwort): " ROOTPASS read -s -p "Root-Passwort für LXC (leer für kein Passwort): " ROOTPASS
echo echo
@@ -50,13 +49,12 @@ echo -e "${INDENT}Nächste freie VMID: $VMID"
# ---- Template automatisch wählen ---- # ---- Template automatisch wählen ----
echo -e "${INDENT}Suche aktuelles Debian 13 Template..." echo -e "${INDENT}Suche aktuelles Debian 13 Template..."
pveam update pveam update
TEMPLATE_NAME=$(pveam available | grep -E "debian-13-standard_.*_amd64" | tail -n1 | awk '{print $1}') TEMPLATE_NAME=$(pveam available | awk '/debian-13-standard_.*_amd64\.tar\.zst/ {print $1}' | tail -n1)
if [[ -z "$TEMPLATE_NAME" ]]; then if [[ -z "$TEMPLATE_NAME" ]]; then
echo -e "${BOLD}${INDENT}Kein Debian 13 Template gefunden!${RESET}" echo -e "${BOLD}${INDENT}Kein Debian 13 Template gefunden!${RESET}"
exit 1 exit 1
fi fi
echo -e "${INDENT}Gefundenes Template: $TEMPLATE_NAME" echo -e "${INDENT}Gefundenes Template: $TEMPLATE_NAME"
# ---- Template prüfen / herunterladen ---- # ---- Template prüfen / herunterladen ----
@@ -76,7 +74,7 @@ fi
echo -e "${INDENT}Verwende Host-DNS: $HOST_DNS" echo -e "${INDENT}Verwende Host-DNS: $HOST_DNS"
# ---- LXC erstellen ---- # ---- LXC erstellen ----
echo -e "${INDENT}Erstelle LXC $HOSTNAME (VMID: $VMID)..." echo -e "${INDENT}Erstelle unprivilegierten LXC $HOSTNAME (VMID: $VMID)..."
CREATE_CMD="pct create $VMID local:vztmpl/$TEMPLATE_NAME \ CREATE_CMD="pct create $VMID local:vztmpl/$TEMPLATE_NAME \
--hostname $HOSTNAME \ --hostname $HOSTNAME \
@@ -85,7 +83,7 @@ CREATE_CMD="pct create $VMID local:vztmpl/$TEMPLATE_NAME \
--swap $SWAP \ --swap $SWAP \
--rootfs $STORAGE:$ROOTFS_SIZE \ --rootfs $STORAGE:$ROOTFS_SIZE \
--net0 name=eth0,bridge=$BRIDGE,ip=$IP,gw=$GATEWAY,type=veth \ --net0 name=eth0,bridge=$BRIDGE,ip=$IP,gw=$GATEWAY,type=veth \
--unprivileged 1" --unprivileged 1 "
# Passwort hinzufügen, falls gesetzt # Passwort hinzufügen, falls gesetzt
if [[ -n "$ROOTPASS" ]]; then if [[ -n "$ROOTPASS" ]]; then
@@ -99,4 +97,4 @@ eval $CREATE_CMD
echo -e "${INDENT}Starte LXC..." echo -e "${INDENT}Starte LXC..."
pct start $VMID pct start $VMID
echo -e "${GREEN}${INDENT}✔ LXC $HOSTNAME (VMID $VMID) erstellt und gestartet!${RESET}" echo -e "${GREEN}${INDENT} Unprivilegierter LXC $HOSTNAME (VMID $VMID) erstellt und gestartet!${RESET}"