Compare commits

..

1 Commits

Author SHA1 Message Date
Sam Heinz 791cf7af1e backup virtual printer in bambuddy 2026-07-29 11:52:57 +10:00
5 changed files with 16 additions and 112 deletions
-16
View File
@@ -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
-19
View File
@@ -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
+2 -23
View File
@@ -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
View File
@@ -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
View File
@@ -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