Compare commits

..

No commits in common. "77cb0b356d9606380ecae9b1f52b274d7a9a8ad2" and "aabaa091ad85535ac07af5baeea71bfa169d7972" have entirely different histories.

3 changed files with 111 additions and 164 deletions

View File

@ -23,7 +23,7 @@ var_disk="2"
var_cpu="1" var_cpu="1"
var_ram="512" var_ram="512"
var_os="debian" var_os="debian"
var_version="12" var_version="11"
variables variables
color color
catch_errors catch_errors
@ -62,7 +62,10 @@ if ! dpkg -s aspnetcore-runtime-7.0 > /dev/null 2>&1; then
apt-get install -y aspnetcore-runtime-7.0 apt-get install -y aspnetcore-runtime-7.0
rm packages-microsoft-prod.deb rm packages-microsoft-prod.deb
fi fi
$STD bash <(curl -fsSL https://download.technitium.com/dns/install.sh) wget -q https://download.technitium.com/dns/DnsServerPortable.tar.gz
tar -zxf DnsServerPortable.tar.gz -C /etc/dns/ &>/dev/null
rm -rf DnsServerPortable.tar.gz
systemctl restart dns.service
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
exit exit
} }

View File

@ -28,6 +28,9 @@ $STD apt-get install -y aspnetcore-runtime-7.0
msg_ok "Installed ASP.NET Core Runtime" msg_ok "Installed ASP.NET Core Runtime"
msg_info "Installing Technitium DNS" msg_info "Installing Technitium DNS"
systemctl stop systemd-resolved
echo "DNSStubListener=no" >>/etc/systemd/resolved.conf
ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
$STD bash <(curl -fsSL https://download.technitium.com/dns/install.sh) $STD bash <(curl -fsSL https://download.technitium.com/dns/install.sh)
msg_ok "Installed Technitium DNS" msg_ok "Installed Technitium DNS"

View File

@ -5,8 +5,36 @@
# License: MIT # License: MIT
# https://github.com/tteck/Proxmox/raw/main/LICENSE # https://github.com/tteck/Proxmox/raw/main/LICENSE
header_info() { set -euo pipefail
clear shopt -s inherit_errexit nullglob
YW=$(echo "\033[33m")
BL=$(echo "\033[36m")
RD=$(echo "\033[01;31m")
BGN=$(echo "\033[4;92m")
GN=$(echo "\033[1;92m")
DGN=$(echo "\033[32m")
CL=$(echo "\033[m")
BFR="\\r\\033[K"
HOLD="-"
CM="${GN}${CL}"
CROSS="${RD}${CL}"
clear
echo -e "${BL}This script will Perform Post Install Routines.${CL}"
while true; do
read -p "Start the PBS Post Install Script (y/n)?" yn
case $yn in
[Yy]*) break ;;
[Nn]*) exit ;;
*) echo "Please answer yes or no." ;;
esac
done
if command -v pveversion >/dev/null 2>&1; then
echo -e "\n🛑 PVE Detected, Wrong Script!\n"
exit 1
fi
function header_info {
cat <<"EOF" cat <<"EOF"
____ ____ _____ ____ __ ____ __ ____ ____ ____ _____ ____ __ ____ __ ____
/ __ \/ __ ) ___/ / __ \____ _____/ /_ / _/___ _____/ /_____ _/ / / / __ \/ __ ) ___/ / __ \____ _____/ /_ / _/___ _____/ /_____ _/ / /
@ -17,168 +45,81 @@ header_info() {
EOF EOF
} }
RD=$(echo "\033[01;31m") function msg_info() {
YW=$(echo "\033[33m")
GN=$(echo "\033[1;92m")
CL=$(echo "\033[m")
BFR="\\r\\033[K"
HOLD="-"
CM="${GN}${CL}"
CROSS="${RD}${CL}"
set -euo pipefail
shopt -s inherit_errexit nullglob
msg_info() {
local msg="$1" local msg="$1"
echo -ne " ${HOLD} ${YW}${msg}..." echo -ne " ${HOLD} ${YW}${msg}..."
} }
msg_ok() { function msg_ok() {
local msg="$1" local msg="$1"
echo -e "${BFR} ${CM} ${GN}${msg}${CL}" echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
} }
msg_error() { clear
local msg="$1" header_info
echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}" read -r -p "Disable Enterprise Repository? <y/N> " prompt
} if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
msg_info "Disabling Enterprise Repository"
sleep 2
sed -i "s/^deb/#deb/g" /etc/apt/sources.list.d/pbs-enterprise.list
msg_ok "Disabled Enterprise Repository"
fi
read -r -p "Add/Correct PBS Sources (sources.list)? <y/N> " prompt
start_routines() { if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
header_info msg_info "Adding or Correcting PBS Sources"
VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)"
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?" 14 58 2 \
"yes" " " \
"no" " " 3>&2 2>&1 1>&3)
case $CHOICE in
yes)
msg_info "Changing to Proxmox Backup Server Sources"
cat <<EOF >/etc/apt/sources.list cat <<EOF >/etc/apt/sources.list
deb http://deb.debian.org/debian ${VERSION} main contrib deb http://ftp.debian.org/debian bullseye main contrib
deb http://deb.debian.org/debian ${VERSION}-updates main contrib deb http://ftp.debian.org/debian bullseye-updates main contrib
deb http://security.debian.org/debian-security ${VERSION}-security main contrib deb http://security.debian.org/debian-security bullseye-security main contrib
EOF EOF
msg_ok "Changed to Proxmox Backup Server Sources" sleep 2
;; msg_ok "Added or Corrected PBS Sources"
no) fi
msg_error "Selected no to Correcting Proxmox Backup Server Sources"
;;
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?" 14 58 2 \ read -r -p "Enable No-Subscription Repository? <y/N> " prompt
"yes" " " \ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
"no" " " 3>&2 2>&1 1>&3) msg_info "Enabling No-Subscription Repository"
case $CHOICE in cat <<EOF >>/etc/apt/sources.list
yes) deb http://download.proxmox.com/debian/pbs bullseye pbs-no-subscription
msg_info "Disabling 'pbs-enterprise' repository"
cat <<EOF >/etc/apt/sources.list.d/pbs-enterprise.list
# deb https://enterprise.proxmox.com/debian/pbs ${VERSION} pbs-enterprise
EOF EOF
msg_ok "Disabled 'pbs-enterprise' repository" sleep 2
;; msg_ok "Enabled No-Subscription Repository"
no) fi
msg_error "Selected no to Disabling 'pbs-enterprise' repository"
;;
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?" 14 58 2 \ read -r -p "Add (Disabled) Beta/Test Repository? <y/N> " prompt
"yes" " " \ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
"no" " " 3>&2 2>&1 1>&3) msg_info "Adding Beta/Test Repository and set disabled"
case $CHOICE in cat <<EOF >>/etc/apt/sources.list
yes) # deb http://download.proxmox.com/debian/pbs bullseye pbstest
msg_info "Enabling 'pbs-no-subscription' repository"
cat <<EOF >/etc/apt/sources.list.d/pbs-install-repo.list
deb http://download.proxmox.com/debian/pbs ${VERSION} pbs-no-subscription
EOF EOF
msg_ok "Enabled 'pbs-no-subscription' repository" sleep 2
;; msg_ok "Added Beta/Test Repository"
no) fi
msg_error "Selected no to Enabling 'pbs-no-subscription' repository"
;;
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?" 14 58 2 \ read -r -p "Disable Subscription Nag? <y/N> " prompt
"yes" " " \ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
"no" " " 3>&2 2>&1 1>&3) msg_info "Disabling Subscription Nag"
case $CHOICE in 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
yes)
msg_info "Adding 'pbstest' repository and set disabled"
cat <<EOF >/etc/apt/sources.list.d/pbstest-for-beta.list
# deb http://download.proxmox.com/debian/pbs ${VERSION} pbstest
EOF
msg_ok "Added 'pbstest' repository"
;;
no)
msg_error "Selected no to Adding 'pbstest' repository"
;;
esac
if [[ ! -f /etc/apt/apt.conf.d/no-nag-script ]]; then
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?" 14 58 2 \
"yes" " " \
"no" " " 3>&2 2>&1 1>&3)
case $CHOICE in
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." 10 58
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
apt --reinstall install proxmox-widget-toolkit &>/dev/null apt --reinstall install proxmox-widget-toolkit &>/dev/null
msg_ok "Disabled subscription nag (Delete browser cache)" msg_ok "Disabled Subscription Nag"
;; fi
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." 10 58
msg_error "Selected no to Disabling subscription nag"
;;
esac
fi
CHOICE=$(whiptail --title "UPDATE" --menu "\nUpdate Proxmox Backup Server now?" 11 58 2 \ read -r -p "Update Proxmox Backup Server now? <y/N> " prompt
"yes" " " \ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
"no" " " 3>&2 2>&1 1>&3)
case $CHOICE in
yes)
msg_info "Updating Proxmox Backup Server (Patience)" msg_info "Updating Proxmox Backup Server (Patience)"
apt-get update &>/dev/null apt-get update &>/dev/null
apt-get -y dist-upgrade &>/dev/null apt-get -y dist-upgrade &>/dev/null
msg_ok "Updated Proxmox Backup Server" msg_ok "Updated Proxmox Backup Server (⚠ Reboot Recommended)"
;; fi
no)
msg_error "Selected no to Updating Proxmox Backup Server"
;;
esac
CHOICE=$(whiptail --title "REBOOT" --menu "\nReboot Proxmox Backup Server now? (recommended)" 11 58 2 \ read -r -p "Reboot Proxmox Backup Server now? <y/N> " prompt
"yes" " " \ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
"no" " " 3>&2 2>&1 1>&3)
case $CHOICE in
yes)
msg_info "Rebooting Proxmox Backup Server" msg_info "Rebooting Proxmox Backup Server"
sleep 2 sleep 2
msg_ok "Completed Post Install Routines" msg_ok "Completed Post Install Routines"
reboot reboot
;;
no)
msg_error "Selected no to Rebooting Proxmox Backup Server (Reboot recommended)"
msg_ok "Completed Post Install Routines"
;;
esac
}
header_info
echo -e "\nThis script will Perform Post Install Routines.\n"
while true; do
read -p "Start the Proxmox Backup Server Post Install Script (y/n)?" yn
case $yn in
[Yy]*) break ;;
[Nn]*) clear; exit ;;
*) echo "Please answer yes or no." ;;
esac
done
if command -v pveversion >/dev/null 2>&1; then
echo -e "\n🛑 PVE Detected, Wrong Script!\n"
exit 1
fi fi
start_routines sleep 2
msg_ok "Completed Post Install Routines"