#!/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 πŸŽ‰"