feat(pbs): post-install menu for Proxmox Backup Server

- Open the post-install menu from the PBS menu
- List only the customizable options that apply to PBS
- Offer the PBS no-subscription repository through the native repository API
- Upgrade PBS with the package list shown before applying it
- Remove and restore the subscription notice on the PBS web interface
- Install Figurine on PBS without the Proxmox VE aliases
- Offer the Helper-Scripts PBS post-install and microcode scripts
- Tune firewall bridges after the systemd udev rules in the automated post-install
- Add PBS repository policy tests and syntax checks
- Document the PBS differences on the post-install page
- Use backups in the Spanish PBS update message
This commit is contained in:
MacRimi
2026-10-17 18:13:44 +02:00
parent ce1a3de719
commit 98ae1f3626
34 changed files with 1976 additions and 227 deletions
+25 -2
View File
@@ -28,6 +28,12 @@ fi
load_language
initialize_cache
PMX_ON_PBS=false
if [[ -f "$LOCAL_SCRIPTS/global/platform-functions.sh" ]]; then
source "$LOCAL_SCRIPTS/global/platform-functions.sh"
pmx_is_pbs && PMX_ON_PBS=true
fi
# ==========================================================
confirm_and_run() {
local name="$1"
@@ -55,8 +61,13 @@ confirm_automated_script() {
local script_info=""
script_info+="$(translate "This script will apply the following optimizations and advanced adjustments to your Proxmox VE server"):\n\n"
script_info+="• $(translate "Configure") \Z4free repositories\Z0 $(translate "and upgrade the system (disables the enterprise repo)")\n"
if [[ "$PMX_ON_PBS" == true ]]; then
script_info+="$(translate "This script will apply the following optimizations and advanced adjustments to your Proxmox Backup Server"):\n\n"
script_info+="• $(translate "Upgrade the system, offering the") \Z4no-subscription repository\Z0 $(translate "when the server has no subscription (you will be asked)")\n"
else
script_info+="$(translate "This script will apply the following optimizations and advanced adjustments to your Proxmox VE server"):\n\n"
script_info+="• $(translate "Configure") \Z4free repositories\Z0 $(translate "and upgrade the system (disables the enterprise repo)")\n"
fi
script_info+="• $(translate "Optionally remove") \Z4subscription banner\Z0 $(translate "from Proxmox web interface (you will be asked)")\n"
script_info+="• $(translate "Optimize") \Z4memory\Z0, \Z4kernel\Z0, $(translate "and") \Z4network\Z0 $(translate "for better performance and stability")\n"
script_info+="• $(translate "Install and configure") \Z4Log2RAM\Z0 $(translate "(only on SSD/NVMe) to protect your disk")\n"
@@ -229,6 +240,12 @@ declare -a COMMUNITY_SCRIPTS=(
"Proxmox VE Post Install|Helper-Scripts|bash -c \"\$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pve-install.sh); msg_success \\\"\$(translate 'Press ENTER to continue...')\\\"; read -r _\""
"Proxmox VE Microcode|Helper-Scripts|bash -c \"\$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/microcode.sh); msg_success \\\"\$(translate 'Press ENTER to continue...')\\\"; read -r _\""
)
if [[ "$PMX_ON_PBS" == true ]]; then
COMMUNITY_SCRIPTS=(
"Proxmox Backup Server Post Install|Helper-Scripts|bash -c \"\$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pbs-install.sh); msg_success \\\"\$(translate 'Press ENTER to continue...')\\\"; read -r _\""
"Proxmox Backup Server Microcode|Helper-Scripts|bash -c \"\$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/pbs-microcode.sh); msg_success \\\"\$(translate 'Press ENTER to continue...')\\\"; read -r _\""
)
fi
# ==========================================================
@@ -271,6 +288,12 @@ post_install_label() {
"Proxmox VE Microcode")
echo "Proxmox VE Microcode"
;;
"Proxmox Backup Server Post Install")
echo "Proxmox Backup Server Post Install"
;;
"Proxmox Backup Server Microcode")
echo "Proxmox Backup Server Microcode"
;;
"Community Scripts")
translate "Community Scripts"
;;
+15 -13
View File
@@ -2,8 +2,8 @@
# ==========================================================
# ProxMenux - Proxmox Backup Server menu
# ==========================================================
# PBS exposes compatible host tools; PVE guest/repository optimizations
# stay in the PVE menu.
# PBS exposes compatible host tools and its own post-install profile;
# PVE guest optimizations stay in the PVE menu.
# ==========================================================
BASE_DIR="/usr/local/share/proxmenux"
LOCAL_SCRIPTS="$BASE_DIR/scripts"
@@ -31,20 +31,22 @@ pbs_show() {
while true; do
choice=$(dialog --clear --backtitle "ProxMenux" --title "Proxmox Backup Server" \
--menu "$(translate 'Select an option:')" 18 75 8 \
1 "$(translate 'PBS version and packages')" \
2 "$(translate 'PBS datastores')" \
3 "$(translate 'Recent PBS tasks')" \
4 "$(translate 'System Utilities Installer')" \
5 "$(translate 'Update PBS using configured repositories')" \
--menu "$(translate 'Select an option:')" 19 75 9 \
1 "$(translate "Settings post-install Proxmox")" \
2 "$(translate 'PBS version and packages')" \
3 "$(translate 'PBS datastores')" \
4 "$(translate 'Recent PBS tasks')" \
5 "$(translate 'System Utilities Installer')" \
6 "$(translate 'Update PBS using configured repositories')" \
s "$(translate 'Settings')" \
0 "$(translate 'Exit')" 2>&1 >/dev/tty) || break
case "$choice" in
1) pbs_show "$(translate 'PBS version and packages')" proxmox-backup-manager versions --verbose ;;
2) pbs_show "$(translate 'PBS datastores')" proxmox-backup-manager datastore list ;;
3) pbs_show "$(translate 'Recent PBS tasks')" proxmox-backup-manager task list --all true --limit 20 ;;
4) bash "$LOCAL_SCRIPTS/utilities/system_utils.sh" ;;
5) bash "$LOCAL_SCRIPTS/utilities/pbs_update.sh" ;;
1) exec bash "$LOCAL_SCRIPTS/menus/menu_post_install.sh" ;;
2) pbs_show "$(translate 'PBS version and packages')" proxmox-backup-manager versions --verbose ;;
3) pbs_show "$(translate 'PBS datastores')" proxmox-backup-manager datastore list ;;
4) pbs_show "$(translate 'Recent PBS tasks')" proxmox-backup-manager task list --all true --limit 20 ;;
5) bash "$LOCAL_SCRIPTS/utilities/system_utils.sh" ;;
6) bash "$LOCAL_SCRIPTS/utilities/pbs_update.sh" ;;
s) exec bash "$LOCAL_SCRIPTS/menus/config_menu.sh" ;;
0) break ;;
esac