86 lines
1.9 KiB
Bash
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 🎉"
|