proxmox-server-setup/bootstrap.sh
2025-07-25 18:12:14 -05:00

38 lines
1.1 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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