Add bootstrap.sh

This commit is contained in:
Jordan Wages 2025-07-25 18:12:14 -05:00
parent 2d713d5f9a
commit a7e8aa6581

38
bootstrap.sh Normal file
View file

@ -0,0 +1,38 @@
#!/bin/bash
set -euo pipefail
URL="https://git.jordanwages.com/wagesj45/proxmox-server-setup/raw/branch/main/setup.sh"
# make sure whiptail is available for the password prompt
if ! command -v whiptail >/dev/null 2>&1; then
echo "Error: whiptail is required for this bootstrap." >&2
exit 1
fi
# if were not running as root, grab root password and reexec via su
if [[ $EUID -ne 0 ]]; then
ROOTPW=$(whiptail --title "Authentication Required" \
--passwordbox "Enter root password to elevate this script:" \
8 60 3>&1 1>&2 2>&3) || exit 1
# choose fetch tool
if command -v curl >/dev/null 2>&1; then
FETCH_CMD="curl -fsSL \"$URL\" | bash"
elif command -v wget >/dev/null 2>&1; then
FETCH_CMD="wget -qO- \"$URL\" | bash"
else
whiptail --title "Error" --msgbox "curl or wget not found; install one to continue." 8 60
exit 1
fi
# run the remote script as root
echo "$ROOTPW" | su -c "$FETCH_CMD" root
exit $?
fi
# already root → fetch & exec directly
if command -v curl >/dev/null 2>&1; then
curl -fsSL "$URL" | bash
else
wget -qO- "$URL" | bash
fi