Compare commits

..

1 Commits
main ... vm_9.1

Author SHA1 Message Date
CanbiZ
20266fa401 Expand support to Proxmox VE 9.1 in VM scripts
Update all VM provisioning scripts to support Proxmox VE 9.1 in addition to 8.0.x–8.9.x and 9.0. Adjust version checks and error messages to reflect the expanded compatibility.
2025-11-22 12:56:59 +01:00
5 changed files with 129 additions and 111 deletions

View File

@@ -12,12 +12,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
## 2025-11-22
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- glpi - allow migration of existing databases [@moodyblue](https://github.com/moodyblue) ([#9353](https://github.com/community-scripts/ProxmoxVE/pull/9353))
### 🌐 Website
- #### ✨ New Features

View File

@@ -1,44 +1,4 @@
[
{
"name": "pocketbase/pocketbase",
"version": "v0.34.0",
"date": "2025-11-22T09:18:14Z"
},
{
"name": "laurent22/joplin",
"version": "server-v3.4.4",
"date": "2025-09-25T13:19:26Z"
},
{
"name": "zwave-js/zwave-js-ui",
"version": "v11.8.0",
"date": "2025-11-22T07:54:42Z"
},
{
"name": "inventree/InvenTree",
"version": "1.1.5",
"date": "2025-11-22T07:02:52Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.339",
"date": "2025-11-22T06:05:53Z"
},
{
"name": "theonedev/onedev",
"version": "v13.1.0",
"date": "2025-11-22T04:29:25Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-11-22T00:27:05Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.0.1",
"date": "2025-10-15T16:53:55Z"
},
{
"name": "TwiN/gatus",
"version": "v5.33.0",
@@ -49,6 +9,11 @@
"version": "v1.78.5-stable-patch-1",
"date": "2025-11-21T19:57:45Z"
},
{
"name": "laurent22/joplin",
"version": "server-v3.4.4",
"date": "2025-09-25T13:19:26Z"
},
{
"name": "homarr-labs/homarr",
"version": "v1.44.0",
@@ -64,11 +29,6 @@
"version": "v1.72.0",
"date": "2025-11-21T18:20:58Z"
},
{
"name": "keycloak/keycloak",
"version": "26.4.5",
"date": "2025-11-12T15:24:23Z"
},
{
"name": "readeck/readeck",
"version": "0.21.1",
@@ -89,6 +49,11 @@
"version": "v5.6.1",
"date": "2025-11-21T16:51:21Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.0.1",
"date": "2025-10-15T16:53:55Z"
},
{
"name": "BookStackApp/BookStack",
"version": "v25.11.3",
@@ -159,21 +124,26 @@
"version": "v1.5.3",
"date": "2025-09-20T12:12:33Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.338",
"date": "2025-11-21T05:55:33Z"
},
{
"name": "bluenviron/mediamtx",
"version": "v1.15.4",
"date": "2025-11-21T01:21:03Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-11-21T00:27:06Z"
},
{
"name": "TasmoAdmin/TasmoAdmin",
"version": "v4.3.2",
"date": "2025-10-18T12:11:00Z"
},
{
"name": "ollama/ollama",
"version": "v0.13.1-rc0",
"date": "2025-11-20T21:30:35Z"
},
{
"name": "project-zot/zot",
"version": "v2.1.11",
@@ -184,6 +154,11 @@
"version": "v3007.9",
"date": "2025-11-20T17:58:32Z"
},
{
"name": "keycloak/keycloak",
"version": "26.4.5",
"date": "2025-11-12T15:24:23Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.30.12",
@@ -309,6 +284,11 @@
"version": "2025.5",
"date": "2025-11-19T14:48:47Z"
},
{
"name": "ollama/ollama",
"version": "v0.13.0",
"date": "2025-11-19T14:16:07Z"
},
{
"name": "AdguardTeam/AdGuardHome",
"version": "v0.107.69",
@@ -379,6 +359,11 @@
"version": "v0.28.2",
"date": "2025-11-18T05:51:46Z"
},
{
"name": "theonedev/onedev",
"version": "v13.1.0",
"date": "2025-11-18T00:06:49Z"
},
{
"name": "ipfs/kubo",
"version": "v0.38.2",
@@ -539,6 +524,11 @@
"version": "v1.7.7",
"date": "2025-11-13T21:28:44Z"
},
{
"name": "pocketbase/pocketbase",
"version": "v0.33.0",
"date": "2025-11-13T14:09:14Z"
},
{
"name": "PrivateBin/PrivateBin",
"version": "1.7.9",
@@ -559,6 +549,11 @@
"version": "v1.0.25",
"date": "2025-11-12T16:57:54Z"
},
{
"name": "zwave-js/zwave-js-ui",
"version": "v11.7.0",
"date": "2025-11-12T14:09:36Z"
},
{
"name": "cockpit-project/cockpit",
"version": "351",
@@ -659,6 +654,11 @@
"version": "3.5.1",
"date": "2025-11-09T05:09:28Z"
},
{
"name": "inventree/InvenTree",
"version": "1.1.3",
"date": "2025-11-09T00:28:21Z"
},
{
"name": "raydak-labs/configarr",
"version": "v1.17.2",

View File

@@ -154,7 +154,7 @@ motd_ssh
customize
msg_info "Cleaning up"
rm -rf /opt/glpi/install/install.php
rm -rf /opt/glpi/install
rm -rf /opt/glpi-${RELEASE}.tgz
$STD apt -y autoremove
$STD apt -y autoclean

View File

@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt install -y fping
msg_ok "Installed Dependencies"
PHP_VERSION="8.3" PHP_APACHE="YES" PHP_FPM="YES" PHP_MODULE="pdo,pdo-mysql,gmp,snmp,ldap,apcu" setup_php
PHP_VERSION="8.3" PHP_APACHE="YES" PHP_FPM="YES" PHP_MODULE="mysql,gmp,snmp,ldap,apcu" setup_php
msg_info "Installing PHP-PEAR"
$STD apt install -y \

View File

@@ -3628,39 +3628,63 @@ function setup_php() {
local CURRENT_PHP=""
CURRENT_PHP=$(is_tool_installed "php" 2>/dev/null) || true
# CRITICAL: If wrong version is installed, remove it FIRST before any pinning
if [[ -n "$CURRENT_PHP" && "$CURRENT_PHP" != "$PHP_VERSION" ]]; then
msg_info "Removing conflicting PHP ${CURRENT_PHP} (need ${PHP_VERSION})"
stop_all_services "php.*-fpm"
$STD apt-get purge -y "php*" 2>/dev/null || true
$STD apt-get autoremove -y 2>/dev/null || true
fi
# Scenario 1: Already at target version - just update packages
if [[ -n "$CURRENT_PHP" && "$CURRENT_PHP" == "$PHP_VERSION" ]]; then
msg_info "Update PHP $PHP_VERSION"
# NOW create pinning for the desired version
mkdir -p /etc/apt/preferences.d
cat <<EOF >/etc/apt/preferences.d/php-pin
# Ensure Sury repo is available
if [[ ! -f /etc/apt/sources.list.d/php.sources ]]; then
manage_tool_repository "php" "$PHP_VERSION" "" "https://packages.sury.org/debsuryorg-archive-keyring.deb" || {
msg_error "Failed to setup PHP repository"
return 1
}
fi
ensure_apt_working || return 1
# Perform upgrade with retry logic (non-fatal if fails)
upgrade_packages_with_retry "php${PHP_VERSION}" || true
cache_installed_version "php" "$PHP_VERSION"
msg_ok "Update PHP $PHP_VERSION"
else
# Scenario 2: Different version installed - clean upgrade
if [[ -n "$CURRENT_PHP" && "$CURRENT_PHP" != "$PHP_VERSION" ]]; then
msg_info "Upgrade PHP from $CURRENT_PHP to $PHP_VERSION"
# Stop and disable ALL PHP-FPM versions
stop_all_services "php.*-fpm"
remove_old_tool_version "php"
else
msg_info "Setup PHP $PHP_VERSION"
fi
# Prepare repository (cleanup + validation)
prepare_repository_setup "php" "deb.sury.org-php" || {
msg_error "Failed to prepare PHP repository"
return 1
}
# Setup Sury repository
manage_tool_repository "php" "$PHP_VERSION" "" "https://packages.sury.org/debsuryorg-archive-keyring.deb" || {
msg_error "Failed to setup PHP repository"
return 1
}
ensure_apt_working || return 1
# Force version preference during installation
mkdir -p /etc/apt/preferences.d
cat <<EOF >/etc/apt/preferences.d/php-pin
Package: php${PHP_VERSION}*
Pin: version ${PHP_VERSION}.*
Pin-Priority: 1001
Package: php[0-9].*
Package: php8.*
Pin: release o=packages.sury.org-php
Pin-Priority: -1
EOF
# Setup repository
prepare_repository_setup "php" "deb.sury.org-php" || {
msg_error "Failed to prepare PHP repository"
return 1
}
manage_tool_repository "php" "$PHP_VERSION" "" "https://packages.sury.org/debsuryorg-archive-keyring.deb" || {
msg_error "Failed to setup PHP repository"
return 1
}
ensure_apt_working || return 1
$STD apt-get update
$STD apt-get update
fi
# Get available PHP version from repository
local AVAILABLE_PHP_VERSION=""
@@ -3671,16 +3695,29 @@ EOF
return 1
fi
# Build module list - without version pinning (preferences.d handles it)
local MODULE_LIST="php${PHP_VERSION}"
# Build module list with version constraints
local MODULE_LIST="php${PHP_VERSION}=${AVAILABLE_PHP_VERSION}-*"
local FAILED_MODULES=()
IFS=',' read -ra MODULES <<<"$COMBINED_MODULES"
for mod in "${MODULES[@]}"; do
MODULE_LIST+=" php${PHP_VERSION}-${mod}"
if apt-cache show "php${PHP_VERSION}-${mod}" 2>/dev/null | grep -q "^Package:"; then
MODULE_LIST+=" php${PHP_VERSION}-${mod}=${AVAILABLE_PHP_VERSION}-*"
else
FAILED_MODULES+=("php${PHP_VERSION}-${mod}")
fi
done
if [[ "$PHP_FPM" == "YES" ]]; then
MODULE_LIST+=" php${PHP_VERSION}-fpm"
if apt-cache show "php${PHP_VERSION}-fpm" 2>/dev/null | grep -q "^Package:"; then
MODULE_LIST+=" php${PHP_VERSION}-fpm=${AVAILABLE_PHP_VERSION}-*"
else
FAILED_MODULES+=("php${PHP_VERSION}-fpm")
fi
fi
if [[ ${#FAILED_MODULES[@]} -gt 0 ]]; then
msg_warn "Some modules unavailable for PHP ${PHP_VERSION}: ${FAILED_MODULES[*]}"
fi
# install apache2 with PHP support if requested
@@ -3691,45 +3728,32 @@ EOF
msg_error "Failed to install Apache"
return 1
}
install_packages_with_retry "libapache2-mod-php${PHP_VERSION}" || {
install_packages_with_retry "libapache2-mod-php${PHP_VERSION}=${AVAILABLE_PHP_VERSION}-*" || {
msg_warn "Failed to install libapache2-mod-php${PHP_VERSION}, continuing without Apache module"
}
fi
fi
# Install PHP packages (pinning via preferences.d ensures correct version)
msg_info "Installing PHP ${PHP_VERSION} packages"
# Install PHP packages with explicit version constraints
msg_info "Installing PHP ${PHP_VERSION} packages (version ${AVAILABLE_PHP_VERSION})"
if ! install_packages_with_retry $MODULE_LIST; then
msg_warn "Failed to install PHP packages, attempting individual installation"
# Install main package first (critical)
msg_warn "Failed to install PHP packages with version constraints, attempting without version pins"
install_packages_with_retry "php${PHP_VERSION}" || {
msg_error "Failed to install php${PHP_VERSION}"
return 1
}
# Try to install Apache module individually if requested
if [[ "$PHP_APACHE" == "YES" ]]; then
install_packages_with_retry "libapache2-mod-php${PHP_VERSION}" || {
msg_warn "Could not install libapache2-mod-php${PHP_VERSION}"
}
fi
# Try to install modules individually - skip those that don't exist
# Try to install modules individually without version constraint
for pkg in "${MODULES[@]}"; do
if apt-cache search "^php${PHP_VERSION}-${pkg}\$" 2>/dev/null | grep -q "^php${PHP_VERSION}-${pkg}"; then
install_packages_with_retry "php${PHP_VERSION}-${pkg}" || {
msg_warn "Could not install php${PHP_VERSION}-${pkg}"
}
fi
install_packages_with_retry "php${PHP_VERSION}-${pkg}" || {
msg_warn "Could not install php${PHP_VERSION}-${pkg}"
}
done
if [[ "$PHP_FPM" == "YES" ]]; then
if apt-cache search "^php${PHP_VERSION}-fpm\$" 2>/dev/null | grep -q "^php${PHP_VERSION}-fpm"; then
install_packages_with_retry "php${PHP_VERSION}-fpm" || {
msg_warn "Could not install php${PHP_VERSION}-fpm"
}
fi
install_packages_with_retry "php${PHP_VERSION}-fpm" || {
msg_warn "Could not install php${PHP_VERSION}-fpm"
}
fi
fi
cache_installed_version "php" "$PHP_VERSION"