Files
pve-pbs-setup/create_pve-mgnt-lxc.sh

86 lines
1.9 KiB
Bash

#!/bin/bash
### === Konfiguration ===
CTID=301
HOSTNAME="debian-lxc"
TEMPLATE_STORAGE="local"
TEMPLATE_NAME="debian-13-standard_13.1-2_amd64.tar.zst"
ROOTFS_STORAGE="local-lvm"
ROOTFS_SIZE="4G"
BRIDGE="xx_vmbrmgt"
IP_ADDR="10.60.10.2/24"
GATEWAY="10.60.10.1"
CORES=1
MEMORY=512
SWAP=0
### === Checks ===
command -v pct >/dev/null || {
echo "❌ pct nicht gefunden"
exit 1
}
### === Template prüfen ===
if [ ! -f "/var/lib/vz/template/cache/${TEMPLATE_NAME}" ]; then
echo "❌ Template fehlt: ${TEMPLATE_NAME}"
echo "👉 pveam download ${TEMPLATE_STORAGE} ${TEMPLATE_NAME}"
exit 1
fi
### === LXC erstellen ===
echo "🚀 Erstelle unprivilegierten LXC ${CTID}..."
pct create ${CTID} \
${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE_NAME} \
--hostname ${HOSTNAME} \
--cores ${CORES} \
--memory ${MEMORY} \
--swap ${SWAP} \
--rootfs ${ROOTFS_STORAGE}:${ROOTFS_SIZE} \
--net0 name=eth0,bridge=${BRIDGE},ip=${IP_ADDR},gw=${GATEWAY} \
--unprivileged 1 \
--features nesting=1 \
--onboot 1 \
--ostype debian \
--start 0
[ $? -ne 0 ] && {
echo "❌ Fehler beim Erstellen"
exit 1
}
### === Console / TTY korrekt setzen (GUI-Style) ===
echo "🖥️ Setze Console / TTY Optionen..."
pct set ${CTID} \
-lxc.tty.max 2 \
-lxc.pty.max 1 \
--console 1
### === LXC starten ===
echo "▶️ Starte LXC..."
pct start ${CTID}
sleep 5
### === Pakete im LXC ===
echo "📦 Installiere Basis-Pakete..."
pct exec ${CTID} -- bash -c "
apt update &&
apt upgrade -y &&
apt install -y curl sudo
"
### === NEWT installieren ===
echo "🧩 Installiere NEWT Client..."
pct exec ${CTID} -- bash -c "
curl -fsSL https://gitea.vmd55888.de/manuel.maier/update-install-newt/raw/branch/main/install_newt_v2.sh -o install_newt_v2.sh &&
chmod +x install_newt_v2.sh &&
bash ./install_newt_v2.sh --install
"
echo "✅ Fertig! WebUI-Console funktioniert & Autostart aktiv 🎉"