Compare commits

..
Author SHA1 Message Date
github-actions[bot] 336443175d Update CHANGELOG.md 2026-10-27 18:57:02 +00:00
CanbiZ (MickLesk)andSam Heinz 4439ef2f3f TurnKey: offer only current appliances, stop on arm64 (#18265)
* TurnKey: offer only current appliances, stop on arm64

* Update turnkey/turnkey.sh

---------

Co-authored-by: Sam Heinz <sam@samheinz.com>
2026-10-27 19:56:36 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] d864252eb8 Update CHANGELOG.md (#18274)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-27 18:56:32 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] 472813b409 Update CHANGELOG.md (#18273)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-27 18:56:11 +00:00
CanbiZ (MickLesk) 40663cb865 NPMplus: let the ACME e-mail stay empty again, Let's Encrypt does not need one (#18263) 2026-10-27 19:55:52 +01:00
CanbiZ (MickLesk) 4b22056eb9 Zabbix: leave out the NVIDIA agent2 plugin that breaks the all-plugins install (#18262) 2026-10-27 19:55:40 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 55dec1b1b8 Update CHANGELOG.md (#18270)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-27 12:03:48 +00:00
CanbiZ (MickLesk) 8171d2c3dc Remove: Readarr (#18264) 2026-10-27 13:03:24 +01:00
ChrisKappeandChristian Mütze 1c9245c417 [fix/omada-version-detection] (#18248)
Co-authored-by: Christian Mütze <cmuetze@epacflexibles.com>
2026-10-27 13:03:13 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] 28fd647e6a Update CHANGELOG.md (#18268)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-27 10:14:27 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] 8001edc4d4 Update CHANGELOG.md (#18267)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-27 09:30:03 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] 83af1dccc3 Update CHANGELOG.md (#18266)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-27 09:29:48 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] b1cf184616 Update CHANGELOG.md (#18261)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-27 08:33:48 +00:00
CanbiZ (MickLesk) fd12b4c1db LanguageTool: count ngram prompt retries without tripping errexit (#18258) 2026-10-27 09:33:23 +01:00
community-scripts-pr-app[bot]andgithub-actions[bot] c3ba64bf0c Update CHANGELOG.md (#18260)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-27 08:29:42 +00:00
CanbiZ (MickLesk) 031debe496 Overseerr: point fresh installs to Seerr instead of a missing install script (#18259) 2026-10-27 09:29:06 +01:00
8 changed files with 56 additions and 20 deletions

No files matched your search

+22
View File
@@ -574,8 +574,30 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- #### 🐞 Bug Fixes - #### 🐞 Bug Fixes
- Zabbix: leave out the NVIDIA agent2 plugin that breaks the all-plugins install [@MickLesk](https://github.com/MickLesk) ([#18262](https://github.com/community-scripts/ProxmoxVE/pull/18262))
- Omada: detect latest version from product download page [@ChrisKappe](https://github.com/ChrisKappe) ([#18248](https://github.com/community-scripts/ProxmoxVE/pull/18248))
- LanguageTool: count ngram prompt retries without tripping errexit [@MickLesk](https://github.com/MickLesk) ([#18258](https://github.com/community-scripts/ProxmoxVE/pull/18258))
- Overseerr: point fresh installs to Seerr [@MickLesk](https://github.com/MickLesk) ([#18259](https://github.com/community-scripts/ProxmoxVE/pull/18259))
- stalwart: pin to v0.16.27 until v1 migration is supported [@MickLesk](https://github.com/MickLesk) ([#18252](https://github.com/community-scripts/ProxmoxVE/pull/18252)) - stalwart: pin to v0.16.27 until v1 migration is supported [@MickLesk](https://github.com/MickLesk) ([#18252](https://github.com/community-scripts/ProxmoxVE/pull/18252))
- #### ✨ New Features
- TurnKey: offer only current appliances, stop on arm64 [@MickLesk](https://github.com/MickLesk) ([#18265](https://github.com/community-scripts/ProxmoxVE/pull/18265))
- #### 🔧 Refactor
- NPMplus: let the ACME e-mail stay empty again, Let's Encrypt does not need one [@MickLesk](https://github.com/MickLesk) ([#18263](https://github.com/community-scripts/ProxmoxVE/pull/18263))
### 🗑️ Deleted Scripts
- Remove: Readarr [@MickLesk](https://github.com/MickLesk) ([#18264](https://github.com/community-scripts/ProxmoxVE/pull/18264))
### 💾 Core
- Say the same thing on both hosts while a container is created [@MickLesk](https://github.com/MickLesk) ([core#173](https://github.com/community-scripts/core/pull/173))
- Skip the IPv6 sysctl when the host kernel has no IPv6 [@MickLesk](https://github.com/MickLesk) ([core#171](https://github.com/community-scripts/core/pull/171))
- Stop reporting a closed console as a user abort, and shield the host's own work [@MickLesk](https://github.com/MickLesk) ([core#172](https://github.com/community-scripts/core/pull/172))
## 2026-10-26 ## 2026-10-26
### 🆕 New Scripts ### 🆕 New Scripts
+5 -2
View File
@@ -40,9 +40,12 @@ function update_script() {
JAVA_VERSION="21" setup_java JAVA_VERSION="21" setup_java
OMADA_URL=$(curl -fsSL -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15" "https://support.omadanetworks.com/en/download/software/omada-controller/" | OMADA_URL=$(curl -fsSL -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15" \
"https://support.omadanetworks.com/en/product/omada-software-controller/?resourceType=download" \
"https://support.omadanetworks.com/en/download/software/omada-controller/" |
grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' |
head -n1) sed -n 's/.*_v\([0-9.]*\)_linux.*/\1 &/p' |
sort -V | tail -n1 | cut -d' ' -f2)
OMADA_PKG=$(basename "${OMADA_URL}") OMADA_PKG=$(basename "${OMADA_URL}")
VERSION=$(sed -n 's/.*_v\([0-9.]*\)_linux.*/\1/p' <<<"${OMADA_PKG}") VERSION=$(sed -n 's/.*_v\([0-9.]*\)_linux.*/\1/p' <<<"${OMADA_PKG}")
+6
View File
@@ -82,6 +82,12 @@ EOF
exit exit
} }
if [[ ! -d /opt/overseerr ]]; then
msg_error "Overseerr is now Seerr and can no longer be installed with this script."
msg_warn "Install Seerr instead: https://community-scripts.org/scripts/seerr"
exit 1
fi
start start
build_container build_container
description description
+1 -1
View File
@@ -41,7 +41,7 @@ while [[ $attempt -lt $max_attempts ]]; do
fi fi
if [[ "$lang_code" =~ [[:space:]] ]]; then if [[ "$lang_code" =~ [[:space:]] ]]; then
((attempt++)) attempt=$((attempt + 1))
remaining=$((max_attempts - attempt)) remaining=$((max_attempts - attempt))
lang_code="" lang_code=""
if [[ $remaining -gt 0 ]]; then if [[ $remaining -gt 0 ]]; then
+1 -2
View File
@@ -55,8 +55,7 @@ while true; do
done done
ACME_EMAIL_INPUT="${var_npmplus_acme_email:-}" ACME_EMAIL_INPUT="${var_npmplus_acme_email:-}"
[[ -n "$ACME_EMAIL_INPUT" ]] || read -r -p "${TAB3}Enter your ACME Email: " ACME_EMAIL_INPUT || true [[ -n "$ACME_EMAIL_INPUT" ]] || read -r -p "${TAB3}Enter your ACME Email (optional, press ENTER to skip): " ACME_EMAIL_INPUT || true
[[ -n "$ACME_EMAIL_INPUT" ]] || { msg_error "No ACME e-mail given; set var_npmplus_acme_email or answer the prompt"; exit 64; }
yq -i " yq -i "
.services.npmplus.environment |= .services.npmplus.environment |=
+5 -2
View File
@@ -59,9 +59,12 @@ if ! dpkg -l | grep -q 'libssl1.1'; then
fi fi
msg_info "Installing Omada Controller" msg_info "Installing Omada Controller"
OMADA_URL=$(curl -fsSL -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15" "https://support.omadanetworks.com/en/download/software/omada-controller/" | OMADA_URL=$(curl -fsSL -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15" \
"https://support.omadanetworks.com/en/product/omada-software-controller/?resourceType=download" \
"https://support.omadanetworks.com/en/download/software/omada-controller/" |
grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' |
head -n1) sed -n 's/.*_v\([0-9.]*\)_linux.*/\1 &/p' |
sort -V | tail -n1 | cut -d' ' -f2)
OMADA_PKG=$(basename "${OMADA_URL}") OMADA_PKG=$(basename "${OMADA_URL}")
curl_download "${OMADA_PKG}" "${OMADA_URL}" curl_download "${OMADA_PKG}" "${OMADA_URL}"
$STD dpkg -i "${OMADA_PKG}" $STD dpkg -i "${OMADA_PKG}"
+4 -7
View File
@@ -83,23 +83,20 @@ msg_ok "Selected $AGENT_PKG"
if [ "$AGENT_PKG" = "zabbix-agent2" ]; then if [ "$AGENT_PKG" = "zabbix-agent2" ]; then
echo "Choose plugins for Zabbix Agent2:" echo "Choose plugins for Zabbix Agent2:"
echo "1) PostgreSQL only (default, recommended)" echo "1) PostgreSQL only (default, recommended)"
echo "2) All plugins (may cause issues)" echo "2) All plugins except NVIDIA GPU (may cause issues)"
PLUGIN_CHOICE="${var_zabbix_plugins:-}" PLUGIN_CHOICE="${var_zabbix_plugins:-}"
[[ -n "$PLUGIN_CHOICE" ]] || read -rp "Choose option [1-2]: " PLUGIN_CHOICE || true [[ -n "$PLUGIN_CHOICE" ]] || read -rp "Choose option [1-2]: " PLUGIN_CHOICE || true
case "$PLUGIN_CHOICE" in case "$PLUGIN_CHOICE" in
2) 2)
$STD apt install -y zabbix-agent2 zabbix-agent2-plugin-* # The NVIDIA plugin fails the agent's config test without NVML, which aborts the package install
mapfile -t AGENT2_PLUGINS < <(apt-cache search --names-only '^zabbix-agent2-plugin-' | awk '{print $1}' | grep -v nvidia)
$STD apt install -y zabbix-agent2 "${AGENT2_PLUGINS[@]}"
;; ;;
*) *)
$STD apt install -y zabbix-agent2 zabbix-agent2-plugin-postgresql $STD apt install -y zabbix-agent2 zabbix-agent2-plugin-postgresql
;; ;;
esac esac
if [ -f /etc/zabbix/zabbix_agent2.d/plugins.d/nvidia.conf ]; then
sed -i 's|^Plugins.NVIDIA.System.Path=.*|# Plugins.NVIDIA.System.Path=/usr/libexec/zabbix/zabbix-agent2-plugin-nvidia-gpu|' \
/etc/zabbix/zabbix_agent2.d/plugins.d/nvidia.conf
fi
else else
$STD apt install -y zabbix-agent $STD apt install -y zabbix-agent
fi fi
+12 -6
View File
@@ -12,6 +12,7 @@ catch_errors
APP="TurnKey LXC" APP="TurnKey LXC"
NSAPP="turnkey" NSAPP="turnkey"
var_arm64="no"
DIAGNOSTICS="no" DIAGNOSTICS="no"
METHOD="default" METHOD="default"
RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)" RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)"
@@ -159,6 +160,7 @@ fi
pve_check pve_check
shell_check shell_check
root_check root_check
arch_check
# Read diagnostics preference (same logic as build.func diagnostics_check) # Read diagnostics preference (same logic as build.func diagnostics_check)
DIAG_CONFIG="/usr/local/community-scripts/diagnostics" DIAG_CONFIG="/usr/local/community-scripts/diagnostics"
@@ -178,6 +180,7 @@ msg_ok "Updated LXC template list"
# Build TurnKey selection menu dynamically from available templates # Build TurnKey selection menu dynamically from available templates
# Requires gawk for regex capture groups in match() # Requires gawk for regex capture groups in match()
# Newest template per appliance, current or previous Debian only: the catalog still lists dropped appliances on EOL releases
command -v gawk &>/dev/null || apt-get install -y gawk &>/dev/null command -v gawk &>/dev/null || apt-get install -y gawk &>/dev/null
declare -A TURNKEY_TEMPLATES declare -A TURNKEY_TEMPLATES
TURNKEY_MENU=() TURNKEY_MENU=()
@@ -187,10 +190,14 @@ while IFS=$'\t' read -r TEMPLATE_FILE TAG ITEM; do
OFFSET=2 OFFSET=2
((${#ITEM} + OFFSET > MSG_MAX_LENGTH)) && MSG_MAX_LENGTH=$((${#ITEM} + OFFSET)) ((${#ITEM} + OFFSET > MSG_MAX_LENGTH)) && MSG_MAX_LENGTH=$((${#ITEM} + OFFSET))
TURNKEY_MENU+=("$TAG" "$ITEM " "OFF") TURNKEY_MENU+=("$TAG" "$ITEM " "OFF")
done < <(pveam available -section turnkeylinux | gawk '{ done < <(pveam available -section turnkeylinux | sort -k2,2V | gawk '
tpl = $2 match($2, /debian-([0-9]+)-turnkey-([^_]+)_([^_]+)_/, m) {
if (match(tpl, /debian-([0-9]+)-turnkey-([^_]+)_([^_]+)_/, m)) { tpl[m[2]] = $2; deb[m[2]] = m[1] + 0; ver[m[2]] = m[3]
app = m[2]; deb = m[1]; ver = m[3] if (m[1] + 0 > newest) newest = m[1] + 0
}
END {
for (app in tpl) {
if (deb[app] < newest - 1) continue
display = app display = app
gsub(/-/, " ", display) gsub(/-/, " ", display)
n = split(display, words, " ") n = split(display, words, " ")
@@ -199,8 +206,7 @@ done < <(pveam available -section turnkeylinux | gawk '{
words[i] = toupper(substr(words[i], 1, 1)) substr(words[i], 2) words[i] = toupper(substr(words[i], 1, 1)) substr(words[i], 2)
display = display (i > 1 ? " " : "") words[i] display = display (i > 1 ? " " : "") words[i]
} }
tag = app "-" deb printf "%s\t%s-%s\t%s | Debian %s | %s\n", tpl[app], app, deb[app], display, deb[app], ver[app]
printf "%s\t%s\t%s | Debian %s | %s\n", tpl, tag, display, deb, ver
} }
}' | sort -t$'\t' -k2,2) }' | sort -t$'\t' -k2,2)