ifNET=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Static IPv4 CIDR Address(/24)"858 dhcp --title "IP ADDRESS" 3>&1 1>&2 2>&3);then
if[ -z $NET];then
if[ -z $NET];then
NET="dhcp"
NET="dhcp"
echo -e "${DGN}Using IP Address: ${BGN}$NET${CL}"
echo -e "${DGN}Using IP Address: ${BGN}$NET${CL}"
@ -230,7 +230,7 @@ if NET=$(whiptail --inputbox "Set a Static IPv4 CIDR Address(/24)" 8 58 dhcp --t
else
else
exit-script
exit-script
fi
fi
ifGATE1=$(whiptail --inputbox "Set a Gateway IP (mandatory if Static IP was used)"858 --title "GATEWAY IP" 3>&1 1>&2 2>&3);then
ifGATE1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Gateway IP (mandatory if Static IP was used)"858 --title "GATEWAY IP" 3>&1 1>&2 2>&3);then
ifMTU1=$(whiptail --inputbox "Set Interface MTU Size (leave blank for default)"858 --title "MTU SIZE" 3>&1 1>&2 2>&3);then
ifMTU1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Interface MTU Size (leave blank for default)"858 --title "MTU SIZE" 3>&1 1>&2 2>&3);then
if[ -z $MTU1];then
if[ -z $MTU1];then
MTU1="Default"
MTU1="Default"
MTU=""
MTU=""
@ -261,7 +261,7 @@ else
exit-script
exit-script
fi
fi
ifSD=$(whiptail --inputbox "Set a DNS Search Domain (leave blank for HOST)"858 --title "DNS Search Domain" 3>&1 1>&2 2>&3);then
ifSD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a DNS Search Domain (leave blank for HOST)"858 --title "DNS Search Domain" 3>&1 1>&2 2>&3);then
if[ -z $SD];then
if[ -z $SD];then
SX=Host
SX=Host
SD=""
SD=""
@ -274,7 +274,7 @@ else
exit-script
exit-script
fi
fi
ifNX=$(whiptail --inputbox "Set a DNS Server IP (leave blank for HOST)"858 --title "DNS SERVER IP" 3>&1 1>&2 2>&3);then
ifNX=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a DNS Server IP (leave blank for HOST)"858 --title "DNS SERVER IP" 3>&1 1>&2 2>&3);then
if[ -z $NX];then
if[ -z $NX];then
NX=Host
NX=Host
NS=""
NS=""
@ -286,7 +286,7 @@ else
exit-script
exit-script
fi
fi
ifMAC1=$(whiptail --inputbox "Set a MAC Address(leave blank for default)"858 --title "MAC ADDRESS" 3>&1 1>&2 2>&3);then
ifMAC1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a MAC Address(leave blank for default)"858 --title "MAC ADDRESS" 3>&1 1>&2 2>&3);then
if[ -z $MAC1];then
if[ -z $MAC1];then
MAC1="Default"
MAC1="Default"
MAC=""
MAC=""
@ -298,7 +298,7 @@ else
exit-script
exit-script
fi
fi
ifVLAN1=$(whiptail --inputbox "Set a Vlan(leave blank for default)"858 --title "VLAN" 3>&1 1>&2 2>&3);then
ifVLAN1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Vlan(leave blank for default)"858 --title "VLAN" 3>&1 1>&2 2>&3);then
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
pve_check() {
pve_check() {
if [ $(pveversion | grep "pve-manager/8" | wc -l) -ne 1 ]; then
if [ $(pveversion | grep "pve-manager/8" | wc -l) -ne 1 ]; then
whiptail --msgbox --title "Proxmox VE 7 Detected" "You are currently using Proxmox VE 7, refrain from creating Debian 12 LXCs due to differences in locale parameters. \n Default distribution for $APP LXC is ${var_os} ${var_version}" 10 58
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Proxmox VE 7 Detected" "You are currently using Proxmox VE 7, refrain from creating Debian 12 LXCs due to differences in locale parameters. \n Default distribution for $APP LXC is ${var_os} ${var_version}" 10 58
fi
fi
if ! pveversion | grep -Eq "pve-manager/(7\.[0-9]|8\.[0-9])"; then
if ! pveversion | grep -Eq "pve-manager/(7\.[0-9]|8\.[0-9])"; then
echo -e "${CROSS} This version of Proxmox Virtual Environment is not supported"
echo -e "${CROSS} This version of Proxmox Virtual Environment is not supported"
@ -80,7 +80,7 @@ arch_check() {
ssh_check() {
ssh_check() {
if command -v pveversion >/dev/null 2>&1; then
if command -v pveversion >/dev/null 2>&1; then
if [ -n "${SSH_CLIENT:+x}" ]; then
if [ -n "${SSH_CLIENT:+x}" ]; then
if whiptail --defaultno --title "SSH DETECTED" --yesno "It's suggested to use the Proxmox shell instead of SSH, since SSH can create issues while gathering variables. Would you like to proceed with using SSH?" 10 62; then
if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SSH DETECTED" --yesno "It's suggested to use the Proxmox shell instead of SSH, since SSH can create issues while gathering variables. Would you like to proceed with using SSH?" 10 62; then
echo "you've been warned"
echo "you've been warned"
else
else
clear
clear
@ -127,12 +127,12 @@ exit-script() {
# This function allows the user to configure advanced settings for the script.
# This function allows the user to configure advanced settings for the script.
advanced_settings() {
advanced_settings() {
whiptail --msgbox --title "Here is an instructional tip:" "To make a selection, use the Spacebar." 8 58
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Here is an instructional tip:" "To make a selection, use the Spacebar." 8 58
whiptail --msgbox --title "Default distribution for $APP" "${var_os} \n${var_version} \n" 8 58
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Default distribution for $APP" "${var_os} \n${var_version} \n" 8 58
if CT_NAME=$(whiptail --inputbox "Set Hostname" 8 58 $NSAPP --title "HOSTNAME" 3>&1 1>&2 2>&3); then
if CT_NAME=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Hostname" 8 58 $NSAPP --title "HOSTNAME" 3>&1 1>&2 2>&3); then
if [ -z "$CT_NAME" ]; then
if [ -z "$CT_NAME" ]; then
HN="$NSAPP"
HN="$NSAPP"
else
else
@ -226,7 +226,7 @@ advanced_settings() {
exit-script
exit-script
fi
fi
if DISK_SIZE=$(whiptail --inputbox "Set Disk Size in GB" 8 58 $var_disk --title "DISK SIZE" 3>&1 1>&2 2>&3); then
if DISK_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Disk Size in GB" 8 58 $var_disk --title "DISK SIZE" 3>&1 1>&2 2>&3); then
if [ -z "$DISK_SIZE" ]; then
if [ -z "$DISK_SIZE" ]; then
DISK_SIZE="$var_disk"
DISK_SIZE="$var_disk"
echo -e "${DGN}Using Disk Size: ${BGN}$DISK_SIZE${CL}"
echo -e "${DGN}Using Disk Size: ${BGN}$DISK_SIZE${CL}"
@ -241,7 +241,7 @@ advanced_settings() {
exit-script
exit-script
fi
fi
if CORE_COUNT=$(whiptail --inputbox "Allocate CPU Cores" 8 58 $var_cpu --title "CORE COUNT" 3>&1 1>&2 2>&3); then
if CORE_COUNT=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Allocate CPU Cores" 8 58 $var_cpu --title "CORE COUNT" 3>&1 1>&2 2>&3); then
whiptail --msgbox "$NET is an invalid IPv4 CIDR address. Please enter a valid IPv4 CIDR address or 'dhcp'" 8 58
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox "$NET is an invalid IPv4 CIDR address. Please enter a valid IPv4 CIDR address or 'dhcp'" 8 58
if MTU1=$(whiptail --inputbox "Set Interface MTU Size (leave blank for default)" 8 58 --title "MTU SIZE" 3>&1 1>&2 2>&3); then
if MTU1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Interface MTU Size (leave blank for default)" 8 58 --title "MTU SIZE" 3>&1 1>&2 2>&3); then
if [ -z $MTU1 ]; then
if [ -z $MTU1 ]; then
MTU1="Default"
MTU1="Default"
MTU=""
MTU=""
@ -331,7 +331,7 @@ advanced_settings() {
exit-script
exit-script
fi
fi
if SD=$(whiptail --inputbox "Set a DNS Search Domain (leave blank for HOST)" 8 58 --title "DNS Search Domain" 3>&1 1>&2 2>&3); then
if SD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a DNS Search Domain (leave blank for HOST)" 8 58 --title "DNS Search Domain" 3>&1 1>&2 2>&3); then
if [ -z $SD ]; then
if [ -z $SD ]; then
SX=Host
SX=Host
SD=""
SD=""
@ -344,7 +344,7 @@ advanced_settings() {
exit-script
exit-script
fi
fi
if NX=$(whiptail --inputbox "Set a DNS Server IP (leave blank for HOST)" 8 58 --title "DNS SERVER IP" 3>&1 1>&2 2>&3); then
if NX=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a DNS Server IP (leave blank for HOST)" 8 58 --title "DNS SERVER IP" 3>&1 1>&2 2>&3); then
if [ -z $NX ]; then
if [ -z $NX ]; then
NX=Host
NX=Host
NS=""
NS=""
@ -356,7 +356,7 @@ advanced_settings() {
exit-script
exit-script
fi
fi
if MAC1=$(whiptail --inputbox "Set a MAC Address(leave blank for default)" 8 58 --title "MAC ADDRESS" 3>&1 1>&2 2>&3); then
if MAC1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a MAC Address(leave blank for default)" 8 58 --title "MAC ADDRESS" 3>&1 1>&2 2>&3); then
if [ -z $MAC1 ]; then
if [ -z $MAC1 ]; then
MAC1="Default"
MAC1="Default"
MAC=""
MAC=""
@ -368,7 +368,7 @@ advanced_settings() {
exit-script
exit-script
fi
fi
if VLAN1=$(whiptail --inputbox "Set a Vlan(leave blank for default)" 8 58 --title "VLAN" 3>&1 1>&2 2>&3); then
if VLAN1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a Vlan(leave blank for default)" 8 58 --title "VLAN" 3>&1 1>&2 2>&3); then
if [ -z $VLAN1 ]; then
if [ -z $VLAN1 ]; then
VLAN1="Default"
VLAN1="Default"
VLAN=""
VLAN=""
@ -381,7 +381,7 @@ advanced_settings() {
fi
fi
if [[ "$PW" == -password* ]]; then
if [[ "$PW" == -password* ]]; then
if (whiptail --defaultno --title "SSH ACCESS" --yesno "Enable Root SSH Access?" 10 58); then
if (whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SSH ACCESS" --yesno "Enable Root SSH Access?" 10 58); then
SSH="yes"
SSH="yes"
else
else
SSH="no"
SSH="no"
@ -393,7 +393,7 @@ advanced_settings() {
fi
fi
if [[ "$APP" == "Docker" || "$APP" == "Umbrel" || "$APP" == "CasaOS" || "$APP" == "Home Assistant" ]]; then
if [[ "$APP" == "Docker" || "$APP" == "Umbrel" || "$APP" == "CasaOS" || "$APP" == "Home Assistant" ]]; then
if (whiptail --defaultno --title "FUSE OVERLAYFS" --yesno "(ZFS) Enable Fuse Overlayfs?" 10 58); then
if (whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "FUSE OVERLAYFS" --yesno "(ZFS) Enable Fuse Overlayfs?" 10 58); then
CHOICE=$(whiptail --title "PBS 2 BACKUP" --menu "\nMake a backup of /etc/proxmox-backup to ensure that in the worst case, any relevant configuration can be recovered?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PBS 2 BACKUP" --menu "\nMake a backup of /etc/proxmox-backup to ensure that in the worst case, any relevant configuration can be recovered?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -61,7 +61,7 @@ start_routines() {
;;
;;
esac
esac
CHOICE=$(whiptail --title "PBS 3 SOURCES" --menu "This will set the correct sources to update and install Proxmox Backup Server 3.\n \nChange to Proxmox Backup Server 3 sources?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PBS 3 SOURCES" --menu "This will set the correct sources to update and install Proxmox Backup Server 3.\n \nChange to Proxmox Backup Server 3 sources?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -79,7 +79,7 @@ EOF
;;
;;
esac
esac
CHOICE=$(whiptail --title "PBS3-ENTERPRISE" --menu "The 'pbs-enterprise' repository is only available to users who have purchased a Proxmox VE subscription.\n \nDisable 'pbs-enterprise' repository?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PBS3-ENTERPRISE" --menu "The 'pbs-enterprise' repository is only available to users who have purchased a Proxmox VE subscription.\n \nDisable 'pbs-enterprise' repository?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -95,7 +95,7 @@ EOF
;;
;;
esac
esac
CHOICE=$(whiptail --title "PBS3-NO-SUBSCRIPTION" --menu "The 'pbs-no-subscription' repository provides access to all of the open-source components of Proxmox Backup Server.\n \nEnable 'pbs-no-subscription' repository?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PBS3-NO-SUBSCRIPTION" --menu "The 'pbs-no-subscription' repository provides access to all of the open-source components of Proxmox Backup Server.\n \nEnable 'pbs-no-subscription' repository?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -111,7 +111,7 @@ EOF
;;
;;
esac
esac
CHOICE=$(whiptail --title "PBS3 TEST" --menu "The 'pbstest' repository can give advanced users access to new features and updates before they are officially released.\n \nAdd (Disabled) 'pbstest' repository?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PBS3 TEST" --menu "The 'pbstest' repository can give advanced users access to new features and updates before they are officially released.\n \nAdd (Disabled) 'pbstest' repository?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -127,7 +127,7 @@ EOF
;;
;;
esac
esac
CHOICE=$(whiptail --title "PBS 3 UPDATE" --menu "\nUpdate to Proxmox Backup Server 3 now?"11582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PBS 3 UPDATE" --menu "\nUpdate to Proxmox Backup Server 3 now?"11582\
CHOICE=$(whiptail --title "PBS SOURCES" --menu "This will set the correct sources to update and install Proxmox Backup Server.\n \nChange to Proxmox Backup Server sources?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PBS SOURCES" --menu "This will set the correct sources to update and install Proxmox Backup Server.\n \nChange to Proxmox Backup Server sources?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -66,7 +66,7 @@ EOF
;;
;;
esac
esac
CHOICE=$(whiptail --title "PBS-ENTERPRISE" --menu "The 'pbs-enterprise' repository is only available to users who have purchased a Proxmox VE subscription.\n \nDisable 'pbs-enterprise' repository?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PBS-ENTERPRISE" --menu "The 'pbs-enterprise' repository is only available to users who have purchased a Proxmox VE subscription.\n \nDisable 'pbs-enterprise' repository?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -82,7 +82,7 @@ EOF
;;
;;
esac
esac
CHOICE=$(whiptail --title "PBS-NO-SUBSCRIPTION" --menu "The 'pbs-no-subscription' repository provides access to all of the open-source components of Proxmox Backup Server.\n \nEnable 'pbs-no-subscription' repository?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PBS-NO-SUBSCRIPTION" --menu "The 'pbs-no-subscription' repository provides access to all of the open-source components of Proxmox Backup Server.\n \nEnable 'pbs-no-subscription' repository?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -98,7 +98,7 @@ EOF
;;
;;
esac
esac
CHOICE=$(whiptail --title "PBS TEST" --menu "The 'pbstest' repository can give advanced users access to new features and updates before they are officially released.\n \nAdd (Disabled) 'pbstest' repository?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PBS TEST" --menu "The 'pbstest' repository can give advanced users access to new features and updates before they are officially released.\n \nAdd (Disabled) 'pbstest' repository?"14582\
CHOICE=$(whiptail --title "SUBSCRIPTION NAG" --menu "This will disable the nag message reminding you to purchase a subscription every time you log in to the web interface.\n \nDisable subscription nag?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUBSCRIPTION NAG" --menu "This will disable the nag message reminding you to purchase a subscription every time you log in to the web interface.\n \nDisable subscription nag?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
yes)
yes)
whiptail --msgbox --title "Support Subscriptions""Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software."1058
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions""Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software."1058
msg_info "Disabling subscription nag"
msg_info "Disabling subscription nag"
echo"DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script
echo"DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script
msg_ok "Disabled subscription nag (Delete browser cache)"
msg_ok "Disabled subscription nag (Delete browser cache)"
;;
;;
no)
no)
whiptail --msgbox --title "Support Subscriptions""Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software."1058
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions""Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software."1058
msg_error "Selected no to Disabling subscription nag"
msg_error "Selected no to Disabling subscription nag"
;;
;;
esac
esac
fi
fi
CHOICE=$(whiptail --title "UPDATE" --menu "\nUpdate Proxmox Backup Server now?"11582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --menu "\nUpdate Proxmox Backup Server now?"11582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -148,7 +148,7 @@ EOF
;;
;;
esac
esac
CHOICE=$(whiptail --title "REBOOT" --menu "\nReboot Proxmox Backup Server now? (recommended)"11582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "REBOOT" --menu "\nReboot Proxmox Backup Server now? (recommended)"11582\
whiptail --msgbox --title "N-SERIES PROCESSOR DETECTED""To ensure compatibility with Proxmox VE on systems equipped with N-series processors, it is recommended to install Proxmox Virtual Environment 8"1058
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "N-SERIES PROCESSOR DETECTED""To ensure compatibility with Proxmox VE on systems equipped with N-series processors, it is recommended to install Proxmox Virtual Environment 8"1058
fi
fi
CHOICE=$(whiptail --title "SOURCES" --menu "The package manager will use the correct sources to update and install packages on your Proxmox VE server.\n \nCorrect Proxmox VE sources?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SOURCES" --menu "The package manager will use the correct sources to update and install packages on your Proxmox VE server.\n \nCorrect Proxmox VE sources?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -69,7 +69,7 @@ EOF
;;
;;
esac
esac
CHOICE=$(whiptail --title "PVE-ENTERPRISE" --menu "The 'pve-enterprise' repository is only available to users who have purchased a Proxmox VE subscription.\n \nDisable 'pve-enterprise' repository?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PVE-ENTERPRISE" --menu "The 'pve-enterprise' repository is only available to users who have purchased a Proxmox VE subscription.\n \nDisable 'pve-enterprise' repository?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -85,7 +85,7 @@ EOF
;;
;;
esac
esac
CHOICE=$(whiptail --title "PVE-NO-SUBSCRIPTION" --menu "The 'pve-no-subscription' repository provides access to all of the open-source components of Proxmox VE.\n \nEnable 'pve-no-subscription' repository?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PVE-NO-SUBSCRIPTION" --menu "The 'pve-no-subscription' repository provides access to all of the open-source components of Proxmox VE.\n \nEnable 'pve-no-subscription' repository?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -102,7 +102,7 @@ EOF
esac
esac
if[["${VERSION}"=="bookworm"]];then
if[["${VERSION}"=="bookworm"]];then
CHOICE=$(whiptail --title "CEPH PACKAGE REPOSITORIES" --menu "The 'Ceph Package Repositories' provides access to both the 'no-subscription'(enabled) and 'enterprise'(disabled) repositories.\n \nAdd 'ceph package repositories?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CEPH PACKAGE REPOSITORIES" --menu "The 'Ceph Package Repositories' provides access to both the 'no-subscription'(enabled) and 'enterprise'(disabled) repositories.\n \nAdd 'ceph package repositories?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -120,7 +120,7 @@ EOF
esac
esac
fi
fi
CHOICE=$(whiptail --title "PVETEST" --menu "The 'pvetest' repository can give advanced users access to new features and updates before they are officially released.\n \nAdd (Disabled) 'pvetest' repository?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PVETEST" --menu "The 'pvetest' repository can give advanced users access to new features and updates before they are officially released.\n \nAdd (Disabled) 'pvetest' repository?"14582\
CHOICE=$(whiptail --title "SUBSCRIPTION NAG" --menu "This will disable the nag message reminding you to purchase a subscription every time you log in to the web interface.\n \nDisable subscription nag?"14582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUBSCRIPTION NAG" --menu "This will disable the nag message reminding you to purchase a subscription every time you log in to the web interface.\n \nDisable subscription nag?"14582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
yes)
yes)
whiptail --msgbox --title "Support Subscriptions""Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software."1058
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions""Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software."1058
msg_info "Disabling subscription nag"
msg_info "Disabling subscription nag"
echo"DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script
echo"DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script
msg_ok "Disabled subscription nag (Delete browser cache)"
msg_ok "Disabled subscription nag (Delete browser cache)"
;;
;;
no)
no)
whiptail --msgbox --title "Support Subscriptions""Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software."1058
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions""Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software."1058
msg_error "Selected no to Disabling subscription nag"
msg_error "Selected no to Disabling subscription nag"
;;
;;
esac
esac
fi
fi
if ! systemctl is-active --quiet pve-ha-lrm;then
if ! systemctl is-active --quiet pve-ha-lrm;then
CHOICE=$(whiptail --title "HIGH AVAILABILITY" --menu "Enable high availability?"10582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "HIGH AVAILABILITY" --menu "Enable high availability?"10582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -174,7 +174,7 @@ EOF
fi
fi
if systemctl is-active --quiet pve-ha-lrm;then
if systemctl is-active --quiet pve-ha-lrm;then
CHOICE=$(whiptail --title "HIGH AVAILABILITY" --menu "If you plan to utilize a single node instead of a clustered environment, you can disable unnecessary high availability (HA) services, thus reclaiming system resources.\n\nIf HA becomes necessary at a later stage, the services can be re-enabled.\n\nDisable high availability?"18582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "HIGH AVAILABILITY" --menu "If you plan to utilize a single node instead of a clustered environment, you can disable unnecessary high availability (HA) services, thus reclaiming system resources.\n\nIf HA becomes necessary at a later stage, the services can be re-enabled.\n\nDisable high availability?"18582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -191,7 +191,7 @@ EOF
esac
esac
fi
fi
CHOICE=$(whiptail --title "UPDATE" --menu "\nUpdate Proxmox VE now?"11582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --menu "\nUpdate Proxmox VE now?"11582\
"yes"" "\
"yes"" "\
"no"" " 3>&2 2>&1 1>&3)
"no"" " 3>&2 2>&1 1>&3)
case$CHOICE in
case$CHOICE in
@ -206,7 +206,7 @@ EOF
;;
;;
esac
esac
CHOICE=$(whiptail --title "REBOOT" --menu "\nReboot Proxmox VE now? (recommended)"11582\
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "REBOOT" --menu "\nReboot Proxmox VE now? (recommended)"11582\
whiptail --msgbox --title "PVE8 SOURCES""This will set the correct sources to update and install Proxmox VE 8."1058
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "PVE8 SOURCES""This will set the correct sources to update and install Proxmox VE 8."1058
msg_info "Changing to Proxmox VE 8 Sources"
msg_info "Changing to Proxmox VE 8 Sources"
cat <<EOF >/etc/apt/sources.list
cat <<EOF >/etc/apt/sources.list
deb http://ftp.debian.org/debian bookworm main contrib
deb http://ftp.debian.org/debian bookworm main contrib
@ -56,21 +56,21 @@ deb http://security.debian.org/debian-security bookworm-security main contrib
EOF
EOF
msg_ok "Changed to Proxmox VE 8 Sources"
msg_ok "Changed to Proxmox VE 8 Sources"
whiptail --msgbox --title "PVE8-ENTERPRISE""The 'pve-enterprise' repository is only available to users who have purchased a Proxmox VE subscription."1058
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "PVE8-ENTERPRISE""The 'pve-enterprise' repository is only available to users who have purchased a Proxmox VE subscription."1058
# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise
# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise
EOF
EOF
msg_ok "Disabled 'pve-enterprise' repository"
msg_ok "Disabled 'pve-enterprise' repository"
whiptail --msgbox --title "PVE8-NO-SUBSCRIPTION""The 'pve-no-subscription' repository provides access to all of the open-source components of Proxmox VE."1058
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "PVE8-NO-SUBSCRIPTION""The 'pve-no-subscription' repository provides access to all of the open-source components of Proxmox VE."1058
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
EOF
EOF
msg_ok "Enabled 'pve-no-subscription' repository"
msg_ok "Enabled 'pve-no-subscription' repository"
whiptail --msgbox --title "PVE8 CEPH PACKAGE REPOSITORIES""The 'Ceph Package Repositories' provides access to both the 'no-subscription' and 'enterprise' repositories."1058
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "PVE8 CEPH PACKAGE REPOSITORIES""The 'Ceph Package Repositories' provides access to both the 'no-subscription' and 'enterprise' repositories."1058
msg_info "Enabling 'ceph package repositories'"
msg_info "Enabling 'ceph package repositories'"
cat <<EOF >/etc/apt/sources.list.d/ceph.list
cat <<EOF >/etc/apt/sources.list.d/ceph.list
# deb http://download.proxmox.com/debian/ceph-quincy bookworm enterprise
# deb http://download.proxmox.com/debian/ceph-quincy bookworm enterprise
@ -78,20 +78,20 @@ deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription
EOF
EOF
msg_ok "Enabled 'ceph package repositories'"
msg_ok "Enabled 'ceph package repositories'"
whiptail --msgbox --title "PVE8 TEST""The 'pvetest' repository can give advanced users access to new features and updates before they are officially released (Disabled)."1058
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "PVE8 TEST""The 'pvetest' repository can give advanced users access to new features and updates before they are officially released (Disabled)."1058
msg_info "Adding 'pvetest' repository and set disabled"
msg_info "Adding 'pvetest' repository and set disabled"
if whiptail --title "HOME ASSISTANT OS VM" --yesno "This will create a New Home Assistant OS VM. Proceed?"10 58;then
if whiptail --backtitle "Proxmox VE Helper Scripts" --title "HOME ASSISTANT OS VM" --yesno "This will create a New Home Assistant OS VM. Proceed?"10 58;then
:
:
else
else
header_info &&echo -e "⚠ User exited script \n"&& exit
header_info &&echo -e "⚠ User exited script \n"&& exit
@ -106,7 +106,7 @@ function arch_check() {
function ssh_check(){
function ssh_check(){
ifcommand -v pveversion >/dev/null 2>&1;then
ifcommand -v pveversion >/dev/null 2>&1;then
if[ -n "${SSH_CLIENT:+x}"];then
if[ -n "${SSH_CLIENT:+x}"];then
if whiptail --defaultno --title "SSH DETECTED" --yesno "It's suggested to use the Proxmox shell instead of SSH, since SSH can create issues while gathering variables. Would you like to proceed with using SSH?"10 62;then
if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SSH DETECTED" --yesno "It's suggested to use the Proxmox shell instead of SSH, since SSH can create issues while gathering variables. Would you like to proceed with using SSH?"10 62;then
if(whiptail --title "OpenWrt VM" --yesno "This will create a New OpenWrt VM. Proceed?"10 58);then
if(whiptail --backtitle "Proxmox VE Helper Scripts" --title "OpenWrt VM" --yesno "This will create a New OpenWrt VM. Proceed?"10 58);then
:
:
else
else
header_info &&echo -e "⚠ User exited script \n"&& exit
header_info &&echo -e "⚠ User exited script \n"&& exit
@ -178,7 +178,7 @@ function arch_check() {
function ssh_check(){
function ssh_check(){
ifcommand -v pveversion >/dev/null 2>&1;then
ifcommand -v pveversion >/dev/null 2>&1;then
if[ -n "${SSH_CLIENT:+x}"];then
if[ -n "${SSH_CLIENT:+x}"];then
if whiptail --defaultno --title "SSH DETECTED" --yesno "It's suggested to use the Proxmox shell instead of SSH, since SSH can create issues while gathering variables. Would you like to proceed with using SSH?"10 62;then
if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SSH DETECTED" --yesno "It's suggested to use the Proxmox shell instead of SSH, since SSH can create issues while gathering variables. Would you like to proceed with using SSH?"10 62;then
ifLAN_NETMASK=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a router netmmask"858$LAN_NETMASK --title "LAN NETMASK" --cancel-button Exit-Script 3>&1 1>&2 2>&3);then
if[ -z $LAN_NETMASK];then
if[ -z $LAN_NETMASK];then
LAN_NETMASK="255.255.255.0"
LAN_NETMASK="255.255.255.0"
fi
fi
@ -309,7 +309,7 @@ function advanced_settings() {
exit-script
exit-script
fi
fi
ifMAC1=$(whiptail --inputbox "Set a WAN MAC Address"858$GEN_MAC --title "WAN MAC ADDRESS" --cancel-button Exit-Script 3>&1 1>&2 2>&3);then
ifMAC1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a WAN MAC Address"858$GEN_MAC --title "WAN MAC ADDRESS" --cancel-button Exit-Script 3>&1 1>&2 2>&3);then
if[ -z $MAC1];then
if[ -z $MAC1];then
MAC="$GEN_MAC"
MAC="$GEN_MAC"
else
else
@ -320,7 +320,7 @@ function advanced_settings() {
exit-script
exit-script
fi
fi
ifMAC2=$(whiptail --inputbox "Set a LAN MAC Address"858$GEN_MAC_LAN --title "LAN MAC ADDRESS" --cancel-button Exit-Script 3>&1 1>&2 2>&3);then
ifMAC2=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a LAN MAC Address"858$GEN_MAC_LAN --title "LAN MAC ADDRESS" --cancel-button Exit-Script 3>&1 1>&2 2>&3);then
if[ -z $MAC2];then
if[ -z $MAC2];then
LAN_MAC="$GEN_MAC_LAN"
LAN_MAC="$GEN_MAC_LAN"
else
else
@ -331,7 +331,7 @@ function advanced_settings() {
exit-script
exit-script
fi
fi
ifVLAN1=$(whiptail --inputbox "Set a WAN Vlan (leave blank for default)"858 --title "WAN VLAN" --cancel-button Exit-Script 3>&1 1>&2 2>&3);then
ifVLAN1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a WAN Vlan (leave blank for default)"858 --title "WAN VLAN" --cancel-button Exit-Script 3>&1 1>&2 2>&3);then
if[ -z $VLAN1];then
if[ -z $VLAN1];then
VLAN1="Default"
VLAN1="Default"
VLAN=""
VLAN=""
@ -343,7 +343,7 @@ function advanced_settings() {
exit-script
exit-script
fi
fi
ifVLAN2=$(whiptail --inputbox "Set a LAN Vlan"858999 --title "LAN VLAN" --cancel-button Exit-Script 3>&1 1>&2 2>&3);then
ifVLAN2=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a LAN Vlan"858999 --title "LAN VLAN" --cancel-button Exit-Script 3>&1 1>&2 2>&3);then
if[ -z $VLAN2];then
if[ -z $VLAN2];then
VLAN2="999"
VLAN2="999"
LAN_VLAN=",tag=$VLAN2"
LAN_VLAN=",tag=$VLAN2"
@ -355,7 +355,7 @@ function advanced_settings() {
exit-script
exit-script
fi
fi
ifMTU1=$(whiptail --inputbox "Set Interface MTU Size (leave blank for default)"858 --title "MTU SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3);then
ifMTU1=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Interface MTU Size (leave blank for default)"858 --title "MTU SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3);then
if[ -z $MTU1];then
if[ -z $MTU1];then
MTU1="Default"
MTU1="Default"
MTU=""
MTU=""
@ -367,14 +367,14 @@ function advanced_settings() {
exit-script
exit-script
fi
fi
if(whiptail --title "START VIRTUAL MACHINE" --yesno "Start VM when completed?"10 58);then
if(whiptail --backtitle "Proxmox VE Helper Scripts" --title "START VIRTUAL MACHINE" --yesno "Start VM when completed?"10 58);then
START_VM="yes"
START_VM="yes"
else
else
START_VM="no"
START_VM="no"
fi
fi
echo -e "${DGN}Start VM when completed: ${BGN}$START_VM${CL}"
echo -e "${DGN}Start VM when completed: ${BGN}$START_VM${CL}"