mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-07-29 17:22:53 +02:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 791cf7af1e |
@@ -508,22 +508,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## 2026-07-29
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- backup virtual printer in bambuddy [@asylumexp](https://github.com/asylumexp) ([#16142](https://github.com/community-scripts/ProxmoxVE/pull/16142))
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- ImmichFrame: check .NET SDK before update deployment [@aidaskni](https://github.com/aidaskni) ([#16104](https://github.com/community-scripts/ProxmoxVE/pull/16104))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- core: Harden remote func bootstrapping with dns issues [@MickLesk](https://github.com/MickLesk) ([#16146](https://github.com/community-scripts/ProxmoxVE/pull/16146))
|
|
||||||
|
|
||||||
## 2026-07-28
|
## 2026-07-28
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|||||||
@@ -30,25 +30,6 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! dotnet --list-sdks 2>/dev/null | grep -q '^8\.'; then
|
|
||||||
msg_info "Installing .NET SDK 8.0"
|
|
||||||
if [[ "$(arch_resolve)" == "arm64" ]]; then
|
|
||||||
curl -fsSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh
|
|
||||||
$STD bash /tmp/dotnet-install.sh --channel 8.0 --install-dir /usr/lib/dotnet8
|
|
||||||
ln -sf /usr/lib/dotnet8/dotnet /usr/bin/dotnet
|
|
||||||
rm -f /tmp/dotnet-install.sh
|
|
||||||
else
|
|
||||||
setup_deb822_repo \
|
|
||||||
"microsoft" \
|
|
||||||
"https://packages.microsoft.com/keys/microsoft-2025.asc" \
|
|
||||||
"https://packages.microsoft.com/debian/13/prod/" \
|
|
||||||
"trixie" \
|
|
||||||
"main"
|
|
||||||
$STD apt install -y dotnet-sdk-8.0
|
|
||||||
fi
|
|
||||||
msg_ok "Installed .NET SDK 8.0"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if check_for_gh_release "immichframe" "immichFrame/ImmichFrame"; then
|
if check_for_gh_release "immichframe" "immichFrame/ImmichFrame"; then
|
||||||
msg_info "Stopping Service"
|
msg_info "Stopping Service"
|
||||||
systemctl stop immichframe
|
systemctl stop immichframe
|
||||||
|
|||||||
@@ -10,29 +10,8 @@ fi
|
|||||||
# must write local failure artifacts instead of talking to the telemetry API
|
# must write local failure artifacts instead of talking to the telemetry API
|
||||||
# (the host is the single telemetry reporter).
|
# (the host is the single telemetry reporter).
|
||||||
export TELEMETRY_CONTEXT="container"
|
export TELEMETRY_CONTEXT="container"
|
||||||
# A freshly booted container may not have DNS up yet. `source <(curl ...)` hides
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/core.func)
|
||||||
# curl's exit code, so a failed download would silently source an empty stream.
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/error_handler.func)
|
||||||
_bootstrap_die() {
|
|
||||||
if declare -f msg_error >/dev/null 2>&1; then
|
|
||||||
msg_error "$1"
|
|
||||||
else
|
|
||||||
echo "FATAL: $1" >&2
|
|
||||||
fi
|
|
||||||
exit 115
|
|
||||||
}
|
|
||||||
|
|
||||||
_bootstrap_source() {
|
|
||||||
local url="$1" probe="$2" content
|
|
||||||
content=$(curl -fsSL --connect-timeout 10 --retry 5 --retry-connrefused --retry-delay 2 "$url") ||
|
|
||||||
_bootstrap_die "Failed to download ${url##*/}"
|
|
||||||
source /dev/stdin <<<"$content"
|
|
||||||
declare -f "$probe" >/dev/null 2>&1 ||
|
|
||||||
_bootstrap_die "${url##*/} loaded but incomplete (missing ${probe})"
|
|
||||||
}
|
|
||||||
|
|
||||||
_FUNC_BASE="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc"
|
|
||||||
_bootstrap_source "$_FUNC_BASE/core.func" load_functions
|
|
||||||
_bootstrap_source "$_FUNC_BASE/error_handler.func" catch_errors
|
|
||||||
load_functions
|
load_functions
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
|
|||||||
+12
-31
@@ -88,38 +88,19 @@ variables() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# `source <(curl ...)` hides the download exit code, so a failed fetch would
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func)
|
||||||
# silently source an empty stream and leave the helpers undefined.
|
|
||||||
_bootstrap_die() {
|
|
||||||
if declare -f msg_error >/dev/null 2>&1; then
|
|
||||||
msg_error "$1"
|
|
||||||
else
|
|
||||||
echo "FATAL: $1" >&2
|
|
||||||
fi
|
|
||||||
exit 115
|
|
||||||
}
|
|
||||||
|
|
||||||
_bootstrap_source() {
|
if command -v curl >/dev/null 2>&1; then
|
||||||
local url="$1" probe="$2" content=""
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/core.func)
|
||||||
if command -v curl >/dev/null 2>&1; then
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/error_handler.func)
|
||||||
content=$(curl -fsSL --connect-timeout 10 --retry 5 --retry-connrefused --retry-delay 2 "$url") || content=""
|
load_functions
|
||||||
elif command -v wget >/dev/null 2>&1; then
|
catch_errors
|
||||||
content=$(wget -qO- --tries=5 --timeout=10 "$url") || content=""
|
elif command -v wget >/dev/null 2>&1; then
|
||||||
else
|
source <(wget -qO- https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/core.func)
|
||||||
_bootstrap_die "Neither curl nor wget available"
|
source <(wget -qO- https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/error_handler.func)
|
||||||
fi
|
load_functions
|
||||||
[[ -n "$content" ]] || _bootstrap_die "Failed to download ${url##*/}"
|
catch_errors
|
||||||
source /dev/stdin <<<"$content"
|
fi
|
||||||
declare -f "$probe" >/dev/null 2>&1 ||
|
|
||||||
_bootstrap_die "${url##*/} loaded but incomplete (missing ${probe})"
|
|
||||||
}
|
|
||||||
|
|
||||||
_FUNC_BASE="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc"
|
|
||||||
_bootstrap_source "$_FUNC_BASE/api.func" post_to_api
|
|
||||||
_bootstrap_source "$_FUNC_BASE/core.func" load_functions
|
|
||||||
_bootstrap_source "$_FUNC_BASE/error_handler.func" catch_errors
|
|
||||||
load_functions
|
|
||||||
catch_errors
|
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# SECTION 2: PRE-FLIGHT CHECKS & SYSTEM VALIDATION
|
# SECTION 2: PRE-FLIGHT CHECKS & SYSTEM VALIDATION
|
||||||
|
|||||||
+2
-23
@@ -37,29 +37,8 @@ fi
|
|||||||
# (the host is the single telemetry reporter).
|
# (the host is the single telemetry reporter).
|
||||||
export TELEMETRY_CONTEXT="container"
|
export TELEMETRY_CONTEXT="container"
|
||||||
|
|
||||||
# A freshly booted container may not have DNS up yet. `source <(curl ...)` hides
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/core.func)
|
||||||
# curl's exit code, so a failed download would silently source an empty stream.
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/error_handler.func)
|
||||||
_bootstrap_die() {
|
|
||||||
if declare -f msg_error >/dev/null 2>&1; then
|
|
||||||
msg_error "$1"
|
|
||||||
else
|
|
||||||
echo "FATAL: $1" >&2
|
|
||||||
fi
|
|
||||||
exit 115
|
|
||||||
}
|
|
||||||
|
|
||||||
_bootstrap_source() {
|
|
||||||
local url="$1" probe="$2" content
|
|
||||||
content=$(curl -fsSL --connect-timeout 10 --retry 5 --retry-connrefused --retry-delay 2 "$url") ||
|
|
||||||
_bootstrap_die "Failed to download ${url##*/}"
|
|
||||||
source /dev/stdin <<<"$content"
|
|
||||||
declare -f "$probe" >/dev/null 2>&1 ||
|
|
||||||
_bootstrap_die "${url##*/} loaded but incomplete (missing ${probe})"
|
|
||||||
}
|
|
||||||
|
|
||||||
_FUNC_BASE="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc"
|
|
||||||
_bootstrap_source "$_FUNC_BASE/core.func" load_functions
|
|
||||||
_bootstrap_source "$_FUNC_BASE/error_handler.func" catch_errors
|
|
||||||
load_functions
|
load_functions
|
||||||
catch_errors
|
catch_errors
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user