From 2adcf0442661d389ec555854d2f1df53cbc21e8a Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 09:45:16 +0200 Subject: [PATCH 001/117] Update versions.json (#6112) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 126 ++++++++++++++++++++--------- 1 file changed, 88 insertions(+), 38 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index cd4c83daf..283310056 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,39 @@ [ + { + "name": "openhab/openhab-core", + "version": "5.0.0", + "date": "2025-07-21T07:16:58Z" + }, + { + "name": "mattermost/mattermost", + "version": "preview-v0.1", + "date": "2025-06-27T14:35:47Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2178", + "date": "2025-07-21T05:53:32Z" + }, + { + "name": "pocket-id/pocket-id", + "version": "v1.6.4", + "date": "2025-07-21T05:53:30Z" + }, + { + "name": "lazy-media/Reactive-Resume", + "version": "1.2.1", + "date": "2025-07-21T03:40:58Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.21", + "date": "2025-07-17T04:46:25Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" + }, { "name": "fallenbagel/jellyseerr", "version": "preview-seerr", @@ -9,11 +44,6 @@ "version": "21.0.2", "date": "2025-07-20T17:02:07Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.21", - "date": "2025-07-17T04:46:25Z" - }, { "name": "msgbyte/tianji", "version": "v1.24.4", @@ -29,6 +59,11 @@ "version": "sdk/v0.26.0", "date": "2025-07-20T13:26:30Z" }, + { + "name": "wizarrrr/wizarr", + "version": "2025.7.6", + "date": "2025-07-20T13:02:43Z" + }, { "name": "OliveTin/OliveTin", "version": "2025.7.19", @@ -54,26 +89,26 @@ "version": "v1.5.3-beta.10", "date": "2025-07-15T06:07:03Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2174", - "date": "2025-07-20T05:56:23Z" - }, { "name": "linkwarden/linkwarden", "version": "v2.11.5", "date": "2025-07-20T03:14:42Z" }, { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" + "name": "adityachandelgit/BookLore", + "version": "v0.34.0", + "date": "2025-07-19T22:17:45Z" }, { "name": "Luligu/matterbridge", "version": "3.1.5", "date": "2025-07-19T21:50:47Z" }, + { + "name": "gtsteffaniak/filebrowser", + "version": "v0.7.15-beta", + "date": "2025-07-19T20:57:34Z" + }, { "name": "ellite/Wallos", "version": "v3.3.1", @@ -99,6 +134,11 @@ "version": "v0.6.18", "date": "2025-07-19T19:26:14Z" }, + { + "name": "karlomikus/bar-assistant", + "version": "v5.6.0", + "date": "2025-07-19T13:34:36Z" + }, { "name": "bunkerity/bunkerweb", "version": "v1.6.2", @@ -154,11 +194,6 @@ "version": "1.5.35", "date": "2025-06-22T08:30:10Z" }, - { - "name": "openhab/openhab-core", - "version": "5.0.0.RC1", - "date": "2025-07-18T13:17:28Z" - }, { "name": "wazuh/wazuh", "version": "coverity-w29-4.13.0", @@ -324,6 +359,11 @@ "version": "0.50.7", "date": "2025-07-15T11:29:29Z" }, + { + "name": "cloudreve/cloudreve", + "version": "4.3.0", + "date": "2025-07-15T09:54:38Z" + }, { "name": "gotson/komga", "version": "1.22.1", @@ -364,6 +404,11 @@ "version": "v1.11.0", "date": "2025-07-13T19:22:47Z" }, + { + "name": "mealie-recipes/mealie", + "version": "v3.0.1", + "date": "2025-07-13T14:40:57Z" + }, { "name": "mayswind/AriaNg", "version": "1.3.11", @@ -429,11 +474,6 @@ "version": "v3.4.4", "date": "2025-07-11T08:41:34Z" }, - { - "name": "mattermost/mattermost", - "version": "preview-v0.1", - "date": "2025-06-27T14:35:47Z" - }, { "name": "outline/outline", "version": "v0.85.1", @@ -454,11 +494,6 @@ "version": "v1.6.10", "date": "2025-07-10T12:04:30Z" }, - { - "name": "pocket-id/pocket-id", - "version": "v1.6.2", - "date": "2025-07-09T22:14:10Z" - }, { "name": "NginxProxyManager/nginx-proxy-manager", "version": "v2.12.6", @@ -704,6 +739,11 @@ "version": "v29.0", "date": "2025-06-30T03:52:33Z" }, + { + "name": "librespeed/speedtest-rust", + "version": "v1.3.8", + "date": "2025-06-29T07:41:53Z" + }, { "name": "goauthentik/authentik", "version": "version/2025.6.3", @@ -739,6 +779,11 @@ "version": "v2.18.0", "date": "2025-06-24T08:29:55Z" }, + { + "name": "itsmng/itsm-ng", + "version": "v2.0.7", + "date": "2025-06-23T14:35:40Z" + }, { "name": "clusterzx/paperless-ai", "version": "v3.0.7", @@ -894,6 +939,16 @@ "version": "mariadb-11.8.2", "date": "2025-06-04T13:35:16Z" }, + { + "name": "plankanban/planka", + "version": "planka-1.0.3", + "date": "2025-06-04T10:26:07Z" + }, + { + "name": "C4illin/ConvertX", + "version": "v0.14.1", + "date": "2025-06-04T08:57:15Z" + }, { "name": "intri-in/manage-my-damn-life-nextjs", "version": "v0.7.1", @@ -1059,6 +1114,11 @@ "version": "v0.4.15", "date": "2024-12-19T03:19:49Z" }, + { + "name": "Casvt/Kapowarr", + "version": "V1.2.0", + "date": "2025-04-16T14:55:28Z" + }, { "name": "Tautulli/Tautulli", "version": "v2.15.2", @@ -1219,11 +1279,6 @@ "version": "v25.2.1", "date": "2025-02-06T20:41:28Z" }, - { - "name": "AmruthPillai/Reactive-Resume", - "version": "v4.4.4", - "date": "2025-01-30T16:57:47Z" - }, { "name": "rustdesk/rustdesk-server", "version": "1.1.14", @@ -1343,10 +1398,5 @@ "name": "CrazyWolf13/web-check", "version": "1.0.0", "date": "2024-05-05T02:01:51Z" - }, - { - "name": "thelounge/thelounge-deb", - "version": "v4.4.3", - "date": "2024-04-06T12:24:35Z" } ] From 9060e8f3729956b26cea8f6387c0d11e28506f0e Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 14:07:16 +0200 Subject: [PATCH 002/117] Update versions.json (#6114) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 40 +++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 283310056..a15fc3b50 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,24 @@ [ + { + "name": "VictoriaMetrics/VictoriaMetrics", + "version": "pmm-6401-v1.122.0", + "date": "2025-07-21T10:40:07Z" + }, + { + "name": "linuxserver/Heimdall", + "version": "v2.7.1", + "date": "2025-07-21T09:13:14Z" + }, + { + "name": "homarr-labs/homarr", + "version": "v1.30.0", + "date": "2025-07-21T08:43:19Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v25.2", + "date": "2025-07-04T08:21:42Z" + }, { "name": "openhab/openhab-core", "version": "5.0.0", @@ -179,11 +199,6 @@ "version": "26.2.6", "date": "2025-07-17T11:16:34Z" }, - { - "name": "homarr-labs/homarr", - "version": "v1.29.0", - "date": "2025-07-18T19:17:21Z" - }, { "name": "theonedev/onedev", "version": "v12.0.1", @@ -259,11 +274,6 @@ "version": "v12.0.0", "date": "2025-07-17T14:38:30Z" }, - { - "name": "linuxserver/Heimdall", - "version": "v2.7.0", - "date": "2025-07-17T14:08:16Z" - }, { "name": "oauth2-proxy/oauth2-proxy", "version": "v7.10.0", @@ -574,11 +584,6 @@ "version": "v2.38.2", "date": "2025-07-08T09:35:14Z" }, - { - "name": "VictoriaMetrics/VictoriaMetrics", - "version": "pmm-6401-v1.121.0", - "date": "2025-07-07T16:16:13Z" - }, { "name": "photoprism/photoprism", "version": "250707-d28b3101e", @@ -594,11 +599,6 @@ "version": "v25.05.2", "date": "2025-07-07T14:08:25Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v25.2", - "date": "2025-07-04T08:21:42Z" - }, { "name": "slskd/slskd", "version": "0.23.1", From 74be3e70b906ba1ec101b51e8880827e437e080f Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 21 Jul 2025 16:05:17 +0200 Subject: [PATCH 003/117] nginxproxymanager: remove injected tteck link (#6117) --- install/nginxproxymanager-install.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/install/nginxproxymanager-install.sh b/install/nginxproxymanager-install.sh index ae8c1384b..a86ed4c09 100644 --- a/install/nginxproxymanager-install.sh +++ b/install/nginxproxymanager-install.sh @@ -32,9 +32,8 @@ $STD apt-get install -y \ python3-cffi \ python3-certbot \ python3-certbot-dns-cloudflare -$STD pip3 install certbot-dns-multi +$STD pip3 install --break-system-packages certbot-dns-multi $STD python3 -m venv /opt/certbot/ -rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED msg_ok "Installed Python Dependencies" VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" @@ -85,8 +84,6 @@ else sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json fi -sed -i 's|"fork-me": ".*"|"fork-me": "Proxmox VE Helper-Scripts"|' frontend/js/i18n/messages.json -sed -i "s|https://github.com.*source=nginx-proxy-manager|https://helper-scripts.com|g" frontend/js/app/ui/footer/main.ejs sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf NGINX_CONFS=$(find "$(pwd)" -type f -name "*.conf") for NGINX_CONF in $NGINX_CONFS; do From e6756385ed24f9584444f12adcba3c43d3a4b98f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 14:05:42 +0000 Subject: [PATCH 004/117] Update CHANGELOG.md (#6118) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a65a53c97..991382152 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-21 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - nginxproxymanager: remove injected footer link (tteck) [@MickLesk](https://github.com/MickLesk) ([#6117](https://github.com/community-scripts/ProxmoxVE/pull/6117)) + ## 2025-07-20 ### 🚀 Updated Scripts From 9f1273349f0c344aba5db92fc66feb7041420cde Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 18:44:57 +0200 Subject: [PATCH 005/117] Teamspeak-Server (#6121) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> --- ct/headers/teamspeak-server | 6 +++ ct/teamspeak-server.sh | 63 ++++++++++++++++++++++ frontend/public/json/teamspeak-server.json | 39 ++++++++++++++ install/teamspeak-server-install.sh | 56 +++++++++++++++++++ 4 files changed, 164 insertions(+) create mode 100644 ct/headers/teamspeak-server create mode 100644 ct/teamspeak-server.sh create mode 100644 frontend/public/json/teamspeak-server.json create mode 100644 install/teamspeak-server-install.sh diff --git a/ct/headers/teamspeak-server b/ct/headers/teamspeak-server new file mode 100644 index 000000000..92c3a8e42 --- /dev/null +++ b/ct/headers/teamspeak-server @@ -0,0 +1,6 @@ + ______ __ _____ + /_ __/__ ____ _____ ___ _________ ___ ____ _/ /__ / ___/___ ______ _____ _____ + / / / _ \/ __ `/ __ `__ \/ ___/ __ \/ _ \/ __ `/ //_/_____\__ \/ _ \/ ___/ | / / _ \/ ___/ + / / / __/ /_/ / / / / / (__ ) /_/ / __/ /_/ / ,< /_____/__/ / __/ / | |/ / __/ / +/_/ \___/\__,_/_/ /_/ /_/____/ .___/\___/\__,_/_/|_| /____/\___/_/ |___/\___/_/ + /_/ diff --git a/ct/teamspeak-server.sh b/ct/teamspeak-server.sh new file mode 100644 index 000000000..d71aa8680 --- /dev/null +++ b/ct/teamspeak-server.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: tremor021 (Slaviša Arežina) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://teamspeak.com/en/ + +APP="Teamspeak-Server" +var_tags="${var_tags:-voice;communication}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-512}" +var_disk="${var_disk:-2}" +var_os="${var_os:-debian}" +var_version="${var_version:-12}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/teamspeak-server ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | grep -oP 'teamspeak3-server_linux_amd64-\K[0-9]+\.[0-9]+\.[0-9]+' | head -1) + if [[ "${RELEASE}" != "$(cat ~/.teamspeak-server 2>/dev/null)" ]] || [[ ! -f ~/.teamspeak-server ]]; then + msg_info "Stopping Service" + systemctl stop teamspeak-server + msg_ok "Stopped Service" + + msg_info "Updating ${APP}" + curl -fsSL "https://files.teamspeak-services.com/releases/server/${RELEASE}/teamspeak3-server_linux_amd64-${RELEASE}.tar.bz2" -o ts3server.tar.bz2 + tar -xf ./ts3server.tar.bz2 + cp -ru teamspeak3-server_linux_amd64/* /opt/teamspeak-server/ + rm -f ~/ts3server.tar.bz* + echo "${RELEASE}" >~/.teamspeak-server + msg_ok "Updated $APP" + + msg_info "Starting Service" + systemctl start teamspeak-server + msg_ok "Started Service" + + msg_ok "Updated Successfully" + else + msg_ok "Already up to date" + fi + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}${IP}:9987${CL}" diff --git a/frontend/public/json/teamspeak-server.json b/frontend/public/json/teamspeak-server.json new file mode 100644 index 000000000..dea334571 --- /dev/null +++ b/frontend/public/json/teamspeak-server.json @@ -0,0 +1,39 @@ +{ + "name": "Teamspeak Server", + "slug": "teamspeak-server", + "categories": [ + 24 + ], + "date_created": "2025-07-21", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 9987, + "documentation": "https://support.teamspeak.com/hc/en-us/categories/360000302017-TeamSpeak-3", + "website": "https://teamspeak.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/teamspeak-light.svg", + "config_path": "", + "description": "TeamSpeak is a voice‑over‑IP (VoIP) application, primarily used by gamers and teams to chat in real‑time on dedicated servers. It delivers crystal‑clear, low‑latency voice communication.""install_methods": [ + { + "type": "default", + "script": "ct/teamspeak-server.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 2, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Use `journalctl -u teamspeak-server.service` inside LXC console to check for admin credentials!", + "type": "info" + } + ] +} diff --git a/install/teamspeak-server-install.sh b/install/teamspeak-server-install.sh new file mode 100644 index 000000000..bd280765f --- /dev/null +++ b/install/teamspeak-server-install.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: tremor021 (Slaviša Arežina) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://teamspeak.com/en/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | grep -oP 'teamspeak3-server_linux_amd64-\K[0-9]+\.[0-9]+\.[0-9]+' | head -1) + +msg_info "Setting up Teamspeak Server" +curl -fsSL "https://files.teamspeak-services.com/releases/server/${RELEASE}/teamspeak3-server_linux_amd64-${RELEASE}.tar.bz2" -o ts3server.tar.bz2 +tar -xf ./ts3server.tar.bz2 +mv teamspeak3-server_linux_amd64/ /opt/teamspeak-server/ +touch /opt/teamspeak-server/.ts3server_license_accepted +echo "${RELEASE}" >~/.teamspeak-server +msg_ok "Setup Teamspeak Server" + +msg_info "Creating service" +cat </etc/systemd/system/teamspeak-server.service +[Unit] +Description=TeamSpeak3 Server +Wants=network-online.target +After=network.target + +[Service] +WorkingDirectory=/opt/teamspeak-server +User=root +Type=forking +ExecStart=/opt/teamspeak-server/ts3server_startscript.sh start +ExecStop=/opt/teamspeak-server/ts3server_startscript.sh stop +ExecReload=/opt/teamspeak-server/ts3server_startscript.sh restart +Restart=always +RestartSec=15 + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now teamspeak-server +msg_ok "Created service" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -f ~/ts3server.tar.bz* +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 901837b4ae5221b6c7f2f5511fa28f56ed2651e6 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 16:45:20 +0000 Subject: [PATCH 006/117] Update CHANGELOG.md (#6122) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 991382152..0dc24b709 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-21 +### 🆕 New Scripts + + - Teamspeak-Server ([#6121](https://github.com/community-scripts/ProxmoxVE/pull/6121)) + ### 🚀 Updated Scripts - #### 🐞 Bug Fixes From 85595871df3bf53932638f000972c05558e8d9b8 Mon Sep 17 00:00:00 2001 From: Luke Hamburg <1992842+luckman212@users.noreply.github.com> Date: Mon, 21 Jul 2025 12:47:03 -0400 Subject: [PATCH 007/117] alternate fix for #6087 (#6098) --- tools/pve/post-pve-install.sh | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/tools/pve/post-pve-install.sh b/tools/pve/post-pve-install.sh index 79a5f8092..8f971826d 100644 --- a/tools/pve/post-pve-install.sh +++ b/tools/pve/post-pve-install.sh @@ -133,24 +133,23 @@ EOF ;; esac - if [[ ! -f /etc/apt/apt.conf.d/no-nag-script ]]; then - CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUBSCRIPTION NAG" --menu "This will disable the nag message reminding you to purchase a subscription every time you log in to the web interface.\n \nDisable subscription nag?" 14 58 2 \ - "yes" " " \ - "no" " " 3>&2 2>&1 1>&3) - case $CHOICE in - yes) - whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 - msg_info "Disabling subscription nag" - echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit 2>/dev/null && [ -f /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js ] && echo 'Removing subscription nag from UI...' && sed -i '/data\.status/{s/\!/=/;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js\"; };" >/etc/apt/apt.conf.d/no-nag-script - apt --reinstall install proxmox-widget-toolkit &>/dev/null - msg_ok "Disabled subscription nag (Delete browser cache)" - ;; - no) - whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 - msg_error "Selected no to Disabling subscription nag" - ;; - esac - fi + CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUBSCRIPTION NAG" --menu "This will disable the nag message reminding you to purchase a subscription every time you log in to the web interface.\n \nDisable subscription nag?" 14 58 2 \ + "yes" " " \ + "no" " " 3>&2 2>&1 1>&3) + case $CHOICE in + yes) + whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 + msg_info "Disabling subscription nag" + echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit 2>/dev/null && [ -f /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js ] && echo 'Removing subscription nag from UI...' && sed -i '/data\.status/{s/\!/=/;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js\"; };" >/etc/apt/apt.conf.d/no-nag-script + msg_ok "Disabled subscription nag (Delete browser cache)" + ;; + no) + whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 + msg_error "Selected no to Disabling subscription nag" + rm /etc/apt/apt.conf.d/no-nag-script 2>/dev/null + ;; + esac + apt --reinstall install proxmox-widget-toolkit &>/dev/null if ! systemctl is-active --quiet pve-ha-lrm; then CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "HIGH AVAILABILITY" --menu "Enable high availability?" 10 58 2 \ From 5a3855566b347a2ad0ae410ed1c69bfac16f975b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 16:47:29 +0000 Subject: [PATCH 008/117] Update CHANGELOG.md (#6123) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0dc24b709..b0fd38242 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts + - pve-post-installer: remove Nag-File if already exist [@luckman212](https://github.com/luckman212) ([#6098](https://github.com/community-scripts/ProxmoxVE/pull/6098)) + - #### 🐞 Bug Fixes - nginxproxymanager: remove injected footer link (tteck) [@MickLesk](https://github.com/MickLesk) ([#6117](https://github.com/community-scripts/ProxmoxVE/pull/6117)) From 7b93eed34a8f1b3cd2092dfbe450ca77087be034 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 21 Jul 2025 19:09:15 +0200 Subject: [PATCH 009/117] Delete frontend/public/json/teamspeak-server.json --- frontend/public/json/teamspeak-server.json | 39 ---------------------- 1 file changed, 39 deletions(-) delete mode 100644 frontend/public/json/teamspeak-server.json diff --git a/frontend/public/json/teamspeak-server.json b/frontend/public/json/teamspeak-server.json deleted file mode 100644 index dea334571..000000000 --- a/frontend/public/json/teamspeak-server.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "Teamspeak Server", - "slug": "teamspeak-server", - "categories": [ - 24 - ], - "date_created": "2025-07-21", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 9987, - "documentation": "https://support.teamspeak.com/hc/en-us/categories/360000302017-TeamSpeak-3", - "website": "https://teamspeak.com/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/svg/teamspeak-light.svg", - "config_path": "", - "description": "TeamSpeak is a voice‑over‑IP (VoIP) application, primarily used by gamers and teams to chat in real‑time on dedicated servers. It delivers crystal‑clear, low‑latency voice communication.""install_methods": [ - { - "type": "default", - "script": "ct/teamspeak-server.sh", - "resources": { - "cpu": 1, - "ram": 512, - "hdd": 2, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "Use `journalctl -u teamspeak-server.service` inside LXC console to check for admin credentials!", - "type": "info" - } - ] -} From e194a36301263eddac912b0649f04d69082df197 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 21 Jul 2025 19:17:39 +0200 Subject: [PATCH 010/117] readd teamspeak-json (#6127) --- frontend/public/json/teamspeak-server.json | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 frontend/public/json/teamspeak-server.json diff --git a/frontend/public/json/teamspeak-server.json b/frontend/public/json/teamspeak-server.json new file mode 100644 index 000000000..30e891389 --- /dev/null +++ b/frontend/public/json/teamspeak-server.json @@ -0,0 +1,40 @@ +{ + "name": "Teamspeak-Server", + "slug": "teamspeak-server", + "categories": [ + 24 + ], + "date_created": "2025-07-21", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 9987, + "documentation": "https://support.teamspeak.com/hc/en-us/categories/360000302017-TeamSpeak-3", + "website": "https://teamspeak.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/teamspeak-light.webp", + "config_path": "", + "description": "TeamSpeak is a voice over IP (VoIP) application, primarily used by gamers and teams to chat in real time on dedicated servers. It delivers crystal‑clear, low‑latency voice communication.", + "install_methods": [ + { + "type": "default", + "script": "ct/teamspeak-server.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 2, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Use `journalctl -u teamspeak-server.service` inside LXC console to check for admin credentials!", + "type": "info" + } + ] +} From 202eed7c134a369bf9c9709f9e37959ae8204345 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 21 Jul 2025 20:22:31 +0200 Subject: [PATCH 011/117] firefly: fix permissions at update (#6119) --- ct/firefly.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ct/firefly.sh b/ct/firefly.sh index 61e39f162..f6a3a4231 100644 --- a/ct/firefly.sh +++ b/ct/firefly.sh @@ -46,9 +46,13 @@ function update_script() { rm -rf /opt/firefly/storage cp /opt/.env /opt/firefly/.env cp -r /opt/storage /opt/firefly/storage - cd /opt/firefly + chown -R www-data:www-data /opt/firefly - chmod -R 775 /opt/firefly/storage + find /opt/firefly/storage -type d -exec chmod 775 {} \; + find /opt/firefly/storage -type f -exec chmod 664 {} \; + mkdir -p /opt/firefly/storage/framework/{cache/data,sessions,views} + $STD sudo -u www-data php /opt/firefly/artisan cache:clear + $STD php artisan migrate --seed --force $STD php artisan cache:clear $STD php artisan view:clear From ae84b7d281ec85b67340ca40d74804bc98448684 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 18:22:53 +0000 Subject: [PATCH 012/117] Update CHANGELOG.md (#6128) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b0fd38242..796489f17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - firefly: fix permissions at update [@MickLesk](https://github.com/MickLesk) ([#6119](https://github.com/community-scripts/ProxmoxVE/pull/6119)) - nginxproxymanager: remove injected footer link (tteck) [@MickLesk](https://github.com/MickLesk) ([#6117](https://github.com/community-scripts/ProxmoxVE/pull/6117)) ## 2025-07-20 From 30ca65e1d58927059cbef15784edbfbb3a6cfae2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 02:13:47 +0200 Subject: [PATCH 013/117] Update versions.json (#6130) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 154 ++++++++++++++--------------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index a15fc3b50..a61bbdf3b 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,9 +1,84 @@ [ + { + "name": "MediaBrowser/Emby.Releases", + "version": "4.9.1.2", + "date": "2025-06-26T22:08:00Z" + }, + { + "name": "advplyr/audiobookshelf", + "version": "v2.26.2", + "date": "2025-07-21T22:47:38Z" + }, + { + "name": "ellite/Wallos", + "version": "v4.0.0", + "date": "2025-07-21T21:05:02Z" + }, + { + "name": "gtsteffaniak/filebrowser", + "version": "v0.7.16-beta", + "date": "2025-07-21T20:58:02Z" + }, + { + "name": "autobrr/autobrr", + "version": "v1.64.0", + "date": "2025-07-21T20:56:33Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.4.0p8", + "date": "2025-07-21T19:25:40Z" + }, + { + "name": "mongodb/mongo", + "version": "r8.2.0-rc0", + "date": "2025-07-21T19:07:52Z" + }, + { + "name": "fallenbagel/jellyseerr", + "version": "v2.7.2", + "date": "2025-07-21T18:19:05Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.24.5", + "date": "2025-07-21T17:04:25Z" + }, + { + "name": "HabitRPG/habitica", + "version": "v5.37.2", + "date": "2025-07-21T14:08:35Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.102.4", + "date": "2025-07-17T11:27:58Z" + }, + { + "name": "tobychui/zoraxy", + "version": "v3.2.5r2", + "date": "2025-07-21T12:52:26Z" + }, + { + "name": "mealie-recipes/mealie", + "version": "v3.0.2", + "date": "2025-07-21T12:33:19Z" + }, + { + "name": "bluenviron/mediamtx", + "version": "v1.13.1", + "date": "2025-07-21T11:57:03Z" + }, { "name": "VictoriaMetrics/VictoriaMetrics", "version": "pmm-6401-v1.122.0", "date": "2025-07-21T10:40:07Z" }, + { + "name": "zabbix/zabbix", + "version": "7.0.17rc2", + "date": "2025-07-21T10:37:33Z" + }, { "name": "linuxserver/Heimdall", "version": "v2.7.1", @@ -54,21 +129,11 @@ "version": "v3.6.2", "date": "2025-07-17T12:08:03Z" }, - { - "name": "fallenbagel/jellyseerr", - "version": "preview-seerr", - "date": "2025-07-20T22:47:08Z" - }, { "name": "Dolibarr/dolibarr", "version": "21.0.2", "date": "2025-07-20T17:02:07Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.24.4", - "date": "2025-07-20T16:35:14Z" - }, { "name": "fuma-nama/fumadocs", "version": "fumadocs-openapi@9.1.4", @@ -94,11 +159,6 @@ "version": "v2.16.0-beta1", "date": "2025-07-20T09:43:36Z" }, - { - "name": "tobychui/zoraxy", - "version": "v3.2.5", - "date": "2025-07-20T07:28:22Z" - }, { "name": "documenso/documenso", "version": "v1.12.2-rc.2", @@ -124,16 +184,6 @@ "version": "3.1.5", "date": "2025-07-19T21:50:47Z" }, - { - "name": "gtsteffaniak/filebrowser", - "version": "v0.7.15-beta", - "date": "2025-07-19T20:57:34Z" - }, - { - "name": "ellite/Wallos", - "version": "v3.3.1", - "date": "2025-07-19T20:51:00Z" - }, { "name": "pelican-dev/panel", "version": "v1.0.0-beta23", @@ -144,11 +194,6 @@ "version": "v1.0.0-beta15", "date": "2025-07-19T19:46:52Z" }, - { - "name": "MediaBrowser/Emby.Releases", - "version": "4.9.1.2", - "date": "2025-06-26T22:08:00Z" - }, { "name": "open-webui/open-webui", "version": "v0.6.18", @@ -211,13 +256,8 @@ }, { "name": "wazuh/wazuh", - "version": "coverity-w29-4.13.0", - "date": "2025-07-16T12:35:22Z" - }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.102.4", - "date": "2025-07-17T11:27:58Z" + "version": "coverity-w30-4.13.0", + "date": "2025-07-18T12:05:26Z" }, { "name": "emqx/emqx", @@ -259,11 +299,6 @@ "version": "v0.9.83", "date": "2025-07-17T17:48:01Z" }, - { - "name": "mongodb/mongo", - "version": "r8.0.12", - "date": "2025-07-17T17:43:01Z" - }, { "name": "wavelog/wavelog", "version": "2.0.7", @@ -284,11 +319,6 @@ "version": "v0.22.0", "date": "2025-07-17T06:35:43Z" }, - { - "name": "advplyr/audiobookshelf", - "version": "v2.26.1", - "date": "2025-07-16T22:48:43Z" - }, { "name": "plexguide/Huntarr.io", "version": "8.1.15", @@ -309,11 +339,6 @@ "version": "v1.27.1", "date": "2025-07-16T13:29:00Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.4.0p8-rc2", - "date": "2025-07-16T13:21:20Z" - }, { "name": "glpi-project/glpi", "version": "10.0.19", @@ -359,11 +384,6 @@ "version": "v1.134.0", "date": "2025-07-15T13:43:39Z" }, - { - "name": "zabbix/zabbix", - "version": "7.2.11rc1", - "date": "2025-07-15T11:47:53Z" - }, { "name": "dgtlmoon/changedetection.io", "version": "0.50.7", @@ -414,11 +434,6 @@ "version": "v1.11.0", "date": "2025-07-13T19:22:47Z" }, - { - "name": "mealie-recipes/mealie", - "version": "v3.0.1", - "date": "2025-07-13T14:40:57Z" - }, { "name": "mayswind/AriaNg", "version": "1.3.11", @@ -604,11 +619,6 @@ "version": "0.23.1", "date": "2025-07-06T23:57:52Z" }, - { - "name": "bluenviron/mediamtx", - "version": "v1.13.0", - "date": "2025-07-06T19:23:55Z" - }, { "name": "syncthing/syncthing", "version": "v1.30.0", @@ -704,11 +714,6 @@ "version": "2025.4", "date": "2025-07-01T18:01:37Z" }, - { - "name": "HabitRPG/habitica", - "version": "v5.37.1", - "date": "2025-07-01T16:57:43Z" - }, { "name": "navidrome/navidrome", "version": "v0.57.0", @@ -889,11 +894,6 @@ "version": "v3.3.25", "date": "2025-06-14T02:52:44Z" }, - { - "name": "autobrr/autobrr", - "version": "v1.63.1", - "date": "2025-06-11T11:05:42Z" - }, { "name": "OctoPrint/OctoPrint", "version": "1.11.2", From d7668531e790d4c6aea4e93390577b36da94104f Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Tue, 22 Jul 2025 08:48:29 +0200 Subject: [PATCH 014/117] wallos: add cron in installer for yearly cost (#6133) * wallos: fix: yearly cost * Update wallos.sh * Update wallos.sh --------- Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> --- ct/wallos.sh | 3 +++ install/wallos-install.sh | 1 + 2 files changed, 4 insertions(+) diff --git a/ct/wallos.sh b/ct/wallos.sh index 2b5487dee..57fb27f21 100644 --- a/ct/wallos.sh +++ b/ct/wallos.sh @@ -41,6 +41,9 @@ function update_script() { rm -rf /opt/wallos/db/wallos.empty.db mv /opt/wallos.db /opt/wallos/db/wallos.db mv /opt/logos/* /opt/wallos/images/uploads/logos + if ! grep -q "storetotalyearlycost.php" /opt/wallos.cron; then + echo "30 1 * * 1 php /opt/wallos/endpoints/cronjobs/storetotalyearlycost.php >> /var/log/cron/storetotalyearlycost.log 2>&1" >> /opt/wallos.cron + fi chown -R www-data:www-data /opt/wallos chmod -R 755 /opt/wallos mkdir -p /var/log/cron diff --git a/install/wallos-install.sh b/install/wallos-install.sh index 5d40739a7..19b8aa82a 100644 --- a/install/wallos-install.sh +++ b/install/wallos-install.sh @@ -64,6 +64,7 @@ cat </opt/wallos.cron */2 * * * * php /opt/wallos/endpoints/cronjobs/sendverificationemails.php >> /var/log/cron/sendverificationemail.log 2>&1 */2 * * * * php /opt/wallos/endpoints/cronjobs/sendresetpasswordemails.php >> /var/log/cron/sendresetpasswordemails.log 2>&1 0 */6 * * * php /opt/wallos/endpoints/cronjobs/checkforupdates.php >> /var/log/cron/checkforupdates.log 2>&1 +30 1 * * 1 php /opt/wallos/endpoints/cronjobs/storetotalyearlycost.php >> /var/log/cron/storetotalyearlycost.log 2>&1 EOF crontab /opt/wallos.cron msg_ok "Crontabs setup" From a638dc86725626b8b5c1cce551aabef02aeeed19 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 06:48:54 +0000 Subject: [PATCH 015/117] Update CHANGELOG.md (#6135) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 796489f17..6d51ca6ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,14 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-07-22 + +### 🚀 Updated Scripts + + - #### ✨ New Features + + - wallos: add cron in installer for yearly cost [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6133](https://github.com/community-scripts/ProxmoxVE/pull/6133)) + ## 2025-07-21 ### 🆕 New Scripts From 003fc3c080f41870b3db2280d1cea3d49c7a4371 Mon Sep 17 00:00:00 2001 From: Jehu Marcos Herrera Puentes <58377032+JMarcosHP@users.noreply.github.com> Date: Tue, 22 Jul 2025 02:37:54 -0600 Subject: [PATCH 016/117] fix(nginxproxymanager.sh): Set the version number before build. (#6139) Signed-off-by: JMarcosHP --- ct/nginxproxymanager.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ct/nginxproxymanager.sh b/ct/nginxproxymanager.sh index 2508b5f9a..06fb2cefa 100644 --- a/ct/nginxproxymanager.sh +++ b/ct/nginxproxymanager.sh @@ -46,6 +46,8 @@ function update_script() { msg_info "Building Frontend" ( + sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json + sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json cd ./frontend || exit $STD pnpm install $STD pnpm upgrade @@ -72,8 +74,6 @@ function update_script() { ln -sf /usr/bin/certbot /opt/certbot/bin/certbot ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx ln -sf /usr/local/openresty/nginx/ /etc/nginx - sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json - sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf NGINX_CONFS=$(find "$(pwd)" -type f -name "*.conf") for NGINX_CONF in $NGINX_CONFS; do From 42af89dd2d25e4a14572c899903b1ba6dd6abc99 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 08:38:15 +0000 Subject: [PATCH 017/117] Update CHANGELOG.md (#6140) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d51ca6ef..a5303ff44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts + - #### 🐞 Bug Fixes + + - fix(nginxproxymanager.sh): Set the version number before build. [@JMarcosHP](https://github.com/JMarcosHP) ([#6139](https://github.com/community-scripts/ProxmoxVE/pull/6139)) + - #### ✨ New Features - wallos: add cron in installer for yearly cost [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6133](https://github.com/community-scripts/ProxmoxVE/pull/6133)) From d552fb86c1018fd9ad1633171fedba17122781cc Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 12:17:35 +0200 Subject: [PATCH 018/117] LinkStack (#6137) * 'Add new script' * Update linkstack.sh * Update linkstack.json * Update linkstack.sh --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> --- ct/headers/linkstack | 6 ++++ ct/linkstack.sh | 43 ++++++++++++++++++++++++++ frontend/public/json/linkstack.json | 44 ++++++++++++++++++++++++++ install/linkstack-install.sh | 48 +++++++++++++++++++++++++++++ 4 files changed, 141 insertions(+) create mode 100644 ct/headers/linkstack create mode 100644 ct/linkstack.sh create mode 100644 frontend/public/json/linkstack.json create mode 100644 install/linkstack-install.sh diff --git a/ct/headers/linkstack b/ct/headers/linkstack new file mode 100644 index 000000000..c3413d299 --- /dev/null +++ b/ct/headers/linkstack @@ -0,0 +1,6 @@ + __ _ __ _____ __ __ + / / (_)___ / /__/ ___// /_____ ______/ /__ + / / / / __ \/ //_/\__ \/ __/ __ `/ ___/ //_/ + / /___/ / / / / ,< ___/ / /_/ /_/ / /__/ ,< +/_____/_/_/ /_/_/|_|/____/\__/\__,_/\___/_/|_| + diff --git a/ct/linkstack.sh b/ct/linkstack.sh new file mode 100644 index 000000000..f2a7972a8 --- /dev/null +++ b/ct/linkstack.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Omar Minaya | MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://linkstack.org/ + +APP="LinkStack" +var_tags="${var_tags:-os}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-1024}" +var_disk="${var_disk:-5}" +var_os="${var_os:-debian}" +var_version="${var_version:-12}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -f ~/.linkstack ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + PHP_VERSION="8.3" PHP_MODULE="sqlite3" PHP_APACHE="YES" setup_php + msg_warn "LinkStack should be updated via the user interface." + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/frontend/public/json/linkstack.json b/frontend/public/json/linkstack.json new file mode 100644 index 000000000..ae369b644 --- /dev/null +++ b/frontend/public/json/linkstack.json @@ -0,0 +1,44 @@ +{ + "name": "LinkStack", + "slug": "linkstack", + "categories": [ + 9 + ], + "date_created": "2025-07-22", + "type": "ct", + "updateable": true, + "privileged": false, + "config_path": "/var/www/html/linkstack/.env", + "interface_port": 80, + "documentation": "https://docs.linkstack.org/", + "website": "https://linkstack.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/linkstack.webp", + "description": "LinkStack is an open-source, self-hosted alternative to Linktree, allowing users to create a customizable profile page to share multiple links, hosted on their own server.", + "install_methods": [ + { + "type": "default", + "script": "ct/linkstack.sh", + "resources": { + "cpu": 1, + "ram": 1024, + "hdd": 5, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "LinkStack can be updated via the user interface.", + "type": "info" + }, + { + "text": "Complete setup via the web interface at http:///. Check installation logs: `cat ~/linkstack-install.log`", + "type": "info" + } + ] +} diff --git a/install/linkstack-install.sh b/install/linkstack-install.sh new file mode 100644 index 000000000..95105bbf8 --- /dev/null +++ b/install/linkstack-install.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Omar Minaya | MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://linkstack.org/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +PHP_VERSION="8.3" PHP_MODULE="sqlite3" PHP_APACHE="YES" setup_php +fetch_and_deploy_gh_release "linkstack" "linkstackorg/linkstack" "prebuild" "latest" "/var/www/html/linkstack" "linkstack.zip" + +msg_info "Configuring LinkStack" +$STD a2enmod rewrite +chown -R www-data:www-data /var/www/html/linkstack +chmod -R 755 /var/www/html/linkstack + +cat </etc/apache2/sites-available/linkstack.conf + + ServerAdmin webmaster@localhost + DocumentRoot /var/www/html/linkstack + ErrorLog /var/log/apache2/linkstack-error.log + CustomLog /var/log/apache2/linkstack-access.log combined + + Options Indexes FollowSymLinks + AllowOverride All + Require all granted + + +EOF +$STD a2dissite 000-default.conf +$STD a2ensite linkstack.conf +$STD systemctl restart apache2 +msg_ok "Configured LinkStack" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 5c0cffce6fd16761c6899182763d8b3047cea107 Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Tue, 22 Jul 2025 12:17:53 +0200 Subject: [PATCH 019/117] gitea-mirror: add: migration to 3.0 (#6138) --- ct/gitea-mirror.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/ct/gitea-mirror.sh b/ct/gitea-mirror.sh index 3866514ca..7459895e8 100644 --- a/ct/gitea-mirror.sh +++ b/ct/gitea-mirror.sh @@ -28,6 +28,26 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + + APP_VERSION=$(grep -o '"version": *"[^"]*"' /opt/gitea-mirror/package.json | cut -d'"' -f4) + if [[ $APP_VERSION =~ ^2\. ]]; then + if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️ VERSION 2.x DETECTED" --yesno \ + "WARNING: Version $APP_VERSION detected!\n\nUpdating from version 2.x will CLEAR ALL CONFIGURATION.\n\nThis includes:\n• API tokens\n• User settings\n• Repository configurations\n• All custom settings\n\nDo you want to continue with the update process?" 15 70 --defaultno + then + exit 0 + fi + + if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️ FINAL CONFIRMATION" --yesno \ + "FINAL WARNING: This update WILL clear all configuration!\n\nBEFORE PROCEEDING, please:\n\n• Copy API tokens to a safe location\n• Backup any custom configurations\n• Note down repository settings\n\nThis action CANNOT be undone!" 18 70 --defaultno + then + whiptail --backtitle "Gitea Mirror Update" --title "Update Cancelled" --msgbox "Update process cancelled. Please backup your configuration before proceeding." 8 60 + exit 0 + fi + whiptail --backtitle "Gitea Mirror Update" --title "Proceeding with Update" --msgbox \ + "Proceeding with version $APP_VERSION update.\n\nAll configuration will be cleared as warned." 8 50 + rm -rf /opt/gitea-mirror + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/RayLabsHQ/gitea-mirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ "${RELEASE}" != "$(cat ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then From 040a15aa3ebb65005faebedbb8251290ae75c1ba Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 10:17:58 +0000 Subject: [PATCH 020/117] Update CHANGELOG.md (#6143) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a5303ff44..f166a1439 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-22 +### 🆕 New Scripts + + - LinkStack ([#6137](https://github.com/community-scripts/ProxmoxVE/pull/6137)) + ### 🚀 Updated Scripts - #### 🐞 Bug Fixes From bce076161ec086b6ae3550f168507c21e4eea009 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 10:18:15 +0000 Subject: [PATCH 021/117] Update CHANGELOG.md (#6144) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f166a1439..41893dcb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - wallos: add cron in installer for yearly cost [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6133](https://github.com/community-scripts/ProxmoxVE/pull/6133)) + - #### 💥 Breaking Changes + + - gitea-mirror: add: migration to 3.0 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6138](https://github.com/community-scripts/ProxmoxVE/pull/6138)) + ## 2025-07-21 ### 🆕 New Scripts From 2848cf6d6b4540b27bda5d618fdeaf442f228ae6 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 22 Jul 2025 13:14:09 +0200 Subject: [PATCH 022/117] [core]: tools.func: increase setup_php function (#6141) * tools.func: increase setup_php function * better verbose output --- misc/tools.func | 81 ++++++++++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 34 deletions(-) diff --git a/misc/tools.func b/misc/tools.func index ea8dfd43f..7f576c814 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -396,9 +396,10 @@ function setup_php() { COMBINED_MODULES="${DEFAULT_MODULES}" fi - # Deduplicate modules + # Deduplicate COMBINED_MODULES=$(echo "$COMBINED_MODULES" | tr ',' '\n' | awk '!seen[$0]++' | paste -sd, -) + # Get current PHP-CLI version local CURRENT_PHP="" if command -v php >/dev/null 2>&1; then CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2) @@ -420,53 +421,43 @@ function setup_php() { $STD apt-get update fi + # Build module list local MODULE_LIST="php${PHP_VERSION}" - for pkg in $MODULE_LIST; do - if ! apt-cache show "$pkg" >/dev/null 2>&1; then - msg_error "Package not found: $pkg" - exit 1 - fi - done - 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}" >/dev/null 2>&1; then + MODULE_LIST+=" php${PHP_VERSION}-${mod}" + else + msg_warn "PHP-Module ${mod} for PHP ${PHP_VERSION} not found – skipping" + fi done - if [[ "$PHP_FPM" == "YES" ]]; then MODULE_LIST+=" php${PHP_VERSION}-fpm" fi + + # install apache2 with PHP support if requested if [[ "$PHP_APACHE" == "YES" ]]; then - $STD apt-get install -y apache2 libapache2-mod-php${PHP_VERSION} - $STD systemctl restart apache2 || true - fi - - if [[ "$PHP_APACHE" == "YES" ]] && [[ -n "$CURRENT_PHP" ]]; then - if [[ -f /etc/apache2/mods-enabled/php${CURRENT_PHP}.load ]]; then - $STD a2dismod php${CURRENT_PHP} || true + if ! dpkg -l | grep -q "libapache2-mod-php${PHP_VERSION}"; then + $STD msg_info "Installing Apache with PHP${PHP_VERSION} support" + $STD apt-get install -y apache2 libapache2-mod-php"${PHP_VERSION}" + $STD msg_ok "Setup Apache with PHP${PHP_VERSION}" fi - $STD a2enmod php${PHP_VERSION} - $STD systemctl restart apache2 || true fi - if [[ "$PHP_FPM" == "YES" ]] && [[ -n "$CURRENT_PHP" ]]; then - $STD systemctl stop php${CURRENT_PHP}-fpm || true - $STD systemctl disable php${CURRENT_PHP}-fpm || true - fi - - $STD apt-get install -y $MODULE_LIST + # setup / update PHP modules + $STD apt-get install -y "$MODULE_LIST" msg_ok "Setup PHP $PHP_VERSION" - if [[ "$PHP_FPM" == "YES" ]]; then - $STD systemctl enable php${PHP_VERSION}-fpm - $STD systemctl restart php${PHP_VERSION}-fpm + # optional stop old PHP-FPM service + if [[ "$PHP_FPM" == "YES" && -n "$CURRENT_PHP" && "$CURRENT_PHP" != "$PHP_VERSION" ]]; then + $STD systemctl stop php"${CURRENT_PHP}"-fpm || true + $STD systemctl disable php"${CURRENT_PHP}"-fpm || true fi # Patch all relevant php.ini files local PHP_INI_PATHS=("/etc/php/${PHP_VERSION}/cli/php.ini") [[ "$PHP_FPM" == "YES" ]] && PHP_INI_PATHS+=("/etc/php/${PHP_VERSION}/fpm/php.ini") [[ "$PHP_APACHE" == "YES" ]] && PHP_INI_PATHS+=("/etc/php/${PHP_VERSION}/apache2/php.ini") - for ini in "${PHP_INI_PATHS[@]}"; do if [[ -f "$ini" ]]; then $STD msg_info "Patching $ini" @@ -477,6 +468,28 @@ function setup_php() { $STD msg_ok "Patched $ini" fi done + + # patch Apache configuration if needed + if [[ "$PHP_APACHE" == "YES" ]]; then + for mod in $(ls /etc/apache2/mods-enabled/ 2>/dev/null | grep -E '^php[0-9]\.[0-9]\.conf$' | sed 's/\.conf//'); do + if [[ "$mod" != "php${PHP_VERSION}" ]]; then + $STD a2dismod "$mod" || true + fi + done + $STD a2enmod mpm_prefork + $STD a2enmod "php${PHP_VERSION}" + $STD systemctl restart apache2 || true + fi + + # enable and restart PHP-FPM if requested + if [[ "$PHP_FPM" == "YES" ]]; then + if systemctl list-unit-files | grep -q "php${PHP_VERSION}-fpm.service"; then + $STD systemctl enable php"${PHP_VERSION}"-fpm + $STD systemctl restart php"${PHP_VERSION}"-fpm + else + msg_warn "FPM requested but service php${PHP_VERSION}-fpm not found" + fi + fi } # ------------------------------------------------------------------------------ @@ -794,7 +807,7 @@ function fetch_and_deploy_gh_release() { local max_retries=3 retry_delay=2 attempt=1 success=false resp http_code while ((attempt <= max_retries)); do - resp=$(curl $api_timeout -fsSL -w "%{http_code}" -o /tmp/gh_rel.json "${header[@]}" "$api_url") && success=true && break + resp=$(curl "$api_timeout" -fsSL -w "%{http_code}" -o /tmp/gh_rel.json "${header[@]}" "$api_url") && success=true && break sleep "$retry_delay" ((attempt++)) done @@ -832,7 +845,7 @@ function fetch_and_deploy_gh_release() { [[ -z "$url" ]] && url="https://github.com/$repo/archive/refs/tags/v$version.tar.gz" filename="${app_lc}-${version}.tar.gz" - curl $download_timeout -fsSL -o "$tmpdir/$filename" "$url" || { + curl "$download_timeout" -fsSL -o "$tmpdir/$filename" "$url" || { msg_error "Download failed: $url" rm -rf "$tmpdir" return 1 @@ -888,7 +901,7 @@ function fetch_and_deploy_gh_release() { fi filename="${url_match##*/}" - curl $download_timeout -fsSL -o "$tmpdir/$filename" "$url_match" || { + curl "$download_timeout" -fsSL -o "$tmpdir/$filename" "$url_match" || { msg_error "Download failed: $url_match" rm -rf "$tmpdir" return 1 @@ -931,7 +944,7 @@ function fetch_and_deploy_gh_release() { } filename="${asset_url##*/}" - curl $download_timeout -fsSL -o "$tmpdir/$filename" "$asset_url" || { + curl "$download_timeout" -fsSL -o "$tmpdir/$filename" "$asset_url" || { msg_error "Download failed: $asset_url" rm -rf "$tmpdir" return 1 @@ -1007,7 +1020,7 @@ function fetch_and_deploy_gh_release() { local target_file="$app" [[ "$use_filename" == "true" ]] && target_file="$filename" - curl $download_timeout -fsSL -o "$target/$target_file" "$asset_url" || { + curl "$download_timeout" -fsSL -o "$target/$target_file" "$asset_url" || { msg_error "Download failed: $asset_url" rm -rf "$tmpdir" return 1 From 2bede5256f157d1e67e8467b2454a14ce693b757 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 11:14:28 +0000 Subject: [PATCH 023/117] Update CHANGELOG.md (#6145) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 41893dcb0..901178630 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - gitea-mirror: add: migration to 3.0 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6138](https://github.com/community-scripts/ProxmoxVE/pull/6138)) + - #### 🔧 Refactor + + - [core]: tools.func: increase setup_php function [@MickLesk](https://github.com/MickLesk) ([#6141](https://github.com/community-scripts/ProxmoxVE/pull/6141)) + ## 2025-07-21 ### 🆕 New Scripts From 44c584dced25e5ba2d9f60d7cc31402b851ea1f1 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 14:05:29 +0200 Subject: [PATCH 024/117] Update versions.json (#6149) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 96 +++++++++++++++--------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index a61bbdf3b..c9a5843f2 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,44 @@ [ + { + "name": "home-assistant/core", + "version": "2025.7.3", + "date": "2025-07-22T08:30:59Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.3.0p35-rc1", + "date": "2025-07-22T07:29:21Z" + }, + { + "name": "zabbix/zabbix", + "version": "7.2.11", + "date": "2025-07-22T07:05:26Z" + }, + { + "name": "mattermost/mattermost", + "version": "v9.11.18", + "date": "2025-07-22T06:18:08Z" + }, + { + "name": "adityachandelgit/BookLore", + "version": "v0.34.1", + "date": "2025-07-22T05:57:50Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2182", + "date": "2025-07-22T05:55:20Z" + }, + { + "name": "lazy-media/Reactive-Resume", + "version": "v1.2.2", + "date": "2025-07-22T03:12:54Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" + }, { "name": "MediaBrowser/Emby.Releases", "version": "4.9.1.2", @@ -25,9 +65,9 @@ "date": "2025-07-21T20:56:33Z" }, { - "name": "Checkmk/checkmk", - "version": "v2.4.0p8", - "date": "2025-07-21T19:25:40Z" + "name": "keycloak/keycloak", + "version": "26.2.6", + "date": "2025-07-17T11:16:34Z" }, { "name": "mongodb/mongo", @@ -74,11 +114,6 @@ "version": "pmm-6401-v1.122.0", "date": "2025-07-21T10:40:07Z" }, - { - "name": "zabbix/zabbix", - "version": "7.0.17rc2", - "date": "2025-07-21T10:37:33Z" - }, { "name": "linuxserver/Heimdall", "version": "v2.7.1", @@ -99,36 +134,16 @@ "version": "5.0.0", "date": "2025-07-21T07:16:58Z" }, - { - "name": "mattermost/mattermost", - "version": "preview-v0.1", - "date": "2025-06-27T14:35:47Z" - }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2178", - "date": "2025-07-21T05:53:32Z" - }, { "name": "pocket-id/pocket-id", "version": "v1.6.4", "date": "2025-07-21T05:53:30Z" }, - { - "name": "lazy-media/Reactive-Resume", - "version": "1.2.1", - "date": "2025-07-21T03:40:58Z" - }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.21", "date": "2025-07-17T04:46:25Z" }, - { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" - }, { "name": "Dolibarr/dolibarr", "version": "21.0.2", @@ -174,11 +189,6 @@ "version": "v2.11.5", "date": "2025-07-20T03:14:42Z" }, - { - "name": "adityachandelgit/BookLore", - "version": "v0.34.0", - "date": "2025-07-19T22:17:45Z" - }, { "name": "Luligu/matterbridge", "version": "3.1.5", @@ -239,11 +249,6 @@ "version": "v3.42.0", "date": "2025-07-14T22:07:28Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.6", - "date": "2025-07-17T11:16:34Z" - }, { "name": "theonedev/onedev", "version": "v12.0.1", @@ -424,11 +429,6 @@ "version": "v3.5.0", "date": "2025-07-14T16:54:21Z" }, - { - "name": "home-assistant/core", - "version": "2025.7.2", - "date": "2025-07-14T11:29:58Z" - }, { "name": "homebridge/homebridge", "version": "v1.11.0", @@ -569,6 +569,11 @@ "version": "342", "date": "2025-07-09T08:48:21Z" }, + { + "name": "mysql/mysql-server", + "version": "mysql-cluster-9.4.0", + "date": "2025-07-09T08:35:30Z" + }, { "name": "Prowlarr/Prowlarr", "version": "v1.37.0.5076", @@ -1149,11 +1154,6 @@ "version": "v2.2.0", "date": "2025-03-31T21:31:48Z" }, - { - "name": "mysql/mysql-server", - "version": "mysql-cluster-9.3.0", - "date": "2025-03-31T07:42:45Z" - }, { "name": "louislam/dockge", "version": "1.5.0", From ebb7da43c1b080fcd177e5af7a60f250379aad61 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 22 Jul 2025 14:18:34 +0200 Subject: [PATCH 025/117] Update tools.func --- misc/tools.func | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/misc/tools.func b/misc/tools.func index 7f576c814..8c3f55694 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -807,7 +807,7 @@ function fetch_and_deploy_gh_release() { local max_retries=3 retry_delay=2 attempt=1 success=false resp http_code while ((attempt <= max_retries)); do - resp=$(curl "$api_timeout" -fsSL -w "%{http_code}" -o /tmp/gh_rel.json "${header[@]}" "$api_url") && success=true && break + resp=$(curl $api_timeout -fsSL -w "%{http_code}" -o /tmp/gh_rel.json "${header[@]}" "$api_url") && success=true && break sleep "$retry_delay" ((attempt++)) done @@ -845,7 +845,7 @@ function fetch_and_deploy_gh_release() { [[ -z "$url" ]] && url="https://github.com/$repo/archive/refs/tags/v$version.tar.gz" filename="${app_lc}-${version}.tar.gz" - curl "$download_timeout" -fsSL -o "$tmpdir/$filename" "$url" || { + curl $download_timeout -fsSL -o "$tmpdir/$filename" "$url" || { msg_error "Download failed: $url" rm -rf "$tmpdir" return 1 @@ -901,7 +901,7 @@ function fetch_and_deploy_gh_release() { fi filename="${url_match##*/}" - curl "$download_timeout" -fsSL -o "$tmpdir/$filename" "$url_match" || { + curl $download_timeout -fsSL -o "$tmpdir/$filename" "$url_match" || { msg_error "Download failed: $url_match" rm -rf "$tmpdir" return 1 @@ -944,7 +944,7 @@ function fetch_and_deploy_gh_release() { } filename="${asset_url##*/}" - curl "$download_timeout" -fsSL -o "$tmpdir/$filename" "$asset_url" || { + curl $download_timeout -fsSL -o "$tmpdir/$filename" "$asset_url" || { msg_error "Download failed: $asset_url" rm -rf "$tmpdir" return 1 @@ -1020,13 +1020,13 @@ function fetch_and_deploy_gh_release() { local target_file="$app" [[ "$use_filename" == "true" ]] && target_file="$filename" - curl "$download_timeout" -fsSL -o "$target/$target_file" "$asset_url" || { + curl $download_timeout -fsSL -o "$target/$target_file" "$asset_url" || { msg_error "Download failed: $asset_url" rm -rf "$tmpdir" return 1 } - if [[ "$target_file" != *.jar && -f "$target/$target_file" ]]; then + if [[ "$tagrget_file" != *.jar && -f "$target/$target_file" ]]; then chmod +x "$target/$target_file" fi From 84860a98936daf51d4481a9f28f7f27b5f157446 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 22 Jul 2025 14:46:50 +0200 Subject: [PATCH 026/117] [core]: Improved LXC Container Startup Handling (#6142) * [core]: Improved LXC Container Startup Handling * Update build.func --------- Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com> --- misc/build.func | 51 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/misc/build.func b/misc/build.func index f2eedb6f7..7c6d16155 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1201,7 +1201,52 @@ EOF # This starts the container and executes -install.sh msg_info "Starting LXC Container" pct start "$CTID" - msg_ok "Started LXC Container" + + # wait for status 'running' + for i in {1..10}; do + if pct status "$CTID" | grep -q "status: running"; then + msg_ok "Started LXC Container" + break + fi + sleep 1 + if [ "$i" -eq 10 ]; then + msg_error "LXC Container did not reach running state" + exit 1 + fi + done + + if [ "$var_os" != "alpine" ]; then + msg_info "Waiting for network in LXC container" + for i in {1..10}; do + if pct exec "$CTID" -- ping -c1 -W1 deb.debian.org >/dev/null 2>&1; then + msg_ok "Network in LXC is reachable" + break + fi + if [ "$i" -lt 10 ]; then + msg_warn "No network yet in LXC (try $i/10) – waiting..." + sleep 3 + else + msg_error "No network in LXC after waiting." + read -r -p "Set fallback DNS (1.1.1.1/8.8.8.8)? [y/N]: " choice + case "$choice" in + [yY]*) + pct set "$CTID" --nameserver 1.1.1.1 + pct set "$CTID" --nameserver 8.8.8.8 + if pct exec "$CTID" -- ping -c1 -W1 deb.debian.org >/dev/null 2>&1; then + msg_ok "Network reachable after DNS fallback" + else + msg_error "Still no network/DNS in LXC! Aborting customization." + exit 1 + fi + ;; + *) + msg_error "Aborted by user – no DNS fallback set." + exit 1 + ;; + esac + fi + done + fi msg_info "Customizing LXC Container" : "${tz:=Etc/UTC}" @@ -1211,7 +1256,7 @@ EOF http://dl-cdn.alpinelinux.org/alpine/latest-stable/main http://dl-cdn.alpinelinux.org/alpine/latest-stable/community EOF' - pct exec "$CTID" -- ash -c "apk add bash newt curl openssh nano mc ncurses >/dev/null" + pct exec "$CTID" -- ash -c "apk add bash newt curl openssh nano mc ncurses jq >/dev/null" else sleep 3 pct exec "$CTID" -- bash -c "sed -i '/$LANG/ s/^# //' /etc/locale.gen" @@ -1229,7 +1274,7 @@ EOF' msg_warn "Skipping timezone setup – zone '$tz' not found in container" fi - pct exec "$CTID" -- bash -c "apt-get update >/dev/null && apt-get install -y sudo curl mc gnupg2 >/dev/null" + pct exec "$CTID" -- bash -c "apt-get update >/dev/null && apt-get install -y sudo curl mc gnupg2 jq >/dev/null" fi msg_ok "Customized LXC Container" From 2ee826968434020e42a967c8a2b6b3336a26866f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 12:47:13 +0000 Subject: [PATCH 027/117] Update CHANGELOG.md (#6151) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 901178630..00795f85a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### ✨ New Features + - [core]: Improved LXC Container Startup Handling [@MickLesk](https://github.com/MickLesk) ([#6142](https://github.com/community-scripts/ProxmoxVE/pull/6142)) - wallos: add cron in installer for yearly cost [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6133](https://github.com/community-scripts/ProxmoxVE/pull/6133)) - #### 💥 Breaking Changes From b4ec04a54fb30bc5263cd50fb48258b122ea2380 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 15:02:33 +0200 Subject: [PATCH 028/117] Bump form-data from 4.0.3 to 4.0.4 in /frontend (#6150) Bumps [form-data](https://github.com/form-data/form-data) from 4.0.3 to 4.0.4. - [Release notes](https://github.com/form-data/form-data/releases) - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](https://github.com/form-data/form-data/compare/v4.0.3...v4.0.4) --- updated-dependencies: - dependency-name: form-data dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- frontend/package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index d2d681f88..8f543dca7 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -7749,9 +7749,9 @@ } }, "node_modules/form-data": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz", - "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", + "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", "dev": true, "license": "MIT", "dependencies": { From baf7dff7596cc62692fe36336b916efd36db8db4 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 13:03:00 +0000 Subject: [PATCH 029/117] Update CHANGELOG.md (#6153) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 00795f85a..e76f9ee29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - [core]: tools.func: increase setup_php function [@MickLesk](https://github.com/MickLesk) ([#6141](https://github.com/community-scripts/ProxmoxVE/pull/6141)) +### 🌐 Website + + - Bump form-data from 4.0.3 to 4.0.4 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#6150](https://github.com/community-scripts/ProxmoxVE/pull/6150)) + ## 2025-07-21 ### 🆕 New Scripts From 1aab127bdf8e48bc9295abb259b87851ef6b7b35 Mon Sep 17 00:00:00 2001 From: TJ Date: Tue, 22 Jul 2025 14:52:41 +0100 Subject: [PATCH 030/117] Update tools.func - typo (#6156) This was triggered when running the Gitea install script --- misc/tools.func | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/tools.func b/misc/tools.func index 8c3f55694..f6ab05bc8 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -1026,7 +1026,7 @@ function fetch_and_deploy_gh_release() { return 1 } - if [[ "$tagrget_file" != *.jar && -f "$target/$target_file" ]]; then + if [[ "$target_file" != *.jar && -f "$target/$target_file" ]]; then chmod +x "$target/$target_file" fi From ff51b1e5dce4e5683af8cd198421eb42f9e75a15 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 13:53:04 +0000 Subject: [PATCH 031/117] Update CHANGELOG.md (#6157) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e76f9ee29..8da2d688e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts + - tools.func - fix typo for target_file [@tjcomserv](https://github.com/tjcomserv) ([#6156](https://github.com/community-scripts/ProxmoxVE/pull/6156)) + - #### 🐞 Bug Fixes - fix(nginxproxymanager.sh): Set the version number before build. [@JMarcosHP](https://github.com/JMarcosHP) ([#6139](https://github.com/community-scripts/ProxmoxVE/pull/6139)) From 4b3233d6a894277c1d649e0a28bb0c6959d263a3 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 22 Jul 2025 15:55:56 +0200 Subject: [PATCH 032/117] qf: php --- misc/tools.func | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/misc/tools.func b/misc/tools.func index f6ab05bc8..65402fbe4 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -438,14 +438,15 @@ function setup_php() { # install apache2 with PHP support if requested if [[ "$PHP_APACHE" == "YES" ]]; then if ! dpkg -l | grep -q "libapache2-mod-php${PHP_VERSION}"; then - $STD msg_info "Installing Apache with PHP${PHP_VERSION} support" - $STD apt-get install -y apache2 libapache2-mod-php"${PHP_VERSION}" - $STD msg_ok "Setup Apache with PHP${PHP_VERSION}" + msg_info "Installing Apache with PHP${PHP_VERSION} support" + $STD apt-get install -y apache2 libapache2-mod-php${PHP_VERSION} + else + msg_info "Apache with PHP${PHP_VERSION} already installed – skipping install" fi fi # setup / update PHP modules - $STD apt-get install -y "$MODULE_LIST" + $STD apt-get install -y $MODULE_LIST msg_ok "Setup PHP $PHP_VERSION" # optional stop old PHP-FPM service @@ -484,14 +485,13 @@ function setup_php() { # enable and restart PHP-FPM if requested if [[ "$PHP_FPM" == "YES" ]]; then if systemctl list-unit-files | grep -q "php${PHP_VERSION}-fpm.service"; then - $STD systemctl enable php"${PHP_VERSION}"-fpm - $STD systemctl restart php"${PHP_VERSION}"-fpm + $STD systemctl enable php${PHP_VERSION}-fpm + $STD systemctl restart php${PHP_VERSION}-fpm else msg_warn "FPM requested but service php${PHP_VERSION}-fpm not found" fi fi } - # ------------------------------------------------------------------------------ # Installs or updates Composer globally. # From a53daa3559b369beba64308e69615d77a11114d8 Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 15:56:22 +0200 Subject: [PATCH 033/117] Salt (#6116) * 'Add new script' * curl * hdd * logo --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> --- ct/headers/salt | 6 ++++ ct/salt.sh | 50 ++++++++++++++++++++++++++++++++++ frontend/public/json/salt.json | 35 ++++++++++++++++++++++++ install/salt-install.sh | 44 ++++++++++++++++++++++++++++++ 4 files changed, 135 insertions(+) create mode 100644 ct/headers/salt create mode 100644 ct/salt.sh create mode 100644 frontend/public/json/salt.json create mode 100644 install/salt-install.sh diff --git a/ct/headers/salt b/ct/headers/salt new file mode 100644 index 000000000..3b11949de --- /dev/null +++ b/ct/headers/salt @@ -0,0 +1,6 @@ + _____ ____ + / ___/____ _/ / /_ + \__ \/ __ `/ / __/ + ___/ / /_/ / / /_ +/____/\__,_/_/\__/ + diff --git a/ct/salt.sh b/ct/salt.sh new file mode 100644 index 000000000..cfdbb5450 --- /dev/null +++ b/ct/salt.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: bvdberg01 +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/saltstack/salt + +APP="Salt" +var_tags="${var_tags:-automations}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-1024}" +var_disk="${var_disk:-3}" +var_os="${var_os:-debian}" +var_version="${var_version:-12}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -d /etc/salt ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/saltstack/salt/releases/latest | jq -r .tag_name | sed 's/^v//') + if [[ ! -f /~.salt ]] || [[ "${RELEASE}" != "$(cat /~.salt)" ]]; then + msg_info "Updating $APP to ${RELEASE}" + sed -i "s/^\(Pin: version \).*/\1${RELEASE}/" /etc/apt/preferences.d/salt-pin-1001 + $STD apt-get update + $STD apt-get upgrade -y + echo "${RELEASE}" >/~.salt + msg_ok "Updated ${APP} to ${RELEASE}" + else + msg_ok "${APP} is already up to date (${RELEASE})" + fi +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" diff --git a/frontend/public/json/salt.json b/frontend/public/json/salt.json new file mode 100644 index 000000000..68e6afeaa --- /dev/null +++ b/frontend/public/json/salt.json @@ -0,0 +1,35 @@ +{ + "name": "Salt", + "slug": "salt", + "categories": [ + 19 + ], + "date_created": "2025-07-21", + "type": "ct", + "updateable": true, + "privileged": false, + "config_path": "/opt/salt/.env", + "interface_port": 3000, + "documentation": "https://docs.saltproject.io/salt/install-guide/en/latest/", + "website": "https://saltproject.io/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/salt.webp", + "description": "SaltStack Salt is a software for automating the management and configuration of IT infrastructure and applications. It is an event-driven automation tool and framework used to deploy, configure, and manage complex IT systems. Its primary functions include configuration management, where it ensures consistent configurations and manages operating system deployment and software installation. It also automates and orchestrates routine IT processes and can create self-aware, self-healing systems.", + "install_methods": [ + { + "type": "default", + "script": "ct/salt.sh", + "resources": { + "cpu": 1, + "ram": 1024, + "hdd": 3, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/salt-install.sh b/install/salt-install.sh new file mode 100644 index 000000000..4fe29a824 --- /dev/null +++ b/install/salt-install.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: bvdberg01 +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/saltstack/salt + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y jq +msg_ok "Installed Dependencies" + +msg_info "Setup Salt Repo" +mkdir -p /etc/apt/keyrings +curl -fsSL https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public -o /etc/apt/keyrings/salt-archive-keyring.pgp +curl -fsSL https://github.com/saltstack/salt-install-guide/releases/latest/download/salt.sources -o /etc/apt/sources.list.d/salt.sources +$STD apt-get update +msg_ok "Setup Salt Repo" + +msg_info "Installing Salt" +RELEASE=$(curl -fsSL https://api.github.com/repos/saltstack/salt/releases/latest | jq -r .tag_name | sed 's/^v//') +cat </etc/apt/preferences.d/salt-pin-1001 +Package: salt-* +Pin: version ${RELEASE} +Pin-Priority: 1001 +EOF +$STD apt-get install -y salt-master +echo "${RELEASE}" >/~.salt +msg_ok "Installed Salt" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 4159ba3970a66d5605d4a996bbe620de2fdda7ae Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 13:56:45 +0000 Subject: [PATCH 034/117] Update date in json (#6159) Co-authored-by: GitHub Actions --- frontend/public/json/salt.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/salt.json b/frontend/public/json/salt.json index 68e6afeaa..3f056a396 100644 --- a/frontend/public/json/salt.json +++ b/frontend/public/json/salt.json @@ -4,7 +4,7 @@ "categories": [ 19 ], - "date_created": "2025-07-21", + "date_created": "2025-07-22", "type": "ct", "updateable": true, "privileged": false, From 6b74f6247f8ce69bac799fdc073ad2d6ea9b2084 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 13:56:51 +0000 Subject: [PATCH 035/117] Update CHANGELOG.md (#6160) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8da2d688e..b4288c0b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🆕 New Scripts - - LinkStack ([#6137](https://github.com/community-scripts/ProxmoxVE/pull/6137)) + - Salt ([#6116](https://github.com/community-scripts/ProxmoxVE/pull/6116)) +- LinkStack ([#6137](https://github.com/community-scripts/ProxmoxVE/pull/6137)) ### 🚀 Updated Scripts From 0e0c954f0ceda7e52ea30ea63530e85343aacbe7 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 13:57:17 +0000 Subject: [PATCH 036/117] Update CHANGELOG.md (#6161) Co-authored-by: github-actions[bot] From feea82e0ba00f147350ff36a18dde5bd316460d7 Mon Sep 17 00:00:00 2001 From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com> Date: Tue, 22 Jul 2025 16:00:10 +0200 Subject: [PATCH 037/117] Add GitHub Actions workflow to validate JSON files in the frontend directory (#6152) * Add GitHub Actions workflow to validate JSON files in the frontend directory * test new github workflow by invalidating script * Revalidate json script to also test workflow * Refactor GitHub Actions workflow to validate JSON files using Python. * test github workflow * Update description in apache-tomcat.json for clarity and consistency. * Consolidate JSON validation workflow: Migrate test-jsons.yml functionality into frontend-cicd.yml, enhancing CI process by validating JSON files in the public directory with Python. * test to see if workflow fails * test to see if workflow passes * testing * testing to see if workflow runs and works * test again * testing to see if it works --- .github/workflows/frontend-cicd.yml | 81 +++++++++++++++++++++++++++-- 1 file changed, 78 insertions(+), 3 deletions(-) diff --git a/.github/workflows/frontend-cicd.yml b/.github/workflows/frontend-cicd.yml index 3f33b0a99..bf7f56c58 100644 --- a/.github/workflows/frontend-cicd.yml +++ b/.github/workflows/frontend-cicd.yml @@ -24,12 +24,87 @@ concurrency: cancel-in-progress: false jobs: - build: - if: github.repository == 'community-scripts/ProxmoxVE' + test-json-files: runs-on: ubuntu-latest defaults: run: - working-directory: frontend # Set default working directory for all run steps + working-directory: frontend + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: "3.x" + + - name: Test JSON files + run: | + python3 << 'EOF' + import json + import glob + import os + import sys + + def test_json_files(): + # Change to the correct directory + json_dir = "public/json" + if not os.path.exists(json_dir): + print(f"❌ Directory not found: {json_dir}") + return False + + # Find all JSON files + pattern = os.path.join(json_dir, "*.json") + json_files = glob.glob(pattern) + + if not json_files: + print(f"⚠️ No JSON files found in {json_dir}") + return True + + print(f"Testing {len(json_files)} JSON files for valid syntax...") + + invalid_files = [] + + for file_path in json_files: + try: + with open(file_path, 'r', encoding='utf-8') as f: + json.load(f) + print(f"✅ Valid JSON: {file_path}") + except json.JSONDecodeError as e: + print(f"❌ Invalid JSON syntax in: {file_path}") + print(f" Error: {e}") + invalid_files.append(file_path) + except Exception as e: + print(f"⚠️ Error reading: {file_path}") + print(f" Error: {e}") + invalid_files.append(file_path) + + print("\n=== JSON Validation Summary ===") + print(f"Total files tested: {len(json_files)}") + print(f"Valid files: {len(json_files) - len(invalid_files)}") + print(f"Invalid files: {len(invalid_files)}") + + if invalid_files: + print("\n❌ Found invalid JSON file(s):") + for file_path in invalid_files: + print(f" - {file_path}") + return False + else: + print("\n✅ All JSON files have valid syntax!") + return True + + if __name__ == "__main__": + success = test_json_files() + sys.exit(0 if success else 1) + EOF + + build: + if: github.repository == 'community-scripts/ProxmoxVE' + needs: test-json-files + runs-on: ubuntu-latest + defaults: + run: + working-directory: frontend steps: - name: Checkout uses: actions/checkout@v4 From 0f3b95b3ff3b71141fee7f17b0f3300ba1a153dd Mon Sep 17 00:00:00 2001 From: Denis Chernov Date: Tue, 22 Jul 2025 20:09:14 +0300 Subject: [PATCH 038/117] Fixed the previous fix on anti-nag hook, propagated fixed to other ProxMox products and fixed 8.0 compatibility (#6162) --- tools/pve/post-pbs-install.sh | 34 ++++++++++++------------- tools/pve/post-pmg-install.sh | 48 +++++++++++++++++------------------ tools/pve/post-pve-install.sh | 2 +- 3 files changed, 40 insertions(+), 44 deletions(-) diff --git a/tools/pve/post-pbs-install.sh b/tools/pve/post-pbs-install.sh index c564be1c0..4f431f015 100644 --- a/tools/pve/post-pbs-install.sh +++ b/tools/pve/post-pbs-install.sh @@ -113,24 +113,22 @@ EOF ;; esac - if [[ ! -f /etc/apt/apt.conf.d/no-nag-script ]]; then - CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUBSCRIPTION NAG" --menu "This will disable the nag message reminding you to purchase a subscription every time you log in to the web interface.\n \nDisable subscription nag?" 14 58 2 \ - "yes" " " \ - "no" " " 3>&2 2>&1 1>&3) - case $CHOICE in - yes) - whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 - msg_info "Disabling subscription nag" - echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script - apt --reinstall install proxmox-widget-toolkit &>/dev/null - msg_ok "Disabled subscription nag (Delete browser cache)" - ;; - no) - whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 - msg_error "Selected no to Disabling subscription nag" - ;; - esac - fi + CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUBSCRIPTION NAG" --menu "This will disable the nag message reminding you to purchase a subscription every time you log in to the web interface.\n \nDisable subscription nag?" 14 58 2 \ + "yes" " " \ + "no" " " 3>&2 2>&1 1>&3) + case $CHOICE in + yes) + whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 + msg_info "Disabling subscription nag" + echo "DPkg::Post-Invoke { \"if [ -s /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js ] && ! grep -q -F 'NoMoreNagging' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; then echo 'Removing subscription nag from UI...'; sed -i '/data\.status/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; fi\" };" >/etc/apt/apt.conf.d/no-nag-script + msg_ok "Disabled subscription nag (Delete browser cache)" + ;; + no) + whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 + msg_error "Selected no to Disabling subscription nag" + ;; + esac + apt --reinstall install proxmox-widget-toolkit &>/dev/null CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --menu "\nUpdate Proxmox Backup Server now?" 11 58 2 \ "yes" " " \ diff --git a/tools/pve/post-pmg-install.sh b/tools/pve/post-pmg-install.sh index f33657860..baed78487 100644 --- a/tools/pve/post-pmg-install.sh +++ b/tools/pve/post-pmg-install.sh @@ -9,10 +9,10 @@ header_info() { cat <<"EOF" ____ __ _________ ____ __ ____ __ ____ / __ \/ |/ / ____/ / __ \____ _____/ /_ / _/___ _____/ /_____ _/ / / - / /_/ / /|_/ / / __ / /_/ / __ \/ ___/ __/ / // __ \/ ___/ __/ __ `/ / / - / ____/ / / / /_/ / / ____/ /_/ (__ ) /_ _/ // / / (__ ) /_/ /_/ / / / -/_/ /_/ /_/\____/ /_/ \____/____/\__/ /___/_/ /_/____/\__/\__,_/_/_/ - + / /_/ / /|_/ / / __ / /_/ / __ \/ ___/ __/ / // __ \/ ___/ __/ __ `/ / / + / ____/ / / / /_/ / / ____/ /_/ (__ ) /_ _/ // / / (__ ) /_/ /_/ / / / +/_/ /_/ /_/\____/ /_/ \____/____/\__/ /___/_/ /_/____/\__/\__,_/_/_/ + EOF } @@ -112,27 +112,25 @@ EOF ;; esac - if [[ ! -f /etc/apt/apt.conf.d/no-nag-script ]]; then - CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUBSCRIPTION NAG" --menu "This will disable the nag message reminding you to purchase a subscription every time you log in to the web interface.\n \nDisable subscription nag?" 14 58 2 \ - "yes" " " \ - "no" " " 3>&2 2>&1 1>&3) - case $CHOICE in - yes) - whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 - msg_info "Disabling subscription nag" - # Normal GUI: - echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/.*data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script - # JS-Library used when accessing via mobile device browser - echo "DPkg::Post-Invoke { \"dpkg -V pmg-gui | grep -q '/pmgmanagerlib-mobile\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from Mobile UI...'; sed -i '/data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/pmg-gui/js/pmgmanagerlib-mobile.js; }; fi\"; };" >>/etc/apt/apt.conf.d/no-nag-script - apt --reinstall install proxmox-widget-toolkit pmg-gui &>/dev/null - msg_ok "Disabled subscription nag (Delete browser cache)" - ;; - no) - whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 - msg_error "Selected no to disabling subscription nag" - ;; - esac - fi + CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUBSCRIPTION NAG" --menu "This will disable the nag message reminding you to purchase a subscription every time you log in to the web interface.\n \nDisable subscription nag?" 14 58 2 \ + "yes" " " \ + "no" " " 3>&2 2>&1 1>&3) + case $CHOICE in + yes) + whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 + msg_info "Disabling subscription nag" + # Normal GUI (proxmox-widget-toolkit) + echo "DPkg::Post-Invoke { \"if [ -s /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js ] && ! grep -q -F 'NoMoreNagging' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; then echo 'Removing subscription nag from UI...'; sed -i '/data\.status/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; fi\" };" >/etc/apt/apt.conf.d/no-nag-script + # JS library used when accessing via mobile device browser + echo "DPkg::Post-Invoke { \"if [ -s /usr/share/javascript/pmg-gui/js/pmgmanagerlib-mobile.js ] && ! grep -q -F 'NoMoreNagging' /usr/share/javascript/pmg-gui/js/pmgmanagerlib-mobile.js; then echo 'Removing subscription nag from mobile UI...'; sed -i '/data\.status/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/pmg-gui/js/pmgmanagerlib-mobile.js; fi\" };" >/etc/apt/apt.conf.d/no-nag-script-pmgmanagerlib-mobile + msg_ok "Disabled subscription nag (Delete browser cache)" + ;; + no) + whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 + msg_error "Selected no to disabling subscription nag" + ;; + esac + apt --reinstall install proxmox-widget-toolkit pmg-gui &>/dev/null CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --menu "\nUpdate Proxmox Mail Gateway now?" 11 58 2 \ "yes" " " \ diff --git a/tools/pve/post-pve-install.sh b/tools/pve/post-pve-install.sh index 8f971826d..d62e22bf2 100644 --- a/tools/pve/post-pve-install.sh +++ b/tools/pve/post-pve-install.sh @@ -140,7 +140,7 @@ EOF yes) whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58 msg_info "Disabling subscription nag" - echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit 2>/dev/null && [ -f /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js ] && echo 'Removing subscription nag from UI...' && sed -i '/data\.status/{s/\!/=/;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js\"; };" >/etc/apt/apt.conf.d/no-nag-script + echo "DPkg::Post-Invoke { \"if [ -s /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js ] && ! grep -q -F 'NoMoreNagging' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; then echo 'Removing subscription nag from UI...'; sed -i '/data\.status/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; fi\" };" >/etc/apt/apt.conf.d/no-nag-script msg_ok "Disabled subscription nag (Delete browser cache)" ;; no) From 4201ab58ab4bf199bf385ff5c11cd8e0e6a0597c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 17:09:39 +0000 Subject: [PATCH 039/117] Update CHANGELOG.md (#6163) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b4288c0b4..fa38862f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts - - tools.func - fix typo for target_file [@tjcomserv](https://github.com/tjcomserv) ([#6156](https://github.com/community-scripts/ProxmoxVE/pull/6156)) + - Fixed the previous fix of the anti-nag hook and propagated fixes everywhere [@imcrazytwkr](https://github.com/imcrazytwkr) ([#6162](https://github.com/community-scripts/ProxmoxVE/pull/6162)) +- tools.func - fix typo for target_file [@tjcomserv](https://github.com/tjcomserv) ([#6156](https://github.com/community-scripts/ProxmoxVE/pull/6156)) - #### 🐞 Bug Fixes From d67fa6cf38fb4c54397a5c6bd314f98c567bf05b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Tue, 22 Jul 2025 18:49:25 +0000 Subject: [PATCH 040/117] Update CHANGELOG.md (#6166) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa38862f9..5a74a8213 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,15 +19,14 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts - - Fixed the previous fix of the anti-nag hook and propagated fixes everywhere [@imcrazytwkr](https://github.com/imcrazytwkr) ([#6162](https://github.com/community-scripts/ProxmoxVE/pull/6162)) -- tools.func - fix typo for target_file [@tjcomserv](https://github.com/tjcomserv) ([#6156](https://github.com/community-scripts/ProxmoxVE/pull/6156)) - - #### 🐞 Bug Fixes + - tools.func - fix typo for target_file [@tjcomserv](https://github.com/tjcomserv) ([#6156](https://github.com/community-scripts/ProxmoxVE/pull/6156)) - fix(nginxproxymanager.sh): Set the version number before build. [@JMarcosHP](https://github.com/JMarcosHP) ([#6139](https://github.com/community-scripts/ProxmoxVE/pull/6139)) - #### ✨ New Features + - Fixed the previous fix of the anti-nag hook and propagated fixes everywhere [@imcrazytwkr](https://github.com/imcrazytwkr) ([#6162](https://github.com/community-scripts/ProxmoxVE/pull/6162)) - [core]: Improved LXC Container Startup Handling [@MickLesk](https://github.com/MickLesk) ([#6142](https://github.com/community-scripts/ProxmoxVE/pull/6142)) - wallos: add cron in installer for yearly cost [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6133](https://github.com/community-scripts/ProxmoxVE/pull/6133)) From b36f982fc26be38b6b5c3fb09e21e86070d69ad8 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 02:14:04 +0200 Subject: [PATCH 041/117] Update versions.json (#6168) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 180 ++++++++++++++--------------- 1 file changed, 90 insertions(+), 90 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index c9a5843f2..2b4f20eb1 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,94 @@ [ + { + "name": "raydak-labs/configarr", + "version": "v1.13.7", + "date": "2025-07-22T20:41:45Z" + }, + { + "name": "TasmoAdmin/TasmoAdmin", + "version": "v4.3.1", + "date": "2025-07-22T20:10:08Z" + }, + { + "name": "esphome/esphome", + "version": "2025.7.3", + "date": "2025-07-22T20:09:49Z" + }, + { + "name": "rcourtman/Pulse", + "version": "v3.42.0", + "date": "2025-07-14T22:07:28Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.24.6", + "date": "2025-07-22T17:14:21Z" + }, + { + "name": "semaphoreui/semaphore", + "version": "v2.16.0-beta4", + "date": "2025-07-22T15:56:46Z" + }, + { + "name": "Dolibarr/dolibarr", + "version": "21.0.2", + "date": "2025-07-22T16:58:05Z" + }, + { + "name": "jhuckaby/Cronicle", + "version": "v0.9.84", + "date": "2025-07-22T16:35:18Z" + }, + { + "name": "jenkinsci/jenkins", + "version": "jenkins-2.520", + "date": "2025-07-22T15:13:15Z" + }, + { + "name": "linuxserver/Heimdall", + "version": "v2.7.2", + "date": "2025-07-22T15:00:08Z" + }, + { + "name": "PCJones/UmlautAdaptarr", + "version": "v0.7.3", + "date": "2025-07-22T14:39:54Z" + }, + { + "name": "element-hq/synapse", + "version": "v1.134.0", + "date": "2025-07-15T13:43:39Z" + }, + { + "name": "goauthentik/authentik", + "version": "version/2025.4.4", + "date": "2025-07-22T13:08:15Z" + }, + { + "name": "Luligu/matterbridge", + "version": "3.1.6", + "date": "2025-07-22T12:22:34Z" + }, + { + "name": "meilisearch/meilisearch", + "version": "prototype-arroy-becomes-hannoy-0", + "date": "2025-07-21T20:38:21Z" + }, + { + "name": "crowdsecurity/crowdsec", + "version": "v1.6.11", + "date": "2025-07-22T12:11:38Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.102.4", + "date": "2025-07-17T11:27:58Z" + }, + { + "name": "keycloak/keycloak", + "version": "26.2.6", + "date": "2025-07-17T11:16:34Z" + }, { "name": "home-assistant/core", "version": "2025.7.3", @@ -64,11 +154,6 @@ "version": "v1.64.0", "date": "2025-07-21T20:56:33Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.6", - "date": "2025-07-17T11:16:34Z" - }, { "name": "mongodb/mongo", "version": "r8.2.0-rc0", @@ -79,21 +164,11 @@ "version": "v2.7.2", "date": "2025-07-21T18:19:05Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.24.5", - "date": "2025-07-21T17:04:25Z" - }, { "name": "HabitRPG/habitica", "version": "v5.37.2", "date": "2025-07-21T14:08:35Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.102.4", - "date": "2025-07-17T11:27:58Z" - }, { "name": "tobychui/zoraxy", "version": "v3.2.5r2", @@ -114,11 +189,6 @@ "version": "pmm-6401-v1.122.0", "date": "2025-07-21T10:40:07Z" }, - { - "name": "linuxserver/Heimdall", - "version": "v2.7.1", - "date": "2025-07-21T09:13:14Z" - }, { "name": "homarr-labs/homarr", "version": "v1.30.0", @@ -144,11 +214,6 @@ "version": "v6.2.21", "date": "2025-07-17T04:46:25Z" }, - { - "name": "Dolibarr/dolibarr", - "version": "21.0.2", - "date": "2025-07-20T17:02:07Z" - }, { "name": "fuma-nama/fumadocs", "version": "fumadocs-openapi@9.1.4", @@ -169,11 +234,6 @@ "version": "2025.7.19", "date": "2025-07-20T09:44:35Z" }, - { - "name": "semaphoreui/semaphore", - "version": "v2.16.0-beta1", - "date": "2025-07-20T09:43:36Z" - }, { "name": "documenso/documenso", "version": "v1.12.2-rc.2", @@ -189,11 +249,6 @@ "version": "v2.11.5", "date": "2025-07-20T03:14:42Z" }, - { - "name": "Luligu/matterbridge", - "version": "3.1.5", - "date": "2025-07-19T21:50:47Z" - }, { "name": "pelican-dev/panel", "version": "v1.0.0-beta23", @@ -229,11 +284,6 @@ "version": "v1.2.4", "date": "2025-07-19T07:42:25Z" }, - { - "name": "esphome/esphome", - "version": "2025.7.2", - "date": "2025-07-19T00:05:00Z" - }, { "name": "minio/minio", "version": "RELEASE.2025-07-18T21-56-31Z", @@ -244,11 +294,6 @@ "version": "v5.9.4", "date": "2025-07-18T21:50:31Z" }, - { - "name": "rcourtman/Pulse", - "version": "v3.42.0", - "date": "2025-07-14T22:07:28Z" - }, { "name": "theonedev/onedev", "version": "v12.0.1", @@ -269,11 +314,6 @@ "version": "e6.0.0-M1.202507-rc.1", "date": "2025-07-18T07:48:52Z" }, - { - "name": "meilisearch/meilisearch", - "version": "prototype-chat-completions-with-filters-0", - "date": "2025-07-16T08:54:57Z" - }, { "name": "ollama/ollama", "version": "v0.9.7-rc1", @@ -299,11 +339,6 @@ "version": "v12.0.2+security-01", "date": "2025-07-17T19:13:19Z" }, - { - "name": "jhuckaby/Cronicle", - "version": "v0.9.83", - "date": "2025-07-17T17:48:01Z" - }, { "name": "wavelog/wavelog", "version": "2.0.7", @@ -379,16 +414,6 @@ "version": "6.8.2", "date": "2025-07-15T15:14:16Z" }, - { - "name": "jenkinsci/jenkins", - "version": "jenkins-2.519", - "date": "2025-07-15T14:43:59Z" - }, - { - "name": "element-hq/synapse", - "version": "v1.134.0", - "date": "2025-07-15T13:43:39Z" - }, { "name": "dgtlmoon/changedetection.io", "version": "0.50.7", @@ -514,11 +539,6 @@ "version": "v2.13.0", "date": "2025-07-10T19:27:54Z" }, - { - "name": "crowdsecurity/crowdsec", - "version": "v1.6.10", - "date": "2025-07-10T12:04:30Z" - }, { "name": "NginxProxyManager/nginx-proxy-manager", "version": "v2.12.6", @@ -534,11 +554,6 @@ "version": "4.5.2", "date": "2025-07-09T19:08:28Z" }, - { - "name": "raydak-labs/configarr", - "version": "v1.13.6", - "date": "2025-07-09T17:23:01Z" - }, { "name": "hargata/lubelog", "version": "v1.4.9", @@ -754,11 +769,6 @@ "version": "v1.3.8", "date": "2025-06-29T07:41:53Z" }, - { - "name": "goauthentik/authentik", - "version": "version/2025.6.3", - "date": "2025-06-27T14:01:06Z" - }, { "name": "tailscale/tailscale", "version": "v1.84.3", @@ -1104,11 +1114,6 @@ "version": "v2.0.1727", "date": "2025-04-21T17:53:05Z" }, - { - "name": "TasmoAdmin/TasmoAdmin", - "version": "v4.3.0", - "date": "2025-04-21T17:44:40Z" - }, { "name": "caddyserver/caddy", "version": "v2.10.0", @@ -1289,11 +1294,6 @@ "version": "v0.5.7", "date": "2025-01-17T15:57:17Z" }, - { - "name": "PCJones/UmlautAdaptarr", - "version": "0.7.2", - "date": "2025-01-13T22:17:18Z" - }, { "name": "go-vikunja/vikunja", "version": "v0.24.6", From d19130d8f1bbb3fa2881378124ef3a85514af99a Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 00:14:23 +0000 Subject: [PATCH 042/117] Update CHANGELOG.md (#6169) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a74a8213..85b1c8a0d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-07-23 + ## 2025-07-22 ### 🆕 New Scripts From 035419b4b98e1883dcbd252625a4dc960a163ecf Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 23 Jul 2025 10:11:45 +0200 Subject: [PATCH 043/117] Update frigate-install.sh --- install/frigate-install.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/install/frigate-install.sh b/install/frigate-install.sh index a81b1588c..73b3acdf7 100644 --- a/install/frigate-install.sh +++ b/install/frigate-install.sh @@ -42,10 +42,7 @@ if [[ "$CTTYPE" == "0" ]]; then fi msg_ok "Set Up Hardware Acceleration" -#RELEASE=$(curl -fsSL https://api.github.com/repos/blakeblackshear/frigate/releases/latest | jq -r '.tag_name') -msg_ok "Stop spinner to prevent segmentation fault" msg_info "Installing Frigate v0.14.1 (Perseverance)" -if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi cd ~ mkdir -p /opt/frigate/models curl -fsSL "https://github.com/blakeblackshear/frigate/archive/refs/tags/v0.14.1.tar.gz" -o "frigate.tar.gz" From 0a83090ad210d8c10502e0f9686aeac6b7a1d17d Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 23 Jul 2025 12:22:54 +0200 Subject: [PATCH 044/117] documenso: remove customer_id by creating initial user (#6171) --- install/documenso-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/documenso-install.sh b/install/documenso-install.sh index a481928f0..fb1ea7118 100644 --- a/install/documenso-install.sh +++ b/install/documenso-install.sh @@ -79,7 +79,7 @@ msg_ok "Installed Documenso" msg_info "Create User" PASSWORD_HASH=$(python3 -c "import bcrypt; print(bcrypt.hashpw(b'helper-scripts', bcrypt.gensalt(rounds=12)).decode())") -$STD sudo -u postgres psql -d documenso_db -c "INSERT INTO \"User\" (name, email, \"emailVerified\", password, \"identityProvider\", roles, \"createdAt\", \"lastSignedIn\", \"updatedAt\", \"customerId\") VALUES ('helper-scripts', 'helper-scripts@local.com', '2025-01-20 17:14:45.058', '$PASSWORD_HASH', 'DOCUMENSO', ARRAY['USER', 'ADMIN']::\"Role\"[], '2025-01-20 16:04:05.543', '2025-01-20 16:14:55.249', '2025-01-20 16:14:55.25', NULL) RETURNING id;" +$STD sudo -u postgres psql -d documenso_db -c "INSERT INTO \"User\" (name, email, \"emailVerified\", password, \"identityProvider\", roles, \"createdAt\", \"lastSignedIn\", \"updatedAt\") VALUES ('helper-scripts', 'helper-scripts@local.com', '2025-01-20 17:14:45.058', '$PASSWORD_HASH', 'DOCUMENSO', ARRAY['USER', 'ADMIN']::\"Role\"[], '2025-01-20 16:04:05.543', '2025-01-20 16:14:55.249', '2025-01-20 16:14:55.25') RETURNING id;" $STD npm run prisma:migrate-deploy msg_ok "User created" From d6af60f0c0357b01165df43d505e8c23f00845e8 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 10:23:13 +0000 Subject: [PATCH 045/117] Update CHANGELOG.md (#6176) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85b1c8a0d..ccad0788a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-23 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - documenso: remove customerId by creating initial user [@MickLesk](https://github.com/MickLesk) ([#6171](https://github.com/community-scripts/ProxmoxVE/pull/6171)) + ## 2025-07-22 ### 🆕 New Scripts From 3c0888abdda09ee5b5b262d5c46114c079adc462 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 23 Jul 2025 14:05:47 +0200 Subject: [PATCH 046/117] Update versions.json (#6178) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 100 ++++++++++++++--------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 2b4f20eb1..36aef4704 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,9 +1,54 @@ [ + { + "name": "cockpit-project/cockpit", + "version": "343", + "date": "2025-07-23T11:21:34Z" + }, + { + "name": "semaphoreui/semaphore", + "version": "v2.15.4", + "date": "2025-07-23T11:01:51Z" + }, + { + "name": "traefik/traefik", + "version": "v3.4.5", + "date": "2025-07-23T09:35:46Z" + }, + { + "name": "zabbix/zabbix", + "version": "7.0.17", + "date": "2025-07-23T08:11:47Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2185", + "date": "2025-07-23T05:51:56Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.21", + "date": "2025-07-17T04:46:25Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" + }, + { + "name": "jhuckaby/Cronicle", + "version": "v0.9.85", + "date": "2025-07-22T23:49:53Z" + }, { "name": "raydak-labs/configarr", "version": "v1.13.7", "date": "2025-07-22T20:41:45Z" }, + { + "name": "ollama/ollama", + "version": "v0.9.7-rc1", + "date": "2025-07-11T22:15:00Z" + }, { "name": "TasmoAdmin/TasmoAdmin", "version": "v4.3.1", @@ -14,6 +59,11 @@ "version": "2025.7.3", "date": "2025-07-22T20:09:49Z" }, + { + "name": "keycloak/keycloak", + "version": "26.2.6", + "date": "2025-07-17T11:16:34Z" + }, { "name": "rcourtman/Pulse", "version": "v3.42.0", @@ -24,21 +74,11 @@ "version": "v1.24.6", "date": "2025-07-22T17:14:21Z" }, - { - "name": "semaphoreui/semaphore", - "version": "v2.16.0-beta4", - "date": "2025-07-22T15:56:46Z" - }, { "name": "Dolibarr/dolibarr", "version": "21.0.2", "date": "2025-07-22T16:58:05Z" }, - { - "name": "jhuckaby/Cronicle", - "version": "v0.9.84", - "date": "2025-07-22T16:35:18Z" - }, { "name": "jenkinsci/jenkins", "version": "jenkins-2.520", @@ -84,11 +124,6 @@ "version": "n8n@1.102.4", "date": "2025-07-17T11:27:58Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.6", - "date": "2025-07-17T11:16:34Z" - }, { "name": "home-assistant/core", "version": "2025.7.3", @@ -99,11 +134,6 @@ "version": "v2.3.0p35-rc1", "date": "2025-07-22T07:29:21Z" }, - { - "name": "zabbix/zabbix", - "version": "7.2.11", - "date": "2025-07-22T07:05:26Z" - }, { "name": "mattermost/mattermost", "version": "v9.11.18", @@ -114,21 +144,11 @@ "version": "v0.34.1", "date": "2025-07-22T05:57:50Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2182", - "date": "2025-07-22T05:55:20Z" - }, { "name": "lazy-media/Reactive-Resume", "version": "v1.2.2", "date": "2025-07-22T03:12:54Z" }, - { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" - }, { "name": "MediaBrowser/Emby.Releases", "version": "4.9.1.2", @@ -209,11 +229,6 @@ "version": "v1.6.4", "date": "2025-07-21T05:53:30Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.21", - "date": "2025-07-17T04:46:25Z" - }, { "name": "fuma-nama/fumadocs", "version": "fumadocs-openapi@9.1.4", @@ -314,11 +329,6 @@ "version": "e6.0.0-M1.202507-rc.1", "date": "2025-07-18T07:48:52Z" }, - { - "name": "ollama/ollama", - "version": "v0.9.7-rc1", - "date": "2025-07-11T22:15:00Z" - }, { "name": "cross-seed/cross-seed", "version": "v6.13.1", @@ -519,11 +529,6 @@ "version": "v10.9.0", "date": "2025-07-11T12:57:54Z" }, - { - "name": "traefik/traefik", - "version": "v3.4.4", - "date": "2025-07-11T08:41:34Z" - }, { "name": "outline/outline", "version": "v0.85.1", @@ -579,11 +584,6 @@ "version": "v0.107.63", "date": "2025-06-26T14:34:19Z" }, - { - "name": "cockpit-project/cockpit", - "version": "342", - "date": "2025-07-09T08:48:21Z" - }, { "name": "mysql/mysql-server", "version": "mysql-cluster-9.4.0", From a2fa10417674f9949c41b3cab93defdf3721dbe2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 02:13:31 +0200 Subject: [PATCH 047/117] Update versions.json (#6187) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 120 ++++++++++++++--------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 36aef4704..7534df1ac 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,19 +1,69 @@ [ + { + "name": "advplyr/audiobookshelf", + "version": "v2.26.3", + "date": "2025-07-23T23:16:46Z" + }, + { + "name": "minio/minio", + "version": "RELEASE.2025-07-23T15-54-02Z", + "date": "2025-07-23T20:35:39Z" + }, + { + "name": "grafana/grafana", + "version": "v12.1.0", + "date": "2025-07-23T19:35:52Z" + }, + { + "name": "semaphoreui/semaphore", + "version": "v2.16.0-beta6", + "date": "2025-07-23T19:18:14Z" + }, + { + "name": "fallenbagel/jellyseerr", + "version": "preview-plex-home-profile", + "date": "2025-07-23T16:40:31Z" + }, + { + "name": "meilisearch/meilisearch", + "version": "prototype-cellulite-0", + "date": "2025-07-23T16:21:26Z" + }, + { + "name": "grokability/snipe-it", + "version": "v8.2.0", + "date": "2025-07-23T15:26:10Z" + }, + { + "name": "jenkinsci/jenkins", + "version": "jenkins-2.516.1", + "date": "2025-07-23T14:16:23Z" + }, + { + "name": "traefik/traefik", + "version": "v3.5.0", + "date": "2025-07-23T14:06:54Z" + }, + { + "name": "Radarr/Radarr", + "version": "v5.26.2.10099", + "date": "2025-06-11T20:10:39Z" + }, + { + "name": "Prowlarr/Prowlarr", + "version": "v1.37.0.5076", + "date": "2025-06-04T11:04:53Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.103.2", + "date": "2025-07-22T11:22:26Z" + }, { "name": "cockpit-project/cockpit", "version": "343", "date": "2025-07-23T11:21:34Z" }, - { - "name": "semaphoreui/semaphore", - "version": "v2.15.4", - "date": "2025-07-23T11:01:51Z" - }, - { - "name": "traefik/traefik", - "version": "v3.4.5", - "date": "2025-07-23T09:35:46Z" - }, { "name": "zabbix/zabbix", "version": "7.0.17", @@ -79,11 +129,6 @@ "version": "21.0.2", "date": "2025-07-22T16:58:05Z" }, - { - "name": "jenkinsci/jenkins", - "version": "jenkins-2.520", - "date": "2025-07-22T15:13:15Z" - }, { "name": "linuxserver/Heimdall", "version": "v2.7.2", @@ -109,21 +154,11 @@ "version": "3.1.6", "date": "2025-07-22T12:22:34Z" }, - { - "name": "meilisearch/meilisearch", - "version": "prototype-arroy-becomes-hannoy-0", - "date": "2025-07-21T20:38:21Z" - }, { "name": "crowdsecurity/crowdsec", "version": "v1.6.11", "date": "2025-07-22T12:11:38Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.102.4", - "date": "2025-07-17T11:27:58Z" - }, { "name": "home-assistant/core", "version": "2025.7.3", @@ -154,11 +189,6 @@ "version": "4.9.1.2", "date": "2025-06-26T22:08:00Z" }, - { - "name": "advplyr/audiobookshelf", - "version": "v2.26.2", - "date": "2025-07-21T22:47:38Z" - }, { "name": "ellite/Wallos", "version": "v4.0.0", @@ -179,11 +209,6 @@ "version": "r8.2.0-rc0", "date": "2025-07-21T19:07:52Z" }, - { - "name": "fallenbagel/jellyseerr", - "version": "v2.7.2", - "date": "2025-07-21T18:19:05Z" - }, { "name": "HabitRPG/habitica", "version": "v5.37.2", @@ -299,11 +324,6 @@ "version": "v1.2.4", "date": "2025-07-19T07:42:25Z" }, - { - "name": "minio/minio", - "version": "RELEASE.2025-07-18T21-56-31Z", - "date": "2025-07-18T23:56:46Z" - }, { "name": "Brandawg93/PeaNUT", "version": "v5.9.4", @@ -344,11 +364,6 @@ "version": "v2.1.1.0-2.1.1.0_experimental_2025-07-17", "date": "2025-07-17T20:11:33Z" }, - { - "name": "grafana/grafana", - "version": "v12.0.2+security-01", - "date": "2025-07-17T19:13:19Z" - }, { "name": "wavelog/wavelog", "version": "2.0.7", @@ -589,21 +604,6 @@ "version": "mysql-cluster-9.4.0", "date": "2025-07-09T08:35:30Z" }, - { - "name": "Prowlarr/Prowlarr", - "version": "v1.37.0.5076", - "date": "2025-06-04T11:04:53Z" - }, - { - "name": "Radarr/Radarr", - "version": "v5.26.2.10099", - "date": "2025-06-11T20:10:39Z" - }, - { - "name": "grokability/snipe-it", - "version": "v8.1.18", - "date": "2025-07-08T20:36:37Z" - }, { "name": "Stirling-Tools/Stirling-PDF", "version": "v1.0.2", From 930483577596ea0e821e948618d740f959c4d4ea Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 00:13:54 +0000 Subject: [PATCH 048/117] Update CHANGELOG.md (#6188) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ccad0788a..91a8d6642 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-07-24 + ## 2025-07-23 ### 🚀 Updated Scripts From 4a050f37235e1ab27776b6c5d34040f2276d07ba Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 24 Jul 2025 10:57:20 +0200 Subject: [PATCH 049/117] sabnzbd: add uv setup in update (#6191) --- ct/sabnzbd.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/ct/sabnzbd.sh b/ct/sabnzbd.sh index 01d516797..03c750318 100644 --- a/ct/sabnzbd.sh +++ b/ct/sabnzbd.sh @@ -34,6 +34,7 @@ function update_script() { msg_ok "No update required. ${APP} is already at ${RELEASE}" exit fi + setup_uv msg_info "Updating $APP to ${RELEASE}" systemctl stop sabnzbd cp -r /opt/sabnzbd /opt/sabnzbd_backup_$(date +%s) From 4fa4ed35cc8a0946005116b31cf93a3712dea96b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 08:57:43 +0000 Subject: [PATCH 050/117] Update CHANGELOG.md (#6193) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91a8d6642..9c637f720 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-24 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - sabnzbd: add uv setup in update [@MickLesk](https://github.com/MickLesk) ([#6191](https://github.com/community-scripts/ProxmoxVE/pull/6191)) + ## 2025-07-23 ### 🚀 Updated Scripts From 8bfb78e001709a26dd3707c42ac1f765e1472776 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 24 Jul 2025 11:44:07 +0200 Subject: [PATCH 051/117] Habitica: force npm to 10 (#6192) --- install/habitica-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/habitica-install.sh b/install/habitica-install.sh index d1915be03..12e4a919e 100644 --- a/install/habitica-install.sh +++ b/install/habitica-install.sh @@ -22,7 +22,7 @@ curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1 $STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb msg_ok "Installed Dependencies" -NODE_VERSION="20" NODE_MODULE="gulp-cli,mocha" setup_nodejs +NODE_VERSION="20" NODE_MODULE="gulp-cli,mocha,npm@10" setup_nodejs fetch_and_deploy_gh_release "habitica" "HabitRPG/habitica" "tarball" "latest" "/opt/habitica" msg_info "Setup ${APPLICATION}" From de1a93bf6d74522d4615029b5d23d40832fde800 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 09:44:28 +0000 Subject: [PATCH 052/117] Update CHANGELOG.md (#6194) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c637f720..31042eec4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - Habitica: force npm to 10 [@MickLesk](https://github.com/MickLesk) ([#6192](https://github.com/community-scripts/ProxmoxVE/pull/6192)) - sabnzbd: add uv setup in update [@MickLesk](https://github.com/MickLesk) ([#6191](https://github.com/community-scripts/ProxmoxVE/pull/6191)) ## 2025-07-23 From 1f51e96cb11f9df0a60a99f241502a6c46a8264b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 24 Jul 2025 12:43:32 +0200 Subject: [PATCH 053/117] Refactor: Headscale (#6180) --- ct/headscale.sh | 13 ++++++------- install/headscale-install.sh | 11 ++++------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/ct/headscale.sh b/ct/headscale.sh index 552a453fb..7ec236fa0 100644 --- a/ct/headscale.sh +++ b/ct/headscale.sh @@ -27,18 +27,17 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + if [[ -f /opt/${APP}_version.txt ]]; then + mv /opt/"${APP}_version.txt" ~/.headscale + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + if [[ "${RELEASE}" != "$(cat ~/.headscale 2>/dev/null)" ]] || [[ ! -f ~/.headscale ]]; then msg_info "Stopping ${APP}" systemctl stop headscale msg_ok "Stopped ${APP}" - msg_info "Updating $APP to v${RELEASE}" - curl -fsSL "https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb" -o $(basename "https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb") - dpkg -i headscale_${RELEASE}_linux_amd64.deb - rm headscale_${RELEASE}_linux_amd64.deb - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated $APP to ${RELEASE}" + fetch_and_deploy_gh_release "headscale" "juanfont/headscale" "binary" msg_info "Starting ${APP}" # Temporary fix until headscale project resolves service getting disabled on updates. diff --git a/install/headscale-install.sh b/install/headscale-install.sh index 4a3cd1f3a..cf28206ad 100644 --- a/install/headscale-install.sh +++ b/install/headscale-install.sh @@ -13,19 +13,16 @@ setting_up_container network_check update_os -RELEASE=$(curl -fsSL https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -msg_info "Installing ${APPLICATION} v${RELEASE}" -curl -fsSL "https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb" -o "headscale_${RELEASE}_linux_amd64.deb" -$STD dpkg -i headscale_${RELEASE}_linux_amd64.deb +fetch_and_deploy_gh_release "headscale" "juanfont/headscale" "binary" + +msg_info "Starting service" systemctl enable -q --now headscale -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Installed ${APPLICATION} v${RELEASE}" +msg_ok "Service started" motd_ssh customize msg_info "Cleaning up" -rm headscale_${RELEASE}_linux_amd64.deb $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From b52e958623f73dedc39bbdca57d587623800295b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 10:43:52 +0000 Subject: [PATCH 054/117] Update CHANGELOG.md (#6196) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31042eec4..c1061b0c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - Habitica: force npm to 10 [@MickLesk](https://github.com/MickLesk) ([#6192](https://github.com/community-scripts/ProxmoxVE/pull/6192)) - sabnzbd: add uv setup in update [@MickLesk](https://github.com/MickLesk) ([#6191](https://github.com/community-scripts/ProxmoxVE/pull/6191)) + - #### 🔧 Refactor + + - Refactor: Headscale [@tremor021](https://github.com/tremor021) ([#6180](https://github.com/community-scripts/ProxmoxVE/pull/6180)) + ## 2025-07-23 ### 🚀 Updated Scripts From c9015cca2033f31a3b9835a9fffa7925bc165fe3 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 14:05:46 +0200 Subject: [PATCH 055/117] Update versions.json (#6200) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 90 +++++++++++++++--------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 7534df1ac..8dc151c05 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,44 @@ [ + { + "name": "meilisearch/meilisearch", + "version": "prototype-arroy-becomes-hannoy-3", + "date": "2025-07-24T10:20:01Z" + }, + { + "name": "keycloak/keycloak", + "version": "26.3.2", + "date": "2025-07-24T10:14:27Z" + }, + { + "name": "docker/compose", + "version": "v2.39.0", + "date": "2025-07-24T08:31:49Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.3.0p35-rc2", + "date": "2025-07-24T07:00:54Z" + }, + { + "name": "zwave-js/zwave-js-ui", + "version": "v10.10.0", + "date": "2025-07-24T06:15:19Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2187", + "date": "2025-07-24T05:56:26Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.21", + "date": "2025-07-17T04:46:25Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" + }, { "name": "advplyr/audiobookshelf", "version": "v2.26.3", @@ -24,11 +64,6 @@ "version": "preview-plex-home-profile", "date": "2025-07-23T16:40:31Z" }, - { - "name": "meilisearch/meilisearch", - "version": "prototype-cellulite-0", - "date": "2025-07-23T16:21:26Z" - }, { "name": "grokability/snipe-it", "version": "v8.2.0", @@ -59,31 +94,16 @@ "version": "n8n@1.103.2", "date": "2025-07-22T11:22:26Z" }, + { + "name": "zabbix/zabbix", + "version": "7.4.1rc1", + "date": "2025-07-23T11:54:39Z" + }, { "name": "cockpit-project/cockpit", "version": "343", "date": "2025-07-23T11:21:34Z" }, - { - "name": "zabbix/zabbix", - "version": "7.0.17", - "date": "2025-07-23T08:11:47Z" - }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2185", - "date": "2025-07-23T05:51:56Z" - }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.21", - "date": "2025-07-17T04:46:25Z" - }, - { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" - }, { "name": "jhuckaby/Cronicle", "version": "v0.9.85", @@ -109,11 +129,6 @@ "version": "2025.7.3", "date": "2025-07-22T20:09:49Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.6", - "date": "2025-07-17T11:16:34Z" - }, { "name": "rcourtman/Pulse", "version": "v3.42.0", @@ -164,11 +179,6 @@ "version": "2025.7.3", "date": "2025-07-22T08:30:59Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.3.0p35-rc1", - "date": "2025-07-22T07:29:21Z" - }, { "name": "mattermost/mattermost", "version": "v9.11.18", @@ -539,11 +549,6 @@ "version": "flowise@3.0.4", "date": "2025-07-11T13:26:54Z" }, - { - "name": "zwave-js/zwave-js-ui", - "version": "v10.9.0", - "date": "2025-07-11T12:57:54Z" - }, { "name": "outline/outline", "version": "v0.85.1", @@ -614,11 +619,6 @@ "version": "v5.20.0", "date": "2025-07-08T16:27:11Z" }, - { - "name": "docker/compose", - "version": "v2.38.2", - "date": "2025-07-08T09:35:14Z" - }, { "name": "photoprism/photoprism", "version": "250707-d28b3101e", From ed934a21ffa5a9b7557d610d2229064aa1e90f33 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 24 Jul 2025 14:32:39 +0200 Subject: [PATCH 056/117] habitica: ensure config is available before build --- install/habitica-install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/habitica-install.sh b/install/habitica-install.sh index 12e4a919e..c09c87618 100644 --- a/install/habitica-install.sh +++ b/install/habitica-install.sh @@ -29,9 +29,10 @@ msg_info "Setup ${APPLICATION}" cd /opt/habitica $STD npm i $STD npm run postinstall +cp config.json.example config.json $STD npm run client:build $STD gulp build:prod -cp config.json.example config.json + msg_ok "Setup ${APPLICATION}" msg_info "Creating Service" From 7e9d78620283b16ae6693d54e58e84b81f9e7b73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 24 Jul 2025 14:52:16 +0200 Subject: [PATCH 057/117] Alpine TeamSpeak Server (#6201) * Add Alpine TeamSpeak Server * Update alpine-teamspeak-server.sh * Update json * Update json --- ct/alpine-teamspeak-server.sh | 58 ++++++++++++++ frontend/public/json/teamspeak-server.json | 89 +++++++++++++--------- install/alpine-teamspeak-server-install.sh | 69 +++++++++++++++++ 3 files changed, 179 insertions(+), 37 deletions(-) create mode 100644 ct/alpine-teamspeak-server.sh create mode 100644 install/alpine-teamspeak-server-install.sh diff --git a/ct/alpine-teamspeak-server.sh b/ct/alpine-teamspeak-server.sh new file mode 100644 index 000000000..0e60aac74 --- /dev/null +++ b/ct/alpine-teamspeak-server.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: tremor021 (Slaviša Arežina) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://teamspeak.com/en/ + +APP="Alpine-TeamSpeak-Server" +var_tags="${var_tags:-alpine;communication}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-256}" +var_disk="${var_disk:-2}" +var_os="${var_os:-alpine}" +var_version="${var_version:-3.22}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + + if [[ ! -d /opt/teamspeak-server ]]; then + msg_error "No ${APP} Installation Found!" + exit 1 + fi + + RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n '/teamspeak3-server_linux_amd64-/ { s/.*teamspeak3-server_linux_amd64-\([0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/p; q }') + + if [ "${RELEASE}" != "$(cat ~/.teamspeak-server)" ] || [ ! -f ~/.teamspeak-server ]; then + msg_info "Updating ${APP} LXC" + $STD apk -U upgrade + $STD service teamspeak stop + curl -fsSL "https://files.teamspeak-services.com/releases/server/${RELEASE}/teamspeak3-server_linux_amd64-${RELEASE}.tar.bz2" -o ts3server.tar.bz2 + tar -xf ./ts3server.tar.bz2 + cp -ru teamspeak3-server_linux_amd64/* /opt/teamspeak-server/ + rm -f ~/ts3server.tar.bz* + rm -rf teamspeak3-server_linux_amd64 + echo "${RELEASE}" >~/.teamspeak-server + $STD service teamspeak start + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + + exit 0 +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following IP:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}${IP}:9987${CL}" diff --git a/frontend/public/json/teamspeak-server.json b/frontend/public/json/teamspeak-server.json index 30e891389..8944f2ff3 100644 --- a/frontend/public/json/teamspeak-server.json +++ b/frontend/public/json/teamspeak-server.json @@ -1,40 +1,55 @@ { - "name": "Teamspeak-Server", - "slug": "teamspeak-server", - "categories": [ - 24 - ], - "date_created": "2025-07-21", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 9987, - "documentation": "https://support.teamspeak.com/hc/en-us/categories/360000302017-TeamSpeak-3", - "website": "https://teamspeak.com/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/teamspeak-light.webp", - "config_path": "", - "description": "TeamSpeak is a voice over IP (VoIP) application, primarily used by gamers and teams to chat in real time on dedicated servers. It delivers crystal‑clear, low‑latency voice communication.", - "install_methods": [ - { - "type": "default", - "script": "ct/teamspeak-server.sh", - "resources": { - "cpu": 1, - "ram": 512, - "hdd": 2, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Teamspeak-Server", + "slug": "teamspeak-server", + "categories": [ + 24 + ], + "date_created": "2025-07-21", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 9987, + "documentation": "https://support.teamspeak.com/hc/en-us/categories/360000302017-TeamSpeak-3", + "website": "https://teamspeak.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/teamspeak-light.webp", + "config_path": "", + "description": "TeamSpeak is a voice over IP (VoIP) application, primarily used by gamers and teams to chat in real time on dedicated servers. It delivers crystal‑clear, low‑latency voice communication.", + "install_methods": [ + { + "type": "default", + "script": "ct/teamspeak-server.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 2, + "os": "debian", + "version": "12" + } }, - "notes": [ - { - "text": "Use `journalctl -u teamspeak-server.service` inside LXC console to check for admin credentials!", - "type": "info" - } - ] + { + "type": "alpine", + "script": "ct/alpine-teamspeak-server.sh", + "resources": { + "cpu": 1, + "ram": 256, + "hdd": 2, + "os": "alpine", + "version": "3.22" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Use `journalctl -u teamspeak-server.service` inside Debian LXC console to check for admin credentials!", + "type": "info" + }, + { + "text": "Use `cat /var/log/teamspeak.err.log` inside Alpine LXC console to check for admin credentials!", + "type": "info" + } + ] } diff --git a/install/alpine-teamspeak-server-install.sh b/install/alpine-teamspeak-server-install.sh new file mode 100644 index 000000000..b99642153 --- /dev/null +++ b/install/alpine-teamspeak-server-install.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: tremor021 (Slaviša Arežina) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://teamspeak.com/en/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing dependencies" +$STD apk add --no-cache \ + ca-certificates \ + libstdc++ \ + libc6-compat +msg_ok "Installed dependencies" + +RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n '/teamspeak3-server_linux_amd64-/ { s/.*teamspeak3-server_linux_amd64-\([0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/p; q }') + +msg_info "Installing Teamspeak Server v${RELEASE}" +mkdir -p /opt/teamspeak-server +cd /opt/teamspeak-server +curl -fsSL "https://files.teamspeak-services.com/releases/server/${RELEASE}/teamspeak3-server_linux_amd64-${RELEASE}.tar.bz2" -o ts3server.tar.bz2 +tar xf ts3server.tar.bz2 --strip-components=1 +mkdir -p logs data lib +mv *.so lib +touch data/ts3server.sqlitedb data/query_ip_blacklist.txt data/query_ip_whitelist.txt .ts3server_license_accepted +echo "${RELEASE}" >~/.teamspeak-server +msg_ok "Installed TeamSpeak Server v${RELEASE}" + +msg_info "Enabling TeamSpeak Server Service" +cat </etc/init.d/teamspeak +#!/sbin/openrc-run + +name="TeamSpeak Server" +description="TeamSpeak 3 Server" +command="/opt/teamspeak-server/ts3server_startscript.sh" +command_args="start" +output_log="/var/log/teamspeak.out.log" +error_log="/var/log/teamspeak.err.log" +command_background=true +pidfile="/run/teamspeak-server.pid" +directory="/opt/teamspeak-server" + +depend() { + need net + use dns +} +EOF +chmod +x /etc/init.d/teamspeak +$STD rc-update add teamspeak default +msg_ok "Enabled TeamSpeak Server Service" + +msg_info "Starting TeamSpeak Server" +$STD service teamspeak start +msg_ok "Started TeamSpeak Server" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -r ts3server.tar.bz* LICENSE* CHANGELOG doc serverquerydocs tsdns redist +$STD apk cache clean +msg_ok "Cleaned" From 72d6fb40dca86783fb1b90e8cce21b912bfdbe85 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 12:52:36 +0000 Subject: [PATCH 058/117] Update CHANGELOG.md (#6203) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c1061b0c9..603304fab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-24 +### 🆕 New Scripts + + - Alpine TeamSpeak Server [@tremor021](https://github.com/tremor021) ([#6201](https://github.com/community-scripts/ProxmoxVE/pull/6201)) + ### 🚀 Updated Scripts - #### 🐞 Bug Fixes From 8ef59b590a54b4413d5bb5af9604c858ff2e83d8 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 14:53:43 +0200 Subject: [PATCH 059/117] Update .app files (#6204) Co-authored-by: GitHub Actions --- ct/headers/alpine-teamspeak-server | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ct/headers/alpine-teamspeak-server diff --git a/ct/headers/alpine-teamspeak-server b/ct/headers/alpine-teamspeak-server new file mode 100644 index 000000000..cfa5aeb9f --- /dev/null +++ b/ct/headers/alpine-teamspeak-server @@ -0,0 +1,6 @@ + ___ __ _ ______ _____ __ _____ + / | / /___ (_)___ ___ /_ __/__ ____ _____ ___ / ___/____ ___ ____ _/ /__ / ___/___ ______ _____ _____ + / /| | / / __ \/ / __ \/ _ \______/ / / _ \/ __ `/ __ `__ \\__ \/ __ \/ _ \/ __ `/ //_/_____\__ \/ _ \/ ___/ | / / _ \/ ___/ + / ___ |/ / /_/ / / / / / __/_____/ / / __/ /_/ / / / / / /__/ / /_/ / __/ /_/ / ,< /_____/__/ / __/ / | |/ / __/ / +/_/ |_/_/ .___/_/_/ /_/\___/ /_/ \___/\__,_/_/ /_/ /_/____/ .___/\___/\__,_/_/|_| /____/\___/_/ |___/\___/_/ + /_/ /_/ From 5867ef3288f9f5c377c8ccc823bb4e1e8d929887 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 24 Jul 2025 16:12:20 +0200 Subject: [PATCH 060/117] Refactor: go2rtc (#6198) * Refactor * Update ct/go2rtc.sh --- ct/go2rtc.sh | 25 +++++++++++++++++-------- install/go2rtc-install.sh | 12 ++++-------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/ct/go2rtc.sh b/ct/go2rtc.sh index ebe684095..e57d5d8fb 100644 --- a/ct/go2rtc.sh +++ b/ct/go2rtc.sh @@ -27,14 +27,23 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - msg_info "Updating $APP" - systemctl stop go2rtc - cd /opt/go2rtc - rm go2rtc_linux_amd64 - curl -fsSL "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64" -o $(basename "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64") - chmod +x go2rtc_linux_amd64 - systemctl start go2rtc - msg_ok "Updated $APP" + + RELEASE=$(curl -fsSL https://api.github.com/repos/AlexxIT/go2rtc/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat ~/.go2rtc 2>/dev/null)" ]] || [[ ! -f ~/.go2rtc ]]; then + msg_info "Stopping service" + systemctl stop go2rtc + msg_ok "Stopped service" + + fetch_and_deploy_gh_release "go2rtc" "AlexxIT/go2rtc" "singlefile" "latest" "/opt/go2rtc" "go2rtc_linux_amd64" + + msg_info "Starting service" + systemctl start go2rtc + msg_ok "Started service" + + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi exit } diff --git a/install/go2rtc-install.sh b/install/go2rtc-install.sh index ab1d1bccc..a7cd0ac38 100644 --- a/install/go2rtc-install.sh +++ b/install/go2rtc-install.sh @@ -13,15 +13,10 @@ setting_up_container network_check update_os -msg_info "Installing go2rtc" -mkdir -p /opt/go2rtc -cd /opt/go2rtc -curl -fsSL "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64" -o "go2rtc_linux_amd64" -chmod +x go2rtc_linux_amd64 -msg_ok "Installed go2rtc" +fetch_and_deploy_gh_release "go2rtc" "AlexxIT/go2rtc" "singlefile" "latest" "/opt/go2rtc" "go2rtc_linux_amd64" msg_info "Creating Service" -service_path="/etc/systemd/system/go2rtc.service" +cat </etc/systemd/system/go2rtc.service echo "[Unit] Description=go2rtc service After=network.target @@ -32,7 +27,8 @@ User=root ExecStart=/opt/go2rtc/go2rtc_linux_amd64 [Install] -WantedBy=multi-user.target" >$service_path +WantedBy=multi-user.target +EOF systemctl enable -q --now go2rtc msg_ok "Created Service" From 33a03f4b0ea67ea876f758925c0b4c2c66aba0d8 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 14:12:46 +0000 Subject: [PATCH 061/117] Update CHANGELOG.md (#6208) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 603304fab..87e621f3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: go2rtc [@tremor021](https://github.com/tremor021) ([#6198](https://github.com/community-scripts/ProxmoxVE/pull/6198)) - Refactor: Headscale [@tremor021](https://github.com/tremor021) ([#6180](https://github.com/community-scripts/ProxmoxVE/pull/6180)) ## 2025-07-23 From 16e2d2206cbc0d99056b153e3fc05ef8c5f4dae4 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 24 Jul 2025 20:38:38 +0200 Subject: [PATCH 062/117] Immich: Pin Version to v1.135.3 (#6212) * Immich: Pin Version to v1.135.3 * Update immich.sh --- ct/immich.sh | 5 +++-- install/immich-install.sh | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ct/immich.sh b/ct/immich.sh index bfc61c8de..0c3e488d6 100644 --- a/ct/immich.sh +++ b/ct/immich.sh @@ -58,7 +58,8 @@ function update_script() { done msg_ok "Image-processing libraries updated" fi - RELEASE=$(curl -fsSL https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE="1.135.3" + #RELEASE=$(curl -fsSL https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ -f ~/.immich && "$RELEASE" == "$(cat ~/.immich)" ]]; then msg_ok "No update required. ${APP} is already at v${RELEASE}" exit @@ -102,7 +103,7 @@ function update_script() { mkdir -p "$ML_DIR" rm -rf "$SRC_DIR" - fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "latest" "$SRC_DIR" + fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.135.3" "$SRC_DIR" msg_info "Updating ${APP} web and microservices" cd "$SRC_DIR"/server diff --git a/install/immich-install.sh b/install/immich-install.sh index 7dac15f1a..de0a63579 100644 --- a/install/immich-install.sh +++ b/install/immich-install.sh @@ -283,7 +283,7 @@ GEO_DIR="${INSTALL_DIR}/geodata" mkdir -p "$INSTALL_DIR" mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${ML_DIR}","${INSTALL_DIR}"/cache} -fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "latest" "$SRC_DIR" +fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.135.3" "$SRC_DIR" msg_info "Installing ${APPLICATION} (more patience please)" From eda1b1aea841941c303ba9ef8d3d632428391fd7 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 18:39:03 +0000 Subject: [PATCH 063/117] Update CHANGELOG.md (#6213) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 87e621f3f..e58675114 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - Immich: Pin Version to v1.135.3 [@MickLesk](https://github.com/MickLesk) ([#6212](https://github.com/community-scripts/ProxmoxVE/pull/6212)) - Habitica: force npm to 10 [@MickLesk](https://github.com/MickLesk) ([#6192](https://github.com/community-scripts/ProxmoxVE/pull/6192)) - sabnzbd: add uv setup in update [@MickLesk](https://github.com/MickLesk) ([#6191](https://github.com/community-scripts/ProxmoxVE/pull/6191)) From e25f3dce5254889afa6c6018e50c81f700cefa90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 24 Jul 2025 21:00:13 +0200 Subject: [PATCH 064/117] Headscale: Add headscale-admin UI as option (#6205) --- ct/headscale.sh | 1 + frontend/public/json/headscale.json | 4 ++++ install/headscale-install.sh | 37 +++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/ct/headscale.sh b/ct/headscale.sh index 7ec236fa0..4e802836f 100644 --- a/ct/headscale.sh +++ b/ct/headscale.sh @@ -38,6 +38,7 @@ function update_script() { msg_ok "Stopped ${APP}" fetch_and_deploy_gh_release "headscale" "juanfont/headscale" "binary" + fetch_and_deploy_gh_release "headscale-admin" "GoodiesHQ/headscale-admin" "prebuild" "latest" "/opt/headscale-admin" "admin.zip" msg_info "Starting ${APP}" # Temporary fix until headscale project resolves service getting disabled on updates. diff --git a/frontend/public/json/headscale.json b/frontend/public/json/headscale.json index 323edb61b..4bca10f86 100644 --- a/frontend/public/json/headscale.json +++ b/frontend/public/json/headscale.json @@ -35,6 +35,10 @@ { "text": "Configuration settings: `/etc/headscale/config.yaml`", "type": "info" + }, + { + "text": "Access headscale-admin UI via `http:///admin/`", + "type": "info" } ] } diff --git a/install/headscale-install.sh b/install/headscale-install.sh index cf28206ad..38ccc7e9e 100644 --- a/install/headscale-install.sh +++ b/install/headscale-install.sh @@ -15,6 +15,43 @@ update_os fetch_and_deploy_gh_release "headscale" "juanfont/headscale" "binary" +read -r -p "${TAB3}Would you like to add headscale-admin UI? " prompt +if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then + fetch_and_deploy_gh_release "headscale-admin" "GoodiesHQ/headscale-admin" "prebuild" "latest" "/opt/headscale-admin" "admin.zip" + + msg_info "Configuring headscale-admin" + $STD apt-get install -y caddy + $STD caddy stop + rm /etc/caddy/Caddyfile + cat </etc/caddy/Caddyfile +:{$PORT:80} + +handle_path /admin* { + root * /opt/headscale-admin + encode gzip zstd + + # Correct MIME types for JS/WASM + header { + @js_files path *.js + @wasm_files path *.wasm + + Content-Type @js_files application/javascript + Content-Type @wasm_files application/wasm + + X-Content-Type-Options nosniff + } + + # Fallback for SPA routing + try_files {path} {path}/ index.html + file_server +} + +EOF + caddy fmt --overwrite /etc/caddy/Caddyfile + systemctl start caddy + msg_ok "Configured headscale-admin" +fi + msg_info "Starting service" systemctl enable -q --now headscale msg_ok "Service started" From af4aedf15a795dc5a21666522474d3caa4c868a1 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 19:00:34 +0000 Subject: [PATCH 065/117] Update CHANGELOG.md (#6214) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e58675114..b46094683 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - Habitica: force npm to 10 [@MickLesk](https://github.com/MickLesk) ([#6192](https://github.com/community-scripts/ProxmoxVE/pull/6192)) - sabnzbd: add uv setup in update [@MickLesk](https://github.com/MickLesk) ([#6191](https://github.com/community-scripts/ProxmoxVE/pull/6191)) + - #### ✨ New Features + + - Headscale: Add headscale-admin UI as option [@tremor021](https://github.com/tremor021) ([#6205](https://github.com/community-scripts/ProxmoxVE/pull/6205)) + - #### 🔧 Refactor - Refactor: go2rtc [@tremor021](https://github.com/tremor021) ([#6198](https://github.com/community-scripts/ProxmoxVE/pull/6198)) From d9567636428983268aa2e495addc1b8d3ffea55a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 24 Jul 2025 21:00:41 +0200 Subject: [PATCH 066/117] Refactor (#6202) --- ct/duplicati.sh | 14 ++++---------- install/duplicati-install.sh | 13 +++---------- 2 files changed, 7 insertions(+), 20 deletions(-) diff --git a/ct/duplicati.sh b/ct/duplicati.sh index 90bf43db7..fc313fa27 100644 --- a/ct/duplicati.sh +++ b/ct/duplicati.sh @@ -27,25 +27,19 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + RELEASE=$(curl -fsSL https://api.github.com/repos/duplicati/duplicati/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + if [[ "${RELEASE}" != "$(cat ~/.duplicati)" ]] || [[ ! -f ~/.duplicati ]]; then msg_info "Stopping $APP" systemctl stop duplicati msg_ok "Stopped $APP" - msg_info "Updating $APP to v${RELEASE}" - curl -fsSL "https://github.com/duplicati/duplicati/releases/download/v${RELEASE}/duplicati-${RELEASE}-linux-x64-gui.deb" -o $(basename "https://github.com/duplicati/duplicati/releases/download/v${RELEASE}/duplicati-${RELEASE}-linux-x64-gui.deb") - $STD dpkg -i duplicati-${RELEASE}-linux-x64-gui.deb - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated $APP to v${RELEASE}" + + fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "linux-x64-gui.deb" msg_info "Starting $APP" systemctl start duplicati msg_ok "Started $APP" - msg_info "Cleaning Up" - rm -rf ~/duplicati-${RELEASE}-linux-x64-gui.deb - msg_ok "Cleanup Completed" - msg_ok "Update Successful" else msg_ok "No update required. ${APP} is already at v${RELEASE}" diff --git a/install/duplicati-install.sh b/install/duplicati-install.sh index 2d0ebf889..ad239cd7d 100644 --- a/install/duplicati-install.sh +++ b/install/duplicati-install.sh @@ -20,19 +20,16 @@ $STD apt-get install -y \ libfontconfig1 msg_ok "Installed Dependencies" -msg_info "Setting up Duplicati" -RELEASE=$(curl -fsSL https://api.github.com/repos/duplicati/duplicati/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') -curl -fsSL "https://github.com/duplicati/duplicati/releases/download/v${RELEASE}/duplicati-${RELEASE}-linux-x64-gui.deb" -o "duplicati-${RELEASE}-linux-x64-gui.deb" -$STD dpkg -i duplicati-${RELEASE}-linux-x64-gui.deb -echo "${RELEASE}" >/opt/Duplicati_version.txt -msg_ok "Finished setting up Duplicati" +fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "linux-x64-gui.deb" +msg_info "Configuring duplicati" DECRYPTKEY=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) ADMINPASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) { echo "Admin password = ${ADMINPASS}" echo "Database encryption key = ${DECRYPTKEY}" } >>~/duplicati.creds +msg_ok "Configured duplicati" msg_info "Creating Service" cat </etc/systemd/system/duplicati.service @@ -54,10 +51,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -f duplicati-${RELEASE}-linux-x64-gui.deb $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" - -motd_ssh -customize From e78c590772cc1f7bbd35c22b2adf16a3a0727dcb Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 19:00:58 +0000 Subject: [PATCH 067/117] Update CHANGELOG.md (#6215) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b46094683..175498672 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: duplicati [@tremor021](https://github.com/tremor021) ([#6202](https://github.com/community-scripts/ProxmoxVE/pull/6202)) - Refactor: go2rtc [@tremor021](https://github.com/tremor021) ([#6198](https://github.com/community-scripts/ProxmoxVE/pull/6198)) - Refactor: Headscale [@tremor021](https://github.com/tremor021) ([#6180](https://github.com/community-scripts/ProxmoxVE/pull/6180)) From 67069cfb2148ce6b525514c9c6a2d1c26e2278a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 24 Jul 2025 21:01:05 +0200 Subject: [PATCH 068/117] Refactor (#6197) --- ct/gokapi.sh | 25 ++++++++++++++++++++++--- install/gokapi-install.sh | 10 ++++------ 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/ct/gokapi.sh b/ct/gokapi.sh index a4a14398c..be5779b38 100644 --- a/ct/gokapi.sh +++ b/ct/gokapi.sh @@ -27,8 +27,27 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - msg_error "Currently we don't provide an update function for this ${APP}." - exit + if [[ -f /opt/${APP}_version.txt ]]; then + mv /opt/${APP}_version ~/.gokapi + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/Forceu/Gokapi/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat ~/.gokapi 2>/dev/null)" ]] || [[ ! -f ~/.gokapi ]]; then + msg_info "Stopping ${APP}" + systemctl stop gokapi + msg_ok "Stopped ${APP}" + + fetch_and_deploy_gh_release "gokapi" "Forceu/Gokapi" "prebuild" "latest" "/opt/gokapi" "gokapi-linux_amd64.zip" + + msg_info "Starting ${APP}" + systemctl start gokapi + msg_ok "Started ${APP}" + + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start @@ -38,4 +57,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:53842/setup${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:53842/setup${CL}" diff --git a/install/gokapi-install.sh b/install/gokapi-install.sh index e849ad361..272a7a05f 100644 --- a/install/gokapi-install.sh +++ b/install/gokapi-install.sh @@ -13,14 +13,12 @@ setting_up_container network_check update_os -msg_info "Installing Gokapi" -LATEST=$(curl -fsSL https://api.github.com/repos/Forceu/Gokapi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +fetch_and_deploy_gh_release "gokapi" "Forceu/Gokapi" "prebuild" "latest" "/opt/gokapi" "gokapi-linux_amd64.zip" + +msg_info "Configuring Gokapi" mkdir -p /opt/gokapi/{data,config} -curl -fsSL "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip" -o "gokapi-linux_amd64.zip" -$STD unzip gokapi-linux_amd64.zip -d /opt/gokapi -rm gokapi-linux_amd64.zip chmod +x /opt/gokapi/gokapi-linux_amd64 -msg_ok "Installed Gokapi" +msg_ok "Configured Gokapi" msg_info "Creating Service" cat </etc/systemd/system/gokapi.service From 2d66d09de2c2355c72b9d22c267942971a89fc9c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 19:01:18 +0000 Subject: [PATCH 069/117] Update CHANGELOG.md (#6216) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 175498672..f4c9732a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Gokapi [@tremor021](https://github.com/tremor021) ([#6197](https://github.com/community-scripts/ProxmoxVE/pull/6197)) - Refactor: duplicati [@tremor021](https://github.com/tremor021) ([#6202](https://github.com/community-scripts/ProxmoxVE/pull/6202)) - Refactor: go2rtc [@tremor021](https://github.com/tremor021) ([#6198](https://github.com/community-scripts/ProxmoxVE/pull/6198)) - Refactor: Headscale [@tremor021](https://github.com/tremor021) ([#6180](https://github.com/community-scripts/ProxmoxVE/pull/6180)) From 01be7acf10b67dc848783d39734af1ef9b927251 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 24 Jul 2025 21:37:20 +0200 Subject: [PATCH 070/117] Refactor (#6210) --- ct/victoriametrics.sh | 22 ++++++++-------------- install/victoriametrics-install.sh | 28 +++++++++++++++++++++------- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/ct/victoriametrics.sh b/ct/victoriametrics.sh index 246f13ded..04e6f8b67 100644 --- a/ct/victoriametrics.sh +++ b/ct/victoriametrics.sh @@ -27,31 +27,25 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + RELEASE=$(curl -fsSL https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ ! -f ~/.victoriametrics ]] || [[ "${RELEASE}" != "$(cat ~/.victoriametrics)" ]]; then msg_info "Stopping $APP" systemctl stop victoriametrics + [[ -f /etc/systemd/system/victoriametrics-logs.service ]] && systemctl stop victoriametrics-logs msg_ok "Stopped $APP" - msg_info "Updating ${APP} to v${RELEASE}" - temp_dir=$(mktemp -d) - cd $temp_dir - curl -fsSL "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/victoria-metrics-linux-amd64-v${RELEASE}.tar.gz" -o $(basename "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/victoria-metrics-linux-amd64-v${RELEASE}.tar.gz") - curl -fsSL "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/vmutils-linux-amd64-v${RELEASE}.tar.gz" -o $(basename "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/vmutils-linux-amd64-v${RELEASE}.tar.gz") - find /opt/victoriametrics -maxdepth 1 -type f -executable -delete - tar -xf victoria-metrics-linux-amd64-v${RELEASE}.tar.gz -C /opt/victoriametrics - tar -xf vmutils-linux-amd64-v${RELEASE}.tar.gz -C /opt/victoriametrics + fetch_and_deploy_gh_release "victoriametrics" "VictoriaMetrics/VictoriaMetrics" "prebuild" "latest" "/opt/victoriametrics" "victoria-metrics-linux-amd64-v+([0-9.]).tar.gz" + fetch_and_deploy_gh_release "vmutils" "VictoriaMetrics/VictoriaMetrics" "prebuild" "latest" "/opt/victoriametrics" "vmutils-linux-amd64-v+([0-9.]).tar.gz" + fetch_and_deploy_gh_release "victorialogs" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "victoria-logs-linux-amd64*.tar.gz" + fetch_and_deploy_gh_release "vlutils" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "vlutils-linux-amd64*.tar.gz" chmod +x /opt/victoriametrics/* - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated $APP to v${RELEASE}" msg_info "Starting $APP" systemctl start victoriametrics + [[ -f /etc/systemd/system/victoriametrics-logs.service ]] && systemctl start victoriametrics-logs msg_ok "Started $APP" - msg_info "Cleaning Up" - rm -rf $temp_dir - msg_ok "Cleaned" msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at ${RELEASE}" diff --git a/install/victoriametrics-install.sh b/install/victoriametrics-install.sh index 2c53d579a..3fd59a5ef 100644 --- a/install/victoriametrics-install.sh +++ b/install/victoriametrics-install.sh @@ -13,15 +13,13 @@ setting_up_container network_check update_os +fetch_and_deploy_gh_release "victoriametrics" "VictoriaMetrics/VictoriaMetrics" "prebuild" "latest" "/opt/victoriametrics" "victoria-metrics-linux-amd64-v+([0-9.]).tar.gz" +fetch_and_deploy_gh_release "vmutils" "VictoriaMetrics/VictoriaMetrics" "prebuild" "latest" "/opt/victoriametrics" "vmutils-linux-amd64-v+([0-9.]).tar.gz" +fetch_and_deploy_gh_release "victorialogs" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "victoria-logs-linux-amd64*.tar.gz" +fetch_and_deploy_gh_release "vlutils" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "vlutils-linux-amd64*.tar.gz" + msg_info "Setup VictoriaMetrics" -temp_dir=$(mktemp -d) -cd $temp_dir mkdir -p /opt/victoriametrics/data -RELEASE=$(curl -fsSL https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/victoria-metrics-linux-amd64-v${RELEASE}.tar.gz" -o "victoria-metrics-linux-amd64-v${RELEASE}.tar.gz" -curl -fsSL "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/vmutils-linux-amd64-v${RELEASE}.tar.gz" -o "vmutils-linux-amd64-v${RELEASE}.tar.gz" -tar -xf victoria-metrics-linux-amd64-v${RELEASE}.tar.gz -C /opt/victoriametrics -tar -xf vmutils-linux-amd64-v${RELEASE}.tar.gz -C /opt/victoriametrics chmod +x /opt/victoriametrics/* msg_ok "Setup VictoriaMetrics" @@ -37,10 +35,26 @@ User=root WorkingDirectory=/opt/victoriametrics ExecStart=/opt/victoriametrics/victoria-metrics-prod --storageDataPath="/opt/victoriametrics/data" +[Install] +WantedBy=multi-user.target +EOF + +cat </etc/systemd/system/victoriametrics-logs.service +[Unit] +Description=VictoriaMetrics Service + +[Service] +Type=simple +Restart=always +User=root +WorkingDirectory=/opt/victoriametrics +ExecStart=/opt/victoriametrics/victoria-logs-prod + [Install] WantedBy=multi-user.target EOF systemctl enable -q --now victoriametrics +systemctl enable -q --now victoriametrics-logs msg_ok "Created Service" motd_ssh From 0a722a242fff5e9f6dbdfd192e8f82992035a099 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 19:37:43 +0000 Subject: [PATCH 071/117] Update CHANGELOG.md (#6218) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4c9732a4..3a0faca62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### ✨ New Features + - Refactor: VictoriaMetrics [@tremor021](https://github.com/tremor021) ([#6210](https://github.com/community-scripts/ProxmoxVE/pull/6210)) - Headscale: Add headscale-admin UI as option [@tremor021](https://github.com/tremor021) ([#6205](https://github.com/community-scripts/ProxmoxVE/pull/6205)) - #### 🔧 Refactor From 89b2b2176184057a5c8affc089e642f05a7717d8 Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> Date: Thu, 24 Jul 2025 22:04:16 +0200 Subject: [PATCH 072/117] snipeit-install.sh (#6217) --- install/snipeit-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/snipeit-install.sh b/install/snipeit-install.sh index 98abcdacb..079893a72 100644 --- a/install/snipeit-install.sh +++ b/install/snipeit-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y \ composer \ git \ nginx \ - php8.2-{bcmath,common,ctype,curl,fileinfo,fpm,gd,iconv,intl,mbstring,mysql,soap,xml,xsl,zip,cli} + php8.2-{bcmath,common,ctype,ldap,curl,fileinfo,fpm,gd,iconv,intl,mbstring,mysql,soap,xml,xsl,zip,cli} msg_ok "Installed Dependencies" setup_mariadb From c82c185e4e18ca76a0c8407d0d94873737256dd8 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 24 Jul 2025 20:04:36 +0000 Subject: [PATCH 073/117] Update CHANGELOG.md (#6220) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a0faca62..166bc716f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### ✨ New Features + - SnipeIT - Update dependencies [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#6217](https://github.com/community-scripts/ProxmoxVE/pull/6217)) - Refactor: VictoriaMetrics [@tremor021](https://github.com/tremor021) ([#6210](https://github.com/community-scripts/ProxmoxVE/pull/6210)) - Headscale: Add headscale-admin UI as option [@tremor021](https://github.com/tremor021) ([#6205](https://github.com/community-scripts/ProxmoxVE/pull/6205)) From cadd0a53bd55f332912dbafb72677514b410733b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 02:13:25 +0200 Subject: [PATCH 074/117] Update versions.json (#6222) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 124 ++++++++++++++--------------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 8dc151c05..178d05fcf 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,19 +1,74 @@ [ + { + "name": "Brandawg93/PeaNUT", + "version": "v5.10.0", + "date": "2025-07-24T23:33:09Z" + }, + { + "name": "coder/code-server", + "version": "v4.102.2", + "date": "2025-07-24T22:42:01Z" + }, + { + "name": "MediaBrowser/Emby.Releases", + "version": "4.9.1.2", + "date": "2025-06-26T22:08:00Z" + }, + { + "name": "tailscale/tailscale", + "version": "v1.87.0-pre", + "date": "2025-07-24T18:25:57Z" + }, + { + "name": "linuxserver/Heimdall", + "version": "v2.7.3", + "date": "2025-07-24T18:07:21Z" + }, + { + "name": "docker/compose", + "version": "v2.39.1", + "date": "2025-07-24T17:02:01Z" + }, + { + "name": "wizarrrr/wizarr", + "version": "2025.7.7", + "date": "2025-07-24T16:44:19Z" + }, + { + "name": "immich-app/immich", + "version": "v1.136.0", + "date": "2025-07-24T16:42:30Z" + }, { "name": "meilisearch/meilisearch", - "version": "prototype-arroy-becomes-hannoy-3", - "date": "2025-07-24T10:20:01Z" + "version": "prototype-cellulite-1", + "date": "2025-07-24T16:32:57Z" + }, + { + "name": "grokability/snipe-it", + "version": "v8.2.1", + "date": "2025-07-24T14:37:54Z" + }, + { + "name": "Stirling-Tools/Stirling-PDF", + "version": "v1.1.0", + "date": "2025-07-24T14:08:58Z" + }, + { + "name": "glpi-project/glpi", + "version": "10.0.19", + "date": "2025-07-16T09:45:14Z" + }, + { + "name": "Paymenter/Paymenter", + "version": "v1.2.5", + "date": "2025-07-24T11:52:16Z" }, { "name": "keycloak/keycloak", "version": "26.3.2", "date": "2025-07-24T10:14:27Z" }, - { - "name": "docker/compose", - "version": "v2.39.0", - "date": "2025-07-24T08:31:49Z" - }, { "name": "Checkmk/checkmk", "version": "v2.3.0p35-rc2", @@ -64,11 +119,6 @@ "version": "preview-plex-home-profile", "date": "2025-07-23T16:40:31Z" }, - { - "name": "grokability/snipe-it", - "version": "v8.2.0", - "date": "2025-07-23T15:26:10Z" - }, { "name": "jenkinsci/jenkins", "version": "jenkins-2.516.1", @@ -144,11 +194,6 @@ "version": "21.0.2", "date": "2025-07-22T16:58:05Z" }, - { - "name": "linuxserver/Heimdall", - "version": "v2.7.2", - "date": "2025-07-22T15:00:08Z" - }, { "name": "PCJones/UmlautAdaptarr", "version": "v0.7.3", @@ -194,11 +239,6 @@ "version": "v1.2.2", "date": "2025-07-22T03:12:54Z" }, - { - "name": "MediaBrowser/Emby.Releases", - "version": "4.9.1.2", - "date": "2025-06-26T22:08:00Z" - }, { "name": "ellite/Wallos", "version": "v4.0.0", @@ -274,11 +314,6 @@ "version": "sdk/v0.26.0", "date": "2025-07-20T13:26:30Z" }, - { - "name": "wizarrrr/wizarr", - "version": "2025.7.6", - "date": "2025-07-20T13:02:43Z" - }, { "name": "OliveTin/OliveTin", "version": "2025.7.19", @@ -329,16 +364,6 @@ "version": "v0.29.0", "date": "2025-07-19T08:54:54Z" }, - { - "name": "Paymenter/Paymenter", - "version": "v1.2.4", - "date": "2025-07-19T07:42:25Z" - }, - { - "name": "Brandawg93/PeaNUT", - "version": "v5.9.4", - "date": "2025-07-18T21:50:31Z" - }, { "name": "theonedev/onedev", "version": "v12.0.1", @@ -364,11 +389,6 @@ "version": "v6.13.1", "date": "2025-07-17T21:36:42Z" }, - { - "name": "coder/code-server", - "version": "v4.102.1", - "date": "2025-07-17T21:20:36Z" - }, { "name": "duplicati/duplicati", "version": "v2.1.1.0-2.1.1.0_experimental_2025-07-17", @@ -414,11 +434,6 @@ "version": "v1.27.1", "date": "2025-07-16T13:29:00Z" }, - { - "name": "glpi-project/glpi", - "version": "10.0.19", - "date": "2025-07-16T09:45:14Z" - }, { "name": "NLnetLabs/unbound", "version": "release-1.23.1", @@ -609,11 +624,6 @@ "version": "mysql-cluster-9.4.0", "date": "2025-07-09T08:35:30Z" }, - { - "name": "Stirling-Tools/Stirling-PDF", - "version": "v1.0.2", - "date": "2025-07-08T19:14:31Z" - }, { "name": "TwiN/gatus", "version": "v5.20.0", @@ -769,11 +779,6 @@ "version": "v1.3.8", "date": "2025-06-29T07:41:53Z" }, - { - "name": "tailscale/tailscale", - "version": "v1.84.3", - "date": "2025-06-26T16:31:57Z" - }, { "name": "node-red/node-red", "version": "4.1.0-beta.2", @@ -819,11 +824,6 @@ "version": "v2.0.114", "date": "2025-06-21T11:20:21Z" }, - { - "name": "immich-app/immich", - "version": "v1.135.3", - "date": "2025-06-20T20:19:20Z" - }, { "name": "Sonarr/Sonarr", "version": "v4.0.15.2941", From 0484259f39c13b1070714907a6450f2ae0c605d3 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 00:13:46 +0000 Subject: [PATCH 075/117] Update CHANGELOG.md (#6223) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 166bc716f..28a09fb50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-07-25 + ## 2025-07-24 ### 🆕 New Scripts From 1ae40a929b2de318226adfa8487d5d502be49b78 Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 25 Jul 2025 01:03:30 -0400 Subject: [PATCH 076/117] Wizarr: use absolute path to uv (#6221) - for reasons unknown, updating to 2025.7.7 failed due to uv not being in the PATH anymore --- ct/wizarr.sh | 6 +++--- install/wizarr-install.sh | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ct/wizarr.sh b/ct/wizarr.sh index 3877623eb..178aa68ca 100644 --- a/ct/wizarr.sh +++ b/ct/wizarr.sh @@ -45,13 +45,13 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" cd /opt/wizarr - uv -q sync --locked - $STD uv -q run pybabel compile -d app/translations + /usr/local/bin/uv -q sync --locked + $STD /usr/local/bin/uv -q run pybabel compile -d app/translations $STD npm --prefix app/static install $STD npm --prefix app/static run build:css mkdir -p ./.cache $STD tar -xf "$BACKUP_FILE" --directory=/ - $STD uv -q run flask db upgrade + $STD /usr/local/bin/uv -q run flask db upgrade msg_ok "Updated $APP to v${RELEASE}" msg_info "Starting $APP" diff --git a/install/wizarr-install.sh b/install/wizarr-install.sh index c9cae2a15..ae595a28f 100644 --- a/install/wizarr-install.sh +++ b/install/wizarr-install.sh @@ -23,12 +23,12 @@ fetch_and_deploy_gh_release "wizarr" "wizarrrr/wizarr" msg_info "Configure ${APPLICATION}" cd /opt/wizarr -uv -q sync --locked -$STD uv -q run pybabel compile -d app/translations +/usr/local/bin/uv -q sync --locked +$STD /usr/local/bin/uv -q run pybabel compile -d app/translations $STD npm --prefix app/static install $STD npm --prefix app/static run build:css mkdir -p ./.cache -$STD uv -q run flask db upgrade +$STD /usr/local/bin/uv -q run flask db upgrade msg_ok "Configure ${APPLICATION}" msg_info "Creating env, start script and service" From e8e90ce5b55285e696e14ee5f24dea7e732b474f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 05:03:52 +0000 Subject: [PATCH 077/117] Update CHANGELOG.md (#6225) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28a09fb50..c6aab8392 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-25 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - Wizarr: use absolute path to uv [@vhsdream](https://github.com/vhsdream) ([#6221](https://github.com/community-scripts/ProxmoxVE/pull/6221)) + ## 2025-07-24 ### 🆕 New Scripts From 5b6b55d37a7cf4f3a1e3ec7202674f51f97b9c6c Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 25 Jul 2025 01:05:19 -0400 Subject: [PATCH 078/117] Immich v1.136.0 (#6219) - change path of copy command - pin to latest working version rather than latest --- ct/immich.sh | 6 +++--- install/immich-install.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ct/immich.sh b/ct/immich.sh index 0c3e488d6..3244a20d4 100644 --- a/ct/immich.sh +++ b/ct/immich.sh @@ -58,7 +58,7 @@ function update_script() { done msg_ok "Image-processing libraries updated" fi - RELEASE="1.135.3" + RELEASE="1.136.0" #RELEASE=$(curl -fsSL https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ -f ~/.immich && "$RELEASE" == "$(cat ~/.immich)" ]]; then msg_ok "No update required. ${APP} is already at v${RELEASE}" @@ -103,7 +103,7 @@ function update_script() { mkdir -p "$ML_DIR" rm -rf "$SRC_DIR" - fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.135.3" "$SRC_DIR" + fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.136.0" "$SRC_DIR" msg_info "Updating ${APP} web and microservices" cd "$SRC_DIR"/server @@ -121,7 +121,7 @@ function update_script() { $STD npm ci $STD npm run build cd "$SRC_DIR" - cp -a server/{node_modules,dist,bin,resources,package.json,package-lock.json,start*.sh} "$APP_DIR"/ + cp -a server/{node_modules,dist,bin,resources,package.json,package-lock.json,bin/start.sh} "$APP_DIR"/ cp -a web/build "$APP_DIR"/www cp LICENSE "$APP_DIR" cd "$APP_DIR" diff --git a/install/immich-install.sh b/install/immich-install.sh index de0a63579..c34168646 100644 --- a/install/immich-install.sh +++ b/install/immich-install.sh @@ -283,7 +283,7 @@ GEO_DIR="${INSTALL_DIR}/geodata" mkdir -p "$INSTALL_DIR" mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${ML_DIR}","${INSTALL_DIR}"/cache} -fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.135.3" "$SRC_DIR" +fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.136.0" "$SRC_DIR" msg_info "Installing ${APPLICATION} (more patience please)" From ff429ded15a90b7bb6ec7c23e32985c4b9b347e0 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 05:05:42 +0000 Subject: [PATCH 079/117] Update CHANGELOG.md (#6226) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6aab8392..3198c7a67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - Immich v1.136.0 [@vhsdream](https://github.com/vhsdream) ([#6219](https://github.com/community-scripts/ProxmoxVE/pull/6219)) - Wizarr: use absolute path to uv [@vhsdream](https://github.com/vhsdream) ([#6221](https://github.com/community-scripts/ProxmoxVE/pull/6221)) ## 2025-07-24 From aa9373402e9fce02d88a300c53f6adcb5ef6a3d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 25 Jul 2025 08:24:12 +0200 Subject: [PATCH 080/117] Update headscale-install.sh (#6229) --- install/headscale-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/headscale-install.sh b/install/headscale-install.sh index 38ccc7e9e..27a7431cc 100644 --- a/install/headscale-install.sh +++ b/install/headscale-install.sh @@ -23,7 +23,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then $STD apt-get install -y caddy $STD caddy stop rm /etc/caddy/Caddyfile - cat </etc/caddy/Caddyfile + cat <<'EOF' >/etc/caddy/Caddyfile :{$PORT:80} handle_path /admin* { From 7272c8dd5090ec80359a4679e542ae4dfc33cab3 Mon Sep 17 00:00:00 2001 From: ape364 Date: Fri, 25 Jul 2025 15:16:10 +0500 Subject: [PATCH 081/117] Update pulse.json (#6235) fix link --- frontend/public/json/pulse.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/pulse.json b/frontend/public/json/pulse.json index db2da7d02..b92c6bf58 100644 --- a/frontend/public/json/pulse.json +++ b/frontend/public/json/pulse.json @@ -33,7 +33,7 @@ }, "notes": [ { - "text": "Create Proxmox-API-Token first: `https://github.com/rcourtman/Pulse?tab=readme-ov-file#creating-a-proxmox-api-token`", + "text": "Create Proxmox-API-Token first: `https://github.com/rcourtman/Pulse?tab=readme-ov-file#creating-api-token`", "type": "Info" }, { From 57a299fe03cbca535996adcb9eb811b5ebf9acb9 Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 12:40:21 +0200 Subject: [PATCH 082/117] Cleanuparr (#6238) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 'Add new script' * Update cleanuparr.sh * Update cleanuparr.sh * Update cleanuparr-install.sh * Update frontend/public/json/cleanuparr.json Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> * Update frontend/public/json/cleanuparr.json --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> --- ct/cleanuparr.sh | 56 ++++++++++++++++++++++++++++ ct/headers/cleanuparr | 6 +++ frontend/public/json/cleanuparr.json | 35 +++++++++++++++++ install/cleanuparr-install.sh | 46 +++++++++++++++++++++++ 4 files changed, 143 insertions(+) create mode 100755 ct/cleanuparr.sh create mode 100644 ct/headers/cleanuparr create mode 100644 frontend/public/json/cleanuparr.json create mode 100755 install/cleanuparr-install.sh diff --git a/ct/cleanuparr.sh b/ct/cleanuparr.sh new file mode 100755 index 000000000..15cc87f35 --- /dev/null +++ b/ct/cleanuparr.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Lucas Zampieri (zampierilucas) | MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/Cleanuparr/Cleanuparr + +APP="Cleanuparr" +var_tags="${var_tags:-arr}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-1024}" +var_disk="${var_disk:-4}" +var_os="${var_os:-debian}" +var_version="${var_version:-12}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -f /opt/cleanuparr/Cleanuparr ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/Cleanuparr/Cleanuparr/releases/latest | jq -r '.tag_name' | sed 's/^v//') + if [[ "${RELEASE}" != "$(cat ~/.Cleanuparr 2>/dev/null)" ]] || [[ ! -f ~/.Cleanuparr ]]; then + msg_info "Stopping ${APP}" + systemctl stop cleanuparr + msg_ok "Stopped ${APP}" + + fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "$RELEASE" "/opt/cleanuparr" "*linux-amd64.zip" + + msg_info "Starting ${APP}" + systemctl start cleanuparr + msg_ok "Started ${APP}" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:11011${CL}" diff --git a/ct/headers/cleanuparr b/ct/headers/cleanuparr new file mode 100644 index 000000000..ef403c52a --- /dev/null +++ b/ct/headers/cleanuparr @@ -0,0 +1,6 @@ + ________ + / ____/ /__ ____ _____ __ ______ ____ _________ + / / / / _ \/ __ `/ __ \/ / / / __ \/ __ `/ ___/ ___/ +/ /___/ / __/ /_/ / / / / /_/ / /_/ / /_/ / / / / +\____/_/\___/\__,_/_/ /_/\__,_/ .___/\__,_/_/ /_/ + /_/ \ No newline at end of file diff --git a/frontend/public/json/cleanuparr.json b/frontend/public/json/cleanuparr.json new file mode 100644 index 000000000..18a90711e --- /dev/null +++ b/frontend/public/json/cleanuparr.json @@ -0,0 +1,35 @@ +{ + "name": "Cleanuparr", + "slug": "cleanuparr", + "categories": [ + 14 + ], + "date_created": "2025-07-23", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 11011, + "documentation": "https://cleanuparr.github.io/Cleanuparr/docs/", + "website": "https://github.com/Cleanuparr/Cleanuparr", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/cleanuparr.webp", + "config_path": "/opt/cleanuparr/config", + "description": "Cleanuparr is a tool for automating the cleanup of unwanted or blocked files in Sonarr, Radarr, and supported download clients like qBittorrent, Transmission, and Deluge. It removes incomplete, blocked, or malicious downloads and can trigger replacement searches to ensure your media library stays complete and up-to-date.", + "install_methods": [ + { + "type": "default", + "script": "ct/cleanuparr.sh", + "resources": { + "cpu": 2, + "ram": 1024, + "hdd": 4, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/cleanuparr-install.sh b/install/cleanuparr-install.sh new file mode 100755 index 000000000..06903aa10 --- /dev/null +++ b/install/cleanuparr-install.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Lucas Zampieri (zampierilucas) | MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/Cleanuparr/Cleanuparr + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-amd64.zip" + +msg_info "Creating Service" +cat </etc/systemd/system/cleanuparr.service +[Unit] +Description=Cleanuparr Daemon +After=syslog.target network.target + +[Service] +Type=simple +User=root +WorkingDirectory=/opt/cleanuparr +ExecStart=/opt/cleanuparr/Cleanuparr +Restart=on-failure +RestartSec=5 +Environment="PORT=11011" +Environment="CONFIG_DIR=/opt/cleanuparr/config" + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now cleanuparr +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 9cf83f0ef4c43347ff1cc6e31cd93360c55acfcc Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 10:40:37 +0000 Subject: [PATCH 083/117] Update date in json (#6239) Co-authored-by: GitHub Actions --- frontend/public/json/cleanuparr.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/cleanuparr.json b/frontend/public/json/cleanuparr.json index 18a90711e..bac2e3399 100644 --- a/frontend/public/json/cleanuparr.json +++ b/frontend/public/json/cleanuparr.json @@ -4,7 +4,7 @@ "categories": [ 14 ], - "date_created": "2025-07-23", + "date_created": "2025-07-25", "type": "ct", "updateable": true, "privileged": false, From c1ebb07416e8387a57c3adf9fb7d22948eaa049c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 10:40:40 +0000 Subject: [PATCH 084/117] Update CHANGELOG.md (#6240) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3198c7a67..cebfec05a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-25 +### 🆕 New Scripts + + - Cleanuparr ([#6238](https://github.com/community-scripts/ProxmoxVE/pull/6238)) + ### 🚀 Updated Scripts - #### 🐞 Bug Fixes From 7efdc02bc416d2d4de3bff0f995d0bea18037da4 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 10:40:59 +0000 Subject: [PATCH 085/117] Update CHANGELOG.md (#6242) Co-authored-by: github-actions[bot] From 470a2593a29726bc40df56fc4fb4db1d516af4ba Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 12:42:49 +0200 Subject: [PATCH 086/117] Update .app files (#6241) Co-authored-by: GitHub Actions --- ct/headers/cleanuparr | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ct/headers/cleanuparr b/ct/headers/cleanuparr index ef403c52a..28427b25d 100644 --- a/ct/headers/cleanuparr +++ b/ct/headers/cleanuparr @@ -1,6 +1,6 @@ - ________ - / ____/ /__ ____ _____ __ ______ ____ _________ + ________ + / ____/ /__ ____ _____ __ ______ ____ ___________ / / / / _ \/ __ `/ __ \/ / / / __ \/ __ `/ ___/ ___/ / /___/ / __/ /_/ / / / / /_/ / /_/ / /_/ / / / / \____/_/\___/\__,_/_/ /_/\__,_/ .___/\__,_/_/ /_/ - /_/ \ No newline at end of file + /_/ From a7a6a81596faeabea3e74aeab21ade859c91eddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 25 Jul 2025 13:29:59 +0200 Subject: [PATCH 087/117] Fix RELEASE fetch (#6237) --- ct/alpine-teamspeak-server.sh | 2 +- install/alpine-teamspeak-server-install.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ct/alpine-teamspeak-server.sh b/ct/alpine-teamspeak-server.sh index 0e60aac74..224e4b147 100644 --- a/ct/alpine-teamspeak-server.sh +++ b/ct/alpine-teamspeak-server.sh @@ -27,7 +27,7 @@ function update_script() { exit 1 fi - RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n '/teamspeak3-server_linux_amd64-/ { s/.*teamspeak3-server_linux_amd64-\([0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/p; q }') + set +o pipefail && RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.teamspeak3-server_linux_amd64-([0-9]+.[0-9]+.[0-9]+)./\1/p' | head -1) && set -o pipefail if [ "${RELEASE}" != "$(cat ~/.teamspeak-server)" ] || [ ! -f ~/.teamspeak-server ]; then msg_info "Updating ${APP} LXC" diff --git a/install/alpine-teamspeak-server-install.sh b/install/alpine-teamspeak-server-install.sh index b99642153..5b1f25243 100644 --- a/install/alpine-teamspeak-server-install.sh +++ b/install/alpine-teamspeak-server-install.sh @@ -20,7 +20,7 @@ $STD apk add --no-cache \ libc6-compat msg_ok "Installed dependencies" -RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n '/teamspeak3-server_linux_amd64-/ { s/.*teamspeak3-server_linux_amd64-\([0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/p; q }') +set +o pipefail && RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.teamspeak3-server_linux_amd64-([0-9]+.[0-9]+.[0-9]+)./\1/p' | head -1) && set -o pipefail msg_info "Installing Teamspeak Server v${RELEASE}" mkdir -p /opt/teamspeak-server From 72cf24fef47ae4d2b82c2a6656ea117c48e83c94 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 14:05:18 +0200 Subject: [PATCH 088/117] Update versions.json (#6246) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 84 +++++++++++++++--------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 178d05fcf..849f0b0b4 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,39 @@ [ + { + "name": "Luligu/matterbridge", + "version": "3.1.7", + "date": "2025-07-25T10:19:56Z" + }, + { + "name": "morpheus65535/bazarr", + "version": "v1.5.3-beta.10", + "date": "2025-07-15T06:07:03Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2193", + "date": "2025-07-25T05:54:10Z" + }, + { + "name": "ErsatzTV/ErsatzTV", + "version": "v25.3.1", + "date": "2025-07-25T03:39:31Z" + }, + { + "name": "TryGhost/Ghost-CLI", + "version": "v1.28.0", + "date": "2025-07-25T01:21:13Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" + }, + { + "name": "henrygd/beszel", + "version": "v0.12.0", + "date": "2025-07-25T00:17:37Z" + }, { "name": "Brandawg93/PeaNUT", "version": "v5.10.0", @@ -44,6 +79,11 @@ "version": "prototype-cellulite-1", "date": "2025-07-24T16:32:57Z" }, + { + "name": "keycloak/keycloak", + "version": "26.3.2", + "date": "2025-07-24T10:14:27Z" + }, { "name": "grokability/snipe-it", "version": "v8.2.1", @@ -64,11 +104,6 @@ "version": "v1.2.5", "date": "2025-07-24T11:52:16Z" }, - { - "name": "keycloak/keycloak", - "version": "26.3.2", - "date": "2025-07-24T10:14:27Z" - }, { "name": "Checkmk/checkmk", "version": "v2.3.0p35-rc2", @@ -79,21 +114,11 @@ "version": "v10.10.0", "date": "2025-07-24T06:15:19Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2187", - "date": "2025-07-24T05:56:26Z" - }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.21", "date": "2025-07-17T04:46:25Z" }, - { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" - }, { "name": "advplyr/audiobookshelf", "version": "v2.26.3", @@ -209,11 +234,6 @@ "version": "version/2025.4.4", "date": "2025-07-22T13:08:15Z" }, - { - "name": "Luligu/matterbridge", - "version": "3.1.6", - "date": "2025-07-22T12:22:34Z" - }, { "name": "crowdsecurity/crowdsec", "version": "v1.6.11", @@ -324,11 +344,6 @@ "version": "v1.12.2-rc.2", "date": "2025-07-20T07:05:19Z" }, - { - "name": "morpheus65535/bazarr", - "version": "v1.5.3-beta.10", - "date": "2025-07-15T06:07:03Z" - }, { "name": "linkwarden/linkwarden", "version": "v2.11.5", @@ -356,8 +371,8 @@ }, { "name": "bunkerity/bunkerweb", - "version": "v1.6.2", - "date": "2025-07-08T13:52:33Z" + "version": "testing", + "date": "2025-07-18T16:38:52Z" }, { "name": "pocketbase/pocketbase", @@ -429,11 +444,6 @@ "version": "v0.25.0", "date": "2025-07-16T14:57:02Z" }, - { - "name": "TryGhost/Ghost-CLI", - "version": "v1.27.1", - "date": "2025-07-16T13:29:00Z" - }, { "name": "NLnetLabs/unbound", "version": "release-1.23.1", @@ -524,11 +534,6 @@ "version": "v4.39.5", "date": "2025-07-13T06:12:47Z" }, - { - "name": "henrygd/beszel", - "version": "v0.11.1", - "date": "2025-04-29T01:14:35Z" - }, { "name": "Ombi-app/Ombi", "version": "v4.47.1", @@ -794,11 +799,6 @@ "version": "v1.18.4", "date": "2025-06-25T00:06:56Z" }, - { - "name": "ErsatzTV/ErsatzTV", - "version": "v25.2.0", - "date": "2025-06-24T17:06:31Z" - }, { "name": "arunavo4/gitea-mirror", "version": "v2.18.0", From 72fc8a1880960fff6c4deb18c7c34d1c5e0c16eb Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 12:05:38 +0000 Subject: [PATCH 089/117] Update CHANGELOG.md (#6247) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cebfec05a..ce3e3fefb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,8 +20,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes - - Immich v1.136.0 [@vhsdream](https://github.com/vhsdream) ([#6219](https://github.com/community-scripts/ProxmoxVE/pull/6219)) - Wizarr: use absolute path to uv [@vhsdream](https://github.com/vhsdream) ([#6221](https://github.com/community-scripts/ProxmoxVE/pull/6221)) + - Immich v1.136.0 [@vhsdream](https://github.com/vhsdream) ([#6219](https://github.com/community-scripts/ProxmoxVE/pull/6219)) ## 2025-07-24 From 2c57cd815b4ffa868688250b0cf8b1be41d2481e Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 25 Jul 2025 14:43:40 +0200 Subject: [PATCH 090/117] Update alpine-teamspeak-server-install.sh --- install/alpine-teamspeak-server-install.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/install/alpine-teamspeak-server-install.sh b/install/alpine-teamspeak-server-install.sh index 5b1f25243..1755a794c 100644 --- a/install/alpine-teamspeak-server-install.sh +++ b/install/alpine-teamspeak-server-install.sh @@ -17,10 +17,11 @@ msg_info "Installing dependencies" $STD apk add --no-cache \ ca-certificates \ libstdc++ \ - libc6-compat + libc6-compat \ + grep msg_ok "Installed dependencies" -set +o pipefail && RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.teamspeak3-server_linux_amd64-([0-9]+.[0-9]+.[0-9]+)./\1/p' | head -1) && set -o pipefail +RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | grep -oP 'teamspeak3-server_linux_amd64-\K[0-9]+\.[0-9]+\.[0-9]+' | head -1) msg_info "Installing Teamspeak Server v${RELEASE}" mkdir -p /opt/teamspeak-server From 02ad46585ed697c1d3edc5168248e9f6e21f69ae Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 25 Jul 2025 08:43:53 -0400 Subject: [PATCH 091/117] Immich: fix #6236 (#6243) --- install/immich-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/immich-install.sh b/install/immich-install.sh index c34168646..67338c873 100644 --- a/install/immich-install.sh +++ b/install/immich-install.sh @@ -299,7 +299,7 @@ cd "$SRC_DIR"/web $STD npm ci $STD npm run build cd "$SRC_DIR" -cp -a server/{node_modules,dist,bin,resources,package.json,package-lock.json,start*.sh} "$APP_DIR"/ +cp -a server/{node_modules,dist,bin,resources,package.json,package-lock.json,bin/start.sh} "$APP_DIR"/ cp -a web/build "$APP_DIR"/www cp LICENSE "$APP_DIR" cd "$APP_DIR" From 6afa25b06b49b4de01317d9f2c5998312d8009eb Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 25 Jul 2025 12:44:13 +0000 Subject: [PATCH 092/117] Update CHANGELOG.md (#6248) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce3e3fefb..6743704db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - Immich: fix #6236 [@vhsdream](https://github.com/vhsdream) ([#6243](https://github.com/community-scripts/ProxmoxVE/pull/6243)) - Wizarr: use absolute path to uv [@vhsdream](https://github.com/vhsdream) ([#6221](https://github.com/community-scripts/ProxmoxVE/pull/6221)) - Immich v1.136.0 [@vhsdream](https://github.com/vhsdream) ([#6219](https://github.com/community-scripts/ProxmoxVE/pull/6219)) From c688887f432c45e770d4d4565d764c2b39bf0d74 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 25 Jul 2025 14:46:56 +0200 Subject: [PATCH 093/117] Update alpine-teamspeak-server-install.sh --- install/alpine-teamspeak-server-install.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/install/alpine-teamspeak-server-install.sh b/install/alpine-teamspeak-server-install.sh index 1755a794c..6e29bc30d 100644 --- a/install/alpine-teamspeak-server-install.sh +++ b/install/alpine-teamspeak-server-install.sh @@ -17,11 +17,13 @@ msg_info "Installing dependencies" $STD apk add --no-cache \ ca-certificates \ libstdc++ \ - libc6-compat \ - grep + libc6-compat msg_ok "Installed dependencies" -RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | grep -oP 'teamspeak3-server_linux_amd64-\K[0-9]+\.[0-9]+\.[0-9]+' | head -1) +RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server \ + | grep -oE 'teamspeak3-server_linux_amd64-[0-9]+\.[0-9]+\.[0-9]+' \ + | head -1 \ + | sed 's/teamspeak3-server_linux_amd64-//') msg_info "Installing Teamspeak Server v${RELEASE}" mkdir -p /opt/teamspeak-server From 22ccd36e5585ff65455387ca7f3ed98689da156d Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 25 Jul 2025 14:50:56 +0200 Subject: [PATCH 094/117] Update alpine-teamspeak-server-install.sh --- install/alpine-teamspeak-server-install.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/install/alpine-teamspeak-server-install.sh b/install/alpine-teamspeak-server-install.sh index 6e29bc30d..c2cdc3489 100644 --- a/install/alpine-teamspeak-server-install.sh +++ b/install/alpine-teamspeak-server-install.sh @@ -20,11 +20,7 @@ $STD apk add --no-cache \ libc6-compat msg_ok "Installed dependencies" -RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server \ - | grep -oE 'teamspeak3-server_linux_amd64-[0-9]+\.[0-9]+\.[0-9]+' \ - | head -1 \ - | sed 's/teamspeak3-server_linux_amd64-//') - +RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.*teamspeak3-server_linux_amd64-\([0-9.]\+\).*/\1/p' | head -1) msg_info "Installing Teamspeak Server v${RELEASE}" mkdir -p /opt/teamspeak-server cd /opt/teamspeak-server From 44cee5f30390e1a7ef05e356a81d1def1b60ce4b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 26 Jul 2025 02:13:16 +0200 Subject: [PATCH 095/117] Update versions.json (#6253) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 94 +++++++++++++++--------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 849f0b0b4..2e529b4be 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,49 @@ [ + { + "name": "henrygd/beszel", + "version": "v0.12.1", + "date": "2025-07-25T23:53:12Z" + }, + { + "name": "gtsteffaniak/filebrowser", + "version": "v0.7.17-beta", + "date": "2025-07-25T22:03:43Z" + }, + { + "name": "ollama/ollama", + "version": "v0.10.0-rc2", + "date": "2025-07-25T21:24:06Z" + }, + { + "name": "homarr-labs/homarr", + "version": "v1.30.1", + "date": "2025-07-25T19:18:09Z" + }, + { + "name": "tailscale/tailscale", + "version": "v1.86.1", + "date": "2025-07-25T17:55:38Z" + }, + { + "name": "openobserve/openobserve", + "version": "v0.15.0-rc4", + "date": "2025-07-25T16:50:34Z" + }, + { + "name": "fuma-nama/fumadocs", + "version": "fumadocs-openapi@9.1.5", + "date": "2025-07-25T16:20:20Z" + }, + { + "name": "heiher/hev-socks5-server", + "version": "2.9.0", + "date": "2025-07-25T14:20:25Z" + }, + { + "name": "forgejo/forgejo", + "version": "v12.0.1", + "date": "2025-07-25T11:54:30Z" + }, { "name": "Luligu/matterbridge", "version": "3.1.7", @@ -29,11 +74,6 @@ "version": "v3.6.2", "date": "2025-07-17T12:08:03Z" }, - { - "name": "henrygd/beszel", - "version": "v0.12.0", - "date": "2025-07-25T00:17:37Z" - }, { "name": "Brandawg93/PeaNUT", "version": "v5.10.0", @@ -49,11 +89,6 @@ "version": "4.9.1.2", "date": "2025-06-26T22:08:00Z" }, - { - "name": "tailscale/tailscale", - "version": "v1.87.0-pre", - "date": "2025-07-24T18:25:57Z" - }, { "name": "linuxserver/Heimdall", "version": "v2.7.3", @@ -189,11 +224,6 @@ "version": "v1.13.7", "date": "2025-07-22T20:41:45Z" }, - { - "name": "ollama/ollama", - "version": "v0.9.7-rc1", - "date": "2025-07-11T22:15:00Z" - }, { "name": "TasmoAdmin/TasmoAdmin", "version": "v4.3.1", @@ -264,11 +294,6 @@ "version": "v4.0.0", "date": "2025-07-21T21:05:02Z" }, - { - "name": "gtsteffaniak/filebrowser", - "version": "v0.7.16-beta", - "date": "2025-07-21T20:58:02Z" - }, { "name": "autobrr/autobrr", "version": "v1.64.0", @@ -304,11 +329,6 @@ "version": "pmm-6401-v1.122.0", "date": "2025-07-21T10:40:07Z" }, - { - "name": "homarr-labs/homarr", - "version": "v1.30.0", - "date": "2025-07-21T08:43:19Z" - }, { "name": "nzbgetcom/nzbget", "version": "v25.2", @@ -324,11 +344,6 @@ "version": "v1.6.4", "date": "2025-07-21T05:53:30Z" }, - { - "name": "fuma-nama/fumadocs", - "version": "fumadocs-openapi@9.1.4", - "date": "2025-07-20T13:38:10Z" - }, { "name": "karakeep-app/karakeep", "version": "sdk/v0.26.0", @@ -371,8 +386,8 @@ }, { "name": "bunkerity/bunkerweb", - "version": "testing", - "date": "2025-07-18T16:38:52Z" + "version": "v1.6.2", + "date": "2025-07-08T13:52:33Z" }, { "name": "pocketbase/pocketbase", @@ -414,11 +429,6 @@ "version": "2.0.7", "date": "2025-07-17T15:33:14Z" }, - { - "name": "forgejo/forgejo", - "version": "v12.0.0", - "date": "2025-07-17T14:38:30Z" - }, { "name": "oauth2-proxy/oauth2-proxy", "version": "v7.10.0", @@ -754,11 +764,6 @@ "version": "v0.57.0", "date": "2025-07-01T16:47:46Z" }, - { - "name": "openobserve/openobserve", - "version": "v0.15.0-rc3", - "date": "2025-07-01T04:09:37Z" - }, { "name": "MagicMirrorOrg/MagicMirror", "version": "v2.32.0", @@ -1249,11 +1254,6 @@ "version": "v0.10.0", "date": "2025-03-02T15:13:47Z" }, - { - "name": "heiher/hev-socks5-server", - "version": "2.8.0", - "date": "2025-03-02T04:30:50Z" - }, { "name": "schlagmichdoch/PairDrop", "version": "v1.11.2", From e176779d49b4d006abcfc034ceebd5e940ea7d1b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 26 Jul 2025 00:13:38 +0000 Subject: [PATCH 096/117] Update CHANGELOG.md (#6254) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6743704db..721d78fa7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-07-26 + ## 2025-07-25 ### 🆕 New Scripts From 07da06cb75dcedede0f9af5983f7f1ec4b2b2437 Mon Sep 17 00:00:00 2001 From: leiweibau <105860611+leiweibau@users.noreply.github.com> Date: Sat, 26 Jul 2025 10:08:00 +0200 Subject: [PATCH 097/117] Update pialert-install.sh (#6251) --- install/pialert-install.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/install/pialert-install.sh b/install/pialert-install.sh index 3bd6c555a..595dd1e10 100644 --- a/install/pialert-install.sh +++ b/install/pialert-install.sh @@ -27,7 +27,9 @@ $STD apt-get -y install \ libwww-perl \ nmap \ aria2 \ - wakeonlan + wakeonlan \ + fping \ + zip msg_ok "Installed Dependencies" msg_info "Installing PHP Dependencies" @@ -47,12 +49,15 @@ $STD apt-get -y install \ python3-pip \ python3-requests \ python3-tz \ - python3-tzlocal + python3-tzlocal \ + python3-aiohttp rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED $STD pip3 install mac-vendor-lookup $STD pip3 install fritzconnection $STD pip3 install cryptography $STD pip3 install pyunifi +$STD pip3 install openwrt-luci-rpc +$STD pip3 install asusrouter msg_ok "Installed Python Dependencies" msg_info "Installing Pi.Alert" From 3e2d9bdd97d8cab76f6c7370d98acdc18e4aadcc Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 26 Jul 2025 08:08:20 +0000 Subject: [PATCH 098/117] Update CHANGELOG.md (#6256) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 721d78fa7..c93f33bf3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-26 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - PiAlert: Update dependencies [@leiweibau](https://github.com/leiweibau) ([#6251](https://github.com/community-scripts/ProxmoxVE/pull/6251)) + ## 2025-07-25 ### 🆕 New Scripts From 8900d12a9d3e853d031dbb3ccd5bfbbea7b54755 Mon Sep 17 00:00:00 2001 From: Manu <209072369+ManuelDrescher@users.noreply.github.com> Date: Sat, 26 Jul 2025 13:17:39 +0200 Subject: [PATCH 099/117] Update onlyoffice.json (#6259) --- frontend/public/json/onlyoffice.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/onlyoffice.json b/frontend/public/json/onlyoffice.json index 368943d7f..633c3cac0 100644 --- a/frontend/public/json/onlyoffice.json +++ b/frontend/public/json/onlyoffice.json @@ -2,7 +2,7 @@ "name": "ONLYOFFICE Docs", "slug": "onlyoffice", "categories": [ - 9 + 12 ], "date_created": "2025-06-24", "type": "ct", From ac6cf2af7b047325748fb4c4305ae011afbd3c4f Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sat, 26 Jul 2025 13:18:01 +0200 Subject: [PATCH 100/117] Calibre-Web: Remove from Frontend during Critical Security Issues (#6257) --- frontend/public/json/calibre-web.json | 40 ---------------- install/calibre-web-install.sh | 67 --------------------------- 2 files changed, 107 deletions(-) delete mode 100644 frontend/public/json/calibre-web.json delete mode 100644 install/calibre-web-install.sh diff --git a/frontend/public/json/calibre-web.json b/frontend/public/json/calibre-web.json deleted file mode 100644 index f6a15a79c..000000000 --- a/frontend/public/json/calibre-web.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "Calibre-Web", - "slug": "calibre-web", - "categories": [ - 11 - ], - "date_created": "2024-05-02", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 8083, - "documentation": "https://github.com/janeczku/calibre-web/wiki", - "website": "https://github.com/janeczku/calibre-web", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/calibre-web.webp", - "config_path": "", - "description": "Calibre-Web is a web app for browsing, reading and downloading eBooks stored in a Calibre database.", - "install_methods": [ - { - "type": "default", - "script": "ct/calibre-web.sh", - "resources": { - "cpu": 2, - "ram": 2048, - "hdd": 4, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": "admin", - "password": "admin123" - }, - "notes": [ - { - "text": "Add Calibre-Web Extras via `update`", - "type": "info" - } - ] -} diff --git a/install/calibre-web-install.sh b/install/calibre-web-install.sh deleted file mode 100644 index ff4d47dd7..000000000 --- a/install/calibre-web-install.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) -# Co-Author: remz1337 -# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/janeczku/calibre-web - -source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" -color -verb_ip6 -catch_errors -setting_up_container -network_check -update_os - -msg_info "Installing Dependencies" -$STD apt-get install -y imagemagick -msg_ok "Installed Dependencies" - -msg_info "Installing Python Dependencies" -$STD apt-get -y install python3-pip -rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED -msg_ok "Installed Python Dependencies" - -msg_info "Installing Kepubify" -mkdir -p /opt/kepubify -cd /opt/kepubify -curl -fsSLO https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-64bit &>/dev/null -chmod +x kepubify-linux-64bit -msg_ok "Installed Kepubify" - -msg_info "Installing Calibre-Web" -mkdir -p /opt/calibre-web -$STD apt-get install -y calibre -$STD curl -fsSL https://github.com/janeczku/calibre-web/raw/master/library/metadata.db -o /opt/calibre-web/metadata.db -$STD pip install calibreweb -$STD pip install jsonschema -msg_ok "Installed Calibre-Web" - -msg_info "Creating Service" -cat </etc/systemd/system/cps.service -[Unit] -Description=Calibre-Web Server -After=network.target - -[Service] -Type=simple -WorkingDirectory=/opt/calibre-web -ExecStart=/usr/local/bin/cps -TimeoutStopSec=20 -KillMode=process -Restart=on-failure - -[Install] -WantedBy=multi-user.target -EOF -systemctl enable -q --now cps -msg_ok "Created Service" - -motd_ssh -customize - -msg_info "Cleaning up" -$STD apt-get -y autoremove -$STD apt-get -y autoclean -msg_ok "Cleaned" From 67973ada075bd86bd38ce6d1134a26df86d81735 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 26 Jul 2025 14:04:44 +0200 Subject: [PATCH 101/117] Update versions.json (#6260) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 44 +++++++++++++++--------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 2e529b4be..c48d6953e 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,19 @@ [ + { + "name": "MediaBrowser/Emby.Releases", + "version": "4.9.1.2", + "date": "2025-06-26T22:08:00Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2196", + "date": "2025-07-26T05:57:45Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" + }, { "name": "henrygd/beszel", "version": "v0.12.1", @@ -11,14 +26,19 @@ }, { "name": "ollama/ollama", - "version": "v0.10.0-rc2", - "date": "2025-07-25T21:24:06Z" + "version": "v0.10.0-rc1", + "date": "2025-07-22T20:40:47Z" }, { "name": "homarr-labs/homarr", "version": "v1.30.1", "date": "2025-07-25T19:18:09Z" }, + { + "name": "keycloak/keycloak", + "version": "26.3.2", + "date": "2025-07-24T10:14:27Z" + }, { "name": "tailscale/tailscale", "version": "v1.86.1", @@ -54,11 +74,6 @@ "version": "v1.5.3-beta.10", "date": "2025-07-15T06:07:03Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2193", - "date": "2025-07-25T05:54:10Z" - }, { "name": "ErsatzTV/ErsatzTV", "version": "v25.3.1", @@ -69,11 +84,6 @@ "version": "v1.28.0", "date": "2025-07-25T01:21:13Z" }, - { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" - }, { "name": "Brandawg93/PeaNUT", "version": "v5.10.0", @@ -84,11 +94,6 @@ "version": "v4.102.2", "date": "2025-07-24T22:42:01Z" }, - { - "name": "MediaBrowser/Emby.Releases", - "version": "4.9.1.2", - "date": "2025-06-26T22:08:00Z" - }, { "name": "linuxserver/Heimdall", "version": "v2.7.3", @@ -114,11 +119,6 @@ "version": "prototype-cellulite-1", "date": "2025-07-24T16:32:57Z" }, - { - "name": "keycloak/keycloak", - "version": "26.3.2", - "date": "2025-07-24T10:14:27Z" - }, { "name": "grokability/snipe-it", "version": "v8.2.1", From 2588029d1e6742ba876ec5d383974c328c8083b5 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 27 Jul 2025 02:15:43 +0200 Subject: [PATCH 102/117] Update versions.json (#6268) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index c48d6953e..0b8ad2837 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,14 @@ [ + { + "name": "aceberg/WatchYourLAN", + "version": "2.1.3", + "date": "2025-07-26T14:19:00Z" + }, + { + "name": "blakeblackshear/frigate", + "version": "v0.14.1", + "date": "2024-08-29T22:32:51Z" + }, { "name": "MediaBrowser/Emby.Releases", "version": "4.9.1.2", @@ -26,8 +36,8 @@ }, { "name": "ollama/ollama", - "version": "v0.10.0-rc1", - "date": "2025-07-22T20:40:47Z" + "version": "v0.10.0-rc2", + "date": "2025-07-25T21:24:06Z" }, { "name": "homarr-labs/homarr", @@ -554,11 +564,6 @@ "version": "v10.10.7", "date": "2025-04-05T19:14:59Z" }, - { - "name": "blakeblackshear/frigate", - "version": "v0.14.1", - "date": "2024-08-29T22:32:51Z" - }, { "name": "leiweibau/Pi.Alert", "version": "v2025-07-12", @@ -1169,11 +1174,6 @@ "version": "1.5.0", "date": "2025-03-30T17:42:59Z" }, - { - "name": "aceberg/WatchYourLAN", - "version": "2.1.2-alpine", - "date": "2025-03-30T06:25:22Z" - }, { "name": "inspircd/inspircd", "version": "v4.7.0", From 0db8e39b4024688e58a23b61bbd74621e963d8c1 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 27 Jul 2025 00:16:02 +0000 Subject: [PATCH 103/117] Update CHANGELOG.md (#6269) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c93f33bf3..430251ef0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-07-27 + ## 2025-07-26 ### 🚀 Updated Scripts From 1e035c5c85ff1b3c0d4d4250097dafaa835c99e5 Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> Date: Sun, 27 Jul 2025 11:34:35 +0200 Subject: [PATCH 104/117] Delete frontend/public/json/opnsense-vm.json (#6266) --- frontend/public/json/opnsense-vm.json | 41 --------------------------- 1 file changed, 41 deletions(-) delete mode 100644 frontend/public/json/opnsense-vm.json diff --git a/frontend/public/json/opnsense-vm.json b/frontend/public/json/opnsense-vm.json deleted file mode 100644 index aa5d35516..000000000 --- a/frontend/public/json/opnsense-vm.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "OPNsense", - "slug": "opnsense-vm", - "categories": [ - 4, - 2 - ], - "date_created": "2025-02-11", - "type": "vm", - "updateable": true, - "privileged": false, - "interface_port": 443, - "documentation": "https://docs.opnsense.org/", - "website": "https://opnsense.org/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/opnsense.webp", - "config_path": "", - "description": "OPNsense is an open-source firewall and routing platform based on FreeBSD. It provides advanced security features, including intrusion detection, VPN support, traffic shaping, and web filtering, with an intuitive web interface for easy management. Known for its reliability and regular updates, OPNsense is a popular choice for both businesses and home networks.", - "install_methods": [ - { - "type": "default", - "script": "vm/opnsense-vm.sh", - "resources": { - "cpu": 4, - "ram": 8192, - "hdd": 10, - "os": "FreeBSD", - "version": "latest" - } - } - ], - "default_credentials": { - "username": "root", - "password": "opnsense" - }, - "notes": [ - { - "text": "It will fail with default settings if there is no vmbr0 and vmbr1 on your node. Use advanced settings in this case.", - "type": "warning" - } - ] -} From 27426ded944989783e89444a677b5615a5ad9cca Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 27 Jul 2025 14:05:21 +0200 Subject: [PATCH 105/117] Update versions.json (#6276) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 44 +++++++++++++++--------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 0b8ad2837..422e575b3 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,19 @@ [ + { + "name": "Jackett/Jackett", + "version": "v0.22.2200", + "date": "2025-07-27T05:52:33Z" + }, + { + "name": "project-zot/zot", + "version": "v2.1.6", + "date": "2025-07-27T01:14:14Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" + }, { "name": "aceberg/WatchYourLAN", "version": "2.1.3", @@ -9,21 +24,16 @@ "version": "v0.14.1", "date": "2024-08-29T22:32:51Z" }, + { + "name": "keycloak/keycloak", + "version": "26.3.2", + "date": "2025-07-24T10:14:27Z" + }, { "name": "MediaBrowser/Emby.Releases", "version": "4.9.1.2", "date": "2025-06-26T22:08:00Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2196", - "date": "2025-07-26T05:57:45Z" - }, - { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" - }, { "name": "henrygd/beszel", "version": "v0.12.1", @@ -36,19 +46,14 @@ }, { "name": "ollama/ollama", - "version": "v0.10.0-rc2", - "date": "2025-07-25T21:24:06Z" + "version": "v0.10.0-rc1", + "date": "2025-07-22T20:40:47Z" }, { "name": "homarr-labs/homarr", "version": "v1.30.1", "date": "2025-07-25T19:18:09Z" }, - { - "name": "keycloak/keycloak", - "version": "26.3.2", - "date": "2025-07-24T10:14:27Z" - }, { "name": "tailscale/tailscale", "version": "v1.86.1", @@ -879,11 +884,6 @@ "version": "2.0.0-pre3", "date": "2025-06-18T08:01:24Z" }, - { - "name": "project-zot/zot", - "version": "v2.1.5", - "date": "2025-06-17T18:04:11Z" - }, { "name": "donaldzou/WGDashboard", "version": "v4.2.4", From 5322ae69c36f42f64536bd262fc1b93e6e753791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sun, 27 Jul 2025 19:15:36 +0200 Subject: [PATCH 106/117] Update go2rtc-install.sh (#6280) --- install/go2rtc-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/go2rtc-install.sh b/install/go2rtc-install.sh index a7cd0ac38..2abfd4779 100644 --- a/install/go2rtc-install.sh +++ b/install/go2rtc-install.sh @@ -13,7 +13,7 @@ setting_up_container network_check update_os -fetch_and_deploy_gh_release "go2rtc" "AlexxIT/go2rtc" "singlefile" "latest" "/opt/go2rtc" "go2rtc_linux_amd64" +USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "go2rtc" "AlexxIT/go2rtc" "singlefile" "latest" "/opt/go2rtc" "go2rtc_linux_amd64" msg_info "Creating Service" cat </etc/systemd/system/go2rtc.service From 7b4bab66af0ae7e58c001d3fd9ffcb69a390b037 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 27 Jul 2025 17:15:55 +0000 Subject: [PATCH 107/117] Update CHANGELOG.md (#6281) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 430251ef0..ed792c4d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-27 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - go2rtc: Fix release download handling [@tremor021](https://github.com/tremor021) ([#6280](https://github.com/community-scripts/ProxmoxVE/pull/6280)) + ## 2025-07-26 ### 🚀 Updated Scripts From 33f6d698c71154249e79c7fbc343f1b876d273d9 Mon Sep 17 00:00:00 2001 From: Chris Date: Sun, 27 Jul 2025 15:57:22 -0400 Subject: [PATCH 108/117] karakeep: export DATA_DIR from user config in update (#6283) --- ct/karakeep.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ct/karakeep.sh b/ct/karakeep.sh index 1c214c952..7c71706bf 100644 --- a/ct/karakeep.sh +++ b/ct/karakeep.sh @@ -60,6 +60,7 @@ function update_script() { NODE_VERSION="22" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs msg_info "Updating ${APP} to v${RELEASE}" + corepack enable export PUPPETEER_SKIP_DOWNLOAD="true" export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true" export NEXT_TELEMETRY_DISABLED=1 @@ -72,7 +73,8 @@ function update_script() { cd /opt/karakeep/apps/cli $STD pnpm install --frozen-lockfile $STD pnpm build - export DATA_DIR=/opt/karakeep_data + DATA_DIR="$(sed -n '/^DATA_DIR/p' /etc/karakeep/karakeep.env | awk -F= '{print $2}')" + export DATA_DIR="${DATA_DIR:-/opt/karakeep_data}" cd /opt/karakeep/packages/db $STD pnpm migrate $STD pnpm store prune From 759f3f8c7972e5cf3068e5447bef80e5d981741b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 27 Jul 2025 19:57:44 +0000 Subject: [PATCH 109/117] Update CHANGELOG.md (#6284) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed792c4d5..4c456c8a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - karakeep: export DATA_DIR from user config in update [@vhsdream](https://github.com/vhsdream) ([#6283](https://github.com/community-scripts/ProxmoxVE/pull/6283)) - go2rtc: Fix release download handling [@tremor021](https://github.com/tremor021) ([#6280](https://github.com/community-scripts/ProxmoxVE/pull/6280)) ## 2025-07-26 From 1eb0099f2a4efb136d7bcce03fe3759a08997434 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 02:14:40 +0200 Subject: [PATCH 110/117] Update versions.json (#6288) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 54 +++++++++++++++--------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 422e575b3..c0c787cab 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,29 @@ [ + { + "name": "umami-software/umami", + "version": "v2.19.0", + "date": "2025-07-27T22:25:00Z" + }, + { + "name": "moghtech/komodo", + "version": "v1.18.4", + "date": "2025-06-25T00:06:56Z" + }, + { + "name": "dani-garcia/vaultwarden", + "version": "1.34.2", + "date": "2025-07-27T18:49:05Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.24.7", + "date": "2025-07-27T18:34:18Z" + }, + { + "name": "benjaminjonard/koillection", + "version": "1.6.16", + "date": "2025-07-27T14:48:37Z" + }, { "name": "Jackett/Jackett", "version": "v0.22.2200", @@ -46,8 +71,8 @@ }, { "name": "ollama/ollama", - "version": "v0.10.0-rc1", - "date": "2025-07-22T20:40:47Z" + "version": "v0.10.0-rc2", + "date": "2025-07-25T21:24:06Z" }, { "name": "homarr-labs/homarr", @@ -254,11 +279,6 @@ "version": "v3.42.0", "date": "2025-07-14T22:07:28Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.24.6", - "date": "2025-07-22T17:14:21Z" - }, { "name": "Dolibarr/dolibarr", "version": "21.0.2", @@ -459,11 +479,6 @@ "version": "8.1.15", "date": "2025-07-16T18:06:03Z" }, - { - "name": "benjaminjonard/koillection", - "version": "1.6.15", - "date": "2025-07-16T16:47:57Z" - }, { "name": "usememos/memos", "version": "v0.25.0", @@ -809,11 +824,6 @@ "version": "v1.6.1", "date": "2025-06-25T21:19:25Z" }, - { - "name": "moghtech/komodo", - "version": "v1.18.4", - "date": "2025-06-25T00:06:56Z" - }, { "name": "arunavo4/gitea-mirror", "version": "v2.18.0", @@ -1014,11 +1024,6 @@ "version": "5.10.0", "date": "2025-05-28T05:48:20Z" }, - { - "name": "dani-garcia/vaultwarden", - "version": "1.34.1", - "date": "2025-05-26T21:40:54Z" - }, { "name": "stonith404/pingvin-share", "version": "v1.13.0", @@ -1064,11 +1069,6 @@ "version": "1.0.0", "date": "2025-05-12T07:39:23Z" }, - { - "name": "umami-software/umami", - "version": "v2.18.1", - "date": "2025-05-12T07:16:12Z" - }, { "name": "owncast/owncast", "version": "v0.2.3", From b80ad6655fcfd1c14a20bda8520a113c81f97964 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 00:15:04 +0000 Subject: [PATCH 111/117] Update CHANGELOG.md (#6289) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c456c8a7..788ea5f56 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-07-28 + ## 2025-07-27 ### 🚀 Updated Scripts From 3676dff24eaa404a888acee3a3800c768c856f3f Mon Sep 17 00:00:00 2001 From: Chris Date: Mon, 28 Jul 2025 01:29:00 -0400 Subject: [PATCH 112/117] karakeep: Run workers in prod without tsx (#6285) - may improve performance on slow-ass devices - slightly increases build time --- ct/karakeep.sh | 5 +++++ install/karakeep-install.sh | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ct/karakeep.sh b/ct/karakeep.sh index 7c71706bf..b859bf163 100644 --- a/ct/karakeep.sh +++ b/ct/karakeep.sh @@ -52,6 +52,10 @@ function update_script() { rm -rf /opt/karakeep msg_ok "Update prepared" + if grep -q "start:prod" /etc/systemd/system/karakeep-workers.service; then + sed -i 's|^ExecStart=.*$|ExecStart=/usr/bin/node dist/index.mjs|' /etc/systemd/system/karakeep-workers.service + systemctl daemon-reload + fi fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep" if command -v corepack >/dev/null; then $STD corepack disable @@ -70,6 +74,7 @@ function update_script() { $STD pnpm build cd /opt/karakeep/apps/workers $STD pnpm install --frozen-lockfile + $STD pnpm build cd /opt/karakeep/apps/cli $STD pnpm install --frozen-lockfile $STD pnpm build diff --git a/install/karakeep-install.sh b/install/karakeep-install.sh index 20cbd515d..328a0fa94 100644 --- a/install/karakeep-install.sh +++ b/install/karakeep-install.sh @@ -64,6 +64,7 @@ $STD pnpm install --frozen-lockfile $STD pnpm build cd /opt/karakeep/apps/workers $STD pnpm install --frozen-lockfile +$STD pnpm build cd /opt/karakeep/apps/cli $STD pnpm install --frozen-lockfile $STD pnpm build @@ -167,7 +168,7 @@ Wants=network.target karakeep-browser.service meilisearch.service After=network.target karakeep-browser.service meilisearch.service [Service] -ExecStart=pnpm start:prod +ExecStart=/usr/bin/node dist/index.mjs WorkingDirectory=/opt/karakeep/apps/workers EnvironmentFile=/etc/karakeep/karakeep.env Restart=always From a5d540648e48fb54f6b0b0721165ef72e839ca44 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 05:29:24 +0000 Subject: [PATCH 113/117] Update CHANGELOG.md (#6292) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 788ea5f56..463556793 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-28 +### 🚀 Updated Scripts + + - #### ✨ New Features + + - karakeep: Run workers in prod without tsx [@vhsdream](https://github.com/vhsdream) ([#6285](https://github.com/community-scripts/ProxmoxVE/pull/6285)) + ## 2025-07-27 ### 🚀 Updated Scripts From 9fd1a868cb6447173781d9101bc4fa52f5cadc5a Mon Sep 17 00:00:00 2001 From: Sai Vishnu M Date: Mon, 28 Jul 2025 13:46:31 +0530 Subject: [PATCH 114/117] add 'g++' to actualbudget-install.sh (#6293) * add 'g++' to actualbudget-install.sh The install script fails on line 53 (`$STD npm install --location=global @actual-app/sync-server`). Installing `gcc`, which is required by `better-sqlite3`, which `@actual-app/sync-server` depends on, is the solution. Added `g++` to the dependency line `18`. * formatting --------- Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> --- install/actualbudget-install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/actualbudget-install.sh b/install/actualbudget-install.sh index 59b2d3870..b9d1d8fa9 100644 --- a/install/actualbudget-install.sh +++ b/install/actualbudget-install.sh @@ -15,7 +15,8 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - make + make \ + g++ msg_ok "Installed Dependencies" msg_info "Installing Actual Budget" From c4ab8f92d5c1928939ad4c72b9a7cb99be9ab384 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 08:16:52 +0000 Subject: [PATCH 115/117] Update CHANGELOG.md (#6294) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 463556793..f9d1fea99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts + - #### 🐞 Bug Fixes + + - add 'g++' to actualbudget-install.sh [@saivishnu725](https://github.com/saivishnu725) ([#6293](https://github.com/community-scripts/ProxmoxVE/pull/6293)) + - #### ✨ New Features - karakeep: Run workers in prod without tsx [@vhsdream](https://github.com/vhsdream) ([#6285](https://github.com/community-scripts/ProxmoxVE/pull/6285)) From ba70f9867b292bd131cc3edad3ddf64fef5d4726 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 28 Jul 2025 11:00:09 +0200 Subject: [PATCH 116/117] ProxmoxVE 9.0 Beta: add BETA Version as test in pve_check (#6295) --- misc/build.func | 35 +++++++++++++++++++++++++++++------ vm/archlinux-vm.sh | 37 ++++++++++++++++++++++++++++++------- vm/debian-vm.sh | 37 ++++++++++++++++++++++++++++++------- vm/docker-vm.sh | 37 ++++++++++++++++++++++++++++++------- vm/haos-vm.sh | 37 ++++++++++++++++++++++++++++++------- vm/mikrotik-routeros.sh | 37 ++++++++++++++++++++++++++++++------- vm/nextcloud-vm.sh | 37 ++++++++++++++++++++++++++++++------- vm/openwrt.sh | 37 ++++++++++++++++++++++++++++++------- vm/opnsense-vm.sh | 37 ++++++++++++++++++++++++++++++------- vm/owncloud-vm.sh | 37 ++++++++++++++++++++++++++++++------- vm/pimox-haos-vm.sh | 37 ++++++++++++++++++++++++++++++------- vm/ubuntu2204-vm.sh | 37 ++++++++++++++++++++++++++++++------- vm/ubuntu2404-vm.sh | 37 ++++++++++++++++++++++++++++++------- vm/ubuntu2410-vm.sh | 37 ++++++++++++++++++++++++++++++------- vm/ubuntu2504-vm.sh | 37 ++++++++++++++++++++++++++++++------- vm/umbrel-os-vm.sh | 37 ++++++++++++++++++++++++++++++------- 16 files changed, 479 insertions(+), 111 deletions(-) diff --git a/misc/build.func b/misc/build.func index 7c6d16155..8a9bcbbc8 100644 --- a/misc/build.func +++ b/misc/build.func @@ -66,13 +66,36 @@ root_check() { # This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported. pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[0-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } # When a node is running tens of containers, it's possible to exceed the kernel's cryptographic key storage allocations. diff --git a/vm/archlinux-vm.sh b/vm/archlinux-vm.sh index 30f61e960..2eae37e82 100644 --- a/vm/archlinux-vm.sh +++ b/vm/archlinux-vm.sh @@ -138,14 +138,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/debian-vm.sh b/vm/debian-vm.sh index 746a534e8..0642800d8 100644 --- a/vm/debian-vm.sh +++ b/vm/debian-vm.sh @@ -138,14 +138,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/docker-vm.sh b/vm/docker-vm.sh index bf5e802fe..c7f1fe300 100644 --- a/vm/docker-vm.sh +++ b/vm/docker-vm.sh @@ -139,14 +139,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/haos-vm.sh b/vm/haos-vm.sh index 902ce984b..26b823056 100644 --- a/vm/haos-vm.sh +++ b/vm/haos-vm.sh @@ -142,14 +142,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/mikrotik-routeros.sh b/vm/mikrotik-routeros.sh index 3a4f91d0a..21b5a3007 100644 --- a/vm/mikrotik-routeros.sh +++ b/vm/mikrotik-routeros.sh @@ -139,14 +139,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/nextcloud-vm.sh b/vm/nextcloud-vm.sh index 8d6c0fe3b..62ad1ea56 100644 --- a/vm/nextcloud-vm.sh +++ b/vm/nextcloud-vm.sh @@ -138,14 +138,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/openwrt.sh b/vm/openwrt.sh index 84660e19c..aad2fc08f 100644 --- a/vm/openwrt.sh +++ b/vm/openwrt.sh @@ -184,14 +184,37 @@ function msg_error() { echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}" } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/opnsense-vm.sh b/vm/opnsense-vm.sh index ff2c2aac7..57abada7f 100644 --- a/vm/opnsense-vm.sh +++ b/vm/opnsense-vm.sh @@ -180,14 +180,37 @@ function msg_error() { echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}" } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/owncloud-vm.sh b/vm/owncloud-vm.sh index 536ee3d82..689d7b23c 100644 --- a/vm/owncloud-vm.sh +++ b/vm/owncloud-vm.sh @@ -139,14 +139,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/pimox-haos-vm.sh b/vm/pimox-haos-vm.sh index d941b97be..09852a80d 100644 --- a/vm/pimox-haos-vm.sh +++ b/vm/pimox-haos-vm.sh @@ -147,14 +147,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/ubuntu2204-vm.sh b/vm/ubuntu2204-vm.sh index a662efb3c..7405ca070 100644 --- a/vm/ubuntu2204-vm.sh +++ b/vm/ubuntu2204-vm.sh @@ -134,14 +134,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/ubuntu2404-vm.sh b/vm/ubuntu2404-vm.sh index 28f1f4e20..af4c4c81c 100644 --- a/vm/ubuntu2404-vm.sh +++ b/vm/ubuntu2404-vm.sh @@ -137,14 +137,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/ubuntu2410-vm.sh b/vm/ubuntu2410-vm.sh index 1711430e8..21d76f8e9 100644 --- a/vm/ubuntu2410-vm.sh +++ b/vm/ubuntu2410-vm.sh @@ -136,14 +136,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/ubuntu2504-vm.sh b/vm/ubuntu2504-vm.sh index 39e32d0ee..0e3355944 100644 --- a/vm/ubuntu2504-vm.sh +++ b/vm/ubuntu2504-vm.sh @@ -136,14 +136,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { diff --git a/vm/umbrel-os-vm.sh b/vm/umbrel-os-vm.sh index 38abfba57..2ba58dcf7 100644 --- a/vm/umbrel-os-vm.sh +++ b/vm/umbrel-os-vm.sh @@ -138,14 +138,37 @@ function check_root() { fi } -function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-4](\.[0-9]+)*"; then - msg_error "${CROSS}${RD}This version of Proxmox Virtual Environment is not supported" - echo -e "Requires Proxmox Virtual Environment Version 8.1 or later." - echo -e "Exiting..." - sleep 2 - exit +pve_check() { + local PVE_VER + PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')" + + # Check for Proxmox VE 8.x + if [[ "$PVE_VER" =~ ^8\.([0-9]+) ]]; then + local MINOR="${BASH_REMATCH[1]}" + if ((MINOR < 1 || MINOR > 4)); then + msg_error "This version of Proxmox VE is not supported." + echo -e "Required: Proxmox VE version 8.1 – 8.4" + exit 1 + fi + return 0 fi + + # Check for Proxmox VE 9.x (Beta) — require confirmation + if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then + if whiptail --title "Proxmox 9.x Detected (Beta)" \ + --yesno "You are using Proxmox VE $PVE_VER, which is currently in Beta state.\n\nThis version is experimentally supported.\n\nDo you want to proceed anyway?" 12 70; then + msg_ok "Confirmed: Continuing with Proxmox VE $PVE_VER" + return 0 + else + msg_error "Aborted by user: Proxmox VE 9.x was not confirmed." + exit 1 + fi + fi + + # All other unsupported versions + msg_error "This version of Proxmox VE is not supported." + echo -e "Supported versions: Proxmox VE 8.1 – 8.4 or 9.x (Beta, with confirmation)" + exit 1 } function arch_check() { From 48c63aaebb5c3a5cf56db408c84dc3bbb32145a1 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 09:00:33 +0000 Subject: [PATCH 117/117] Update CHANGELOG.md (#6298) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9d1fea99..80e234dbc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### ✨ New Features + - ProxmoxVE 9.0 Beta: add BETA Version as test in pve_check [@MickLesk](https://github.com/MickLesk) ([#6295](https://github.com/community-scripts/ProxmoxVE/pull/6295)) - karakeep: Run workers in prod without tsx [@vhsdream](https://github.com/vhsdream) ([#6285](https://github.com/community-scripts/ProxmoxVE/pull/6285)) ## 2025-07-27