From 8300d7725d3dc3342de1cd8fd616fc970d5f37dc Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 28 Mar 2025 14:16:11 +0100 Subject: [PATCH 001/166] Update alpine-gitea.sh --- ct/alpine-gitea.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/alpine-gitea.sh b/ct/alpine-gitea.sh index 47c402bd8..e15541ad7 100644 --- a/ct/alpine-gitea.sh +++ b/ct/alpine-gitea.sh @@ -42,4 +42,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file From 079b089518709f4058e0995267f38c499e051445 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 28 Mar 2025 16:36:32 +0100 Subject: [PATCH 002/166] Alpine Node-RED (#3457) * Alpine Node-RED * Update alpine-node-red-install.sh --- ct/alpine-node-red.sh | 50 ++++++++++++++++++++++++++ frontend/public/json/node-red.json | 15 ++++++-- install/alpine-node-red-install.sh | 56 ++++++++++++++++++++++++++++++ 3 files changed, 119 insertions(+), 2 deletions(-) create mode 100644 ct/alpine-node-red.sh create mode 100644 install/alpine-node-red-install.sh diff --git a/ct/alpine-node-red.sh b/ct/alpine-node-red.sh new file mode 100644 index 000000000..c9afc6888 --- /dev/null +++ b/ct/alpine-node-red.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: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://nodered.org + +APP="Alpine-Node-RED" +var_tags="${var_tags:-alpine;automation}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-256}" +var_disk="${var_disk:-1}" +var_os="${var_os:-alpine}" +var_version="${var_version:-3.21}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + msg_info "Updating Alpine Packages" + $STD apk update + $STD apk upgrade + msg_ok "Updated Alpine Packages" + + msg_info "Updating Node.js and npm" + $STD apk upgrade nodejs npm + msg_ok "Updated Node.js and npm" + + msg_info "Updating Node-RED" + $STD npm install -g --unsafe-perm node-red + msg_ok "Updated Node-RED" + + msg_info "Restarting Node-RED" + $STD rc-service nodered restart + msg_ok "Restarted Node-RED" + + 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 URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:1880${CL}" diff --git a/frontend/public/json/node-red.json b/frontend/public/json/node-red.json index 0755b5b15..12ac9ce75 100644 --- a/frontend/public/json/node-red.json +++ b/frontend/public/json/node-red.json @@ -24,6 +24,17 @@ "os": "debian", "version": "12" } + }, + { + "type": "alpine", + "script": "ct/alpine-node-red.sh", + "resources": { + "cpu": 1, + "ram": 256, + "hdd": 1, + "os": "alpine", + "version": "3.21" + } } ], "default_credentials": { @@ -32,8 +43,8 @@ }, "notes": [ { - "text": "To install themes, type `update` in the LXC console.", + "text": "To install themes, type `update` in the LXC console. (debian/ubuntu only)", "type": "info" } ] -} \ No newline at end of file +} diff --git a/install/alpine-node-red-install.sh b/install/alpine-node-red-install.sh new file mode 100644 index 000000000..436a6ed08 --- /dev/null +++ b/install/alpine-node-red-install.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://nodered.org/ + +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 \ + gpg \ + git \ + nodejs \ + npm +msg_ok "Installed Dependencies" + +msg_info "Creating Node-RED User" +adduser -D -H -s /sbin/nologin -G users nodered +msg_ok "Created Node-RED User" + +msg_info "Installing Node-RED" +npm install -g --unsafe-perm node-red +msg_ok "Installed Node-RED" + +msg_info "Creating Node-RED Service" +service_path="/etc/init.d/nodered" + +echo '#!/sbin/openrc-run +description="Node-RED Service" + +command="/usr/bin/node-red" +command_args="--max-old-space-size=128 -v" +command_user="nodered" +pidfile="/var/run/nodered.pid" + +depend() { + use net +}' >$service_path + +chmod +x $service_path +$STD rc-update add nodered default +msg_ok "Created Node-RED Service" + +msg_info "Starting Node-RED" +$STD service nodered start +msg_ok "Started Node-RED" + +motd_ssh +customize From 515f9ab502b81fdff4acf0f1d083c5becf82b523 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, 28 Mar 2025 16:44:48 +0100 Subject: [PATCH 003/166] Update .app files (#3460) Co-authored-by: GitHub Actions --- ct/headers/alpine-node-red | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ct/headers/alpine-node-red diff --git a/ct/headers/alpine-node-red b/ct/headers/alpine-node-red new file mode 100644 index 000000000..ef7b8a85a --- /dev/null +++ b/ct/headers/alpine-node-red @@ -0,0 +1,6 @@ + ___ __ _ _ __ __ ____ __________ + / | / /___ (_)___ ___ / | / /___ ____/ /__ / __ \/ ____/ __ \ + / /| | / / __ \/ / __ \/ _ \______/ |/ / __ \/ __ / _ \______/ /_/ / __/ / / / / + / ___ |/ / /_/ / / / / / __/_____/ /| / /_/ / /_/ / __/_____/ _, _/ /___/ /_/ / +/_/ |_/_/ .___/_/_/ /_/\___/ /_/ |_/\____/\__,_/\___/ /_/ |_/_____/_____/ + /_/ From 2ffd827be451f5621f8baf5d7bd887cdbe343eb2 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, 28 Mar 2025 17:13:23 +0100 Subject: [PATCH 004/166] Update CHANGELOG.md (#3452) --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 867739c82..c832e3cf1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-03-28 + +### πŸ†• New Scripts + + - Alpine Node-RED [@MickLesk](https://github.com/MickLesk) ([#3457](https://github.com/community-scripts/ProxmoxVE/pull/3457)) + ## 2025-03-27 ### πŸš€ Updated Scripts From c4cdb030b4dad79f424a4c27b5f6500fc175d975 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, 28 Mar 2025 21:30:57 +0100 Subject: [PATCH 005/166] Fix path (#3463) --- ct/ersatztv.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ct/ersatztv.sh b/ct/ersatztv.sh index 0ca5d5c41..3619268e3 100644 --- a/ct/ersatztv.sh +++ b/ct/ersatztv.sh @@ -39,7 +39,7 @@ function update_script() { temp_file=$(mktemp) wget -qO- https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz -O "$temp_file" tar -xzf "$temp_file" - mv /opt/ErsatzTV-${RELEASE}-linux-x64 /opt/ErsatzTV + mv ErsatzTV-${RELEASE}-linux-x64 /opt/ErsatzTV cp -R ErsatzTV-backup/* /opt/ErsatzTV/ rm -rf ErsatzTV-backup echo "${RELEASE}" >/opt/${APP}_version.txt @@ -67,4 +67,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}:8409${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8409${CL}" From 07a3ab353c902531c53d5c894d78e98dcd157159 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, 28 Mar 2025 21:31:15 +0100 Subject: [PATCH 006/166] GoMFT: Fix release grep (#3462) * Fix release grep * Fix release grep in update function --- ct/gomft.sh | 2 +- install/gomft-install.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ct/gomft.sh b/ct/gomft.sh index a274d2977..d1931b7d7 100644 --- a/ct/gomft.sh +++ b/ct/gomft.sh @@ -28,7 +28,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -s https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 4, length($2)-5) }') if ! dpkg -l | grep -q "^ii.*build-essential"; then $STD apt-get install -y build-essential fi diff --git a/install/gomft-install.sh b/install/gomft-install.sh index ebf32b437..0c6c5b093 100644 --- a/install/gomft-install.sh +++ b/install/gomft-install.sh @@ -34,7 +34,7 @@ msg_ok "Setup Golang" msg_info "Setup ${APPLICATION} (Patience)" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -s https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 4, length($2)-5) }') wget -q "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file tar -xzf $temp_file mv GoMFT-${RELEASE}/ /opt/gomft From f46b9bbfb91e4b56a066215d2e25a2cca566cb28 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, 28 Mar 2025 23:24:05 +0100 Subject: [PATCH 007/166] Update CHANGELOG.md (#3464) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c832e3cf1..dcb43e86b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,13 @@ All LXC instances created using this repository come pre-installed with Midnight - Alpine Node-RED [@MickLesk](https://github.com/MickLesk) ([#3457](https://github.com/community-scripts/ProxmoxVE/pull/3457)) +### πŸš€ Updated Scripts + + - #### 🐞 Bug Fixes + + - GoMFT: Fix release grep [@tremor021](https://github.com/tremor021) ([#3462](https://github.com/community-scripts/ProxmoxVE/pull/3462)) + - ErsatzTV: Fix path in update function [@tremor021](https://github.com/tremor021) ([#3463](https://github.com/community-scripts/ProxmoxVE/pull/3463)) + ## 2025-03-27 ### πŸš€ Updated Scripts From b87e7dde2b47b0f3dd747f7bfb0e067b52e7b029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 29 Mar 2025 08:43:36 +0100 Subject: [PATCH 008/166] Fix compose.env (#3466) --- install/komodo-install.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/install/komodo-install.sh b/install/komodo-install.sh index 153c280d1..fb7f0f0df 100644 --- a/install/komodo-install.sh +++ b/install/komodo-install.sh @@ -70,9 +70,9 @@ PASSKEY=$(openssl rand -base64 24 | tr -d '/+=') WEBHOOK_SECRET=$(openssl rand -base64 24 | tr -d '/+=') JWT_SECRET=$(openssl rand -base64 24 | tr -d '/+=') -sed -i "s/^DB_USERNAME=.*/DB_USERNAME=komodo_admin/" /opt/komodo/compose.env -sed -i "s/^DB_PASSWORD=.*/DB_PASSWORD=${DB_PASSWORD}/" /opt/komodo/compose.env -sed -i "s/^PASSKEY=.*/PASSKEY=${PASSKEY}/" /opt/komodo/compose.env +sed -i "s/^KOMODO_DB_USERNAME=.*/KOMODO_DB_USERNAME=komodo_admin/" /opt/komodo/compose.env +sed -i "s/^KOMODO_DB_USERNAME=.*/KOMODO_DB_USERNAME=${DB_PASSWORD}/" /opt/komodo/compose.env +sed -i "s/^KOMODO_PASSKEY=.*/KOMODO_PASSKEY=${PASSKEY}/" /opt/komodo/compose.env sed -i "s/^KOMODO_WEBHOOK_SECRET=.*/KOMODO_WEBHOOK_SECRET=${WEBHOOK_SECRET}/" /opt/komodo/compose.env sed -i "s/^KOMODO_JWT_SECRET=.*/KOMODO_JWT_SECRET=${JWT_SECRET}/" /opt/komodo/compose.env msg_ok "Setup Komodo Environment" From 40b997ddc9a6d67c051b0fd888337670e894edf0 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, 29 Mar 2025 08:43:55 +0100 Subject: [PATCH 009/166] Update versions.json (#3468) --- frontend/public/json/versions.json | 152 ++++++++++++++--------------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index c3370ccd9..15285ba55 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,8 +1,78 @@ [ + { + "name": "msgbyte/tianji", + "version": "v1.19.5", + "date": "2025-03-28T22:03:01Z" + }, + { + "name": "homarr-labs/homarr", + "version": "v1.13.1", + "date": "2025-03-28T21:58:30Z" + }, + { + "name": "TasmoAdmin/TasmoAdmin", + "version": "v4.2.3", + "date": "2025-02-09T23:07:48Z" + }, + { + "name": "home-assistant/core", + "version": "2025.3.4", + "date": "2025-03-21T20:22:46Z" + }, + { + "name": "gristlabs/grist-core", + "version": "v1.5.0", + "date": "2025-03-28T20:43:51Z" + }, { "name": "fhem/fhem-mirror", "version": "6.2", - "date": "2025-03-28T10:33:13Z" + "date": "2025-03-28T20:29:54Z" + }, + { + "name": "grocy/grocy", + "version": "v4.5.0", + "date": "2025-03-28T19:02:22Z" + }, + { + "name": "Brandawg93/PeaNUT", + "version": "v5.6.1", + "date": "2025-03-28T18:40:22Z" + }, + { + "name": "pocketbase/pocketbase", + "version": "v0.26.5", + "date": "2025-03-28T17:41:23Z" + }, + { + "name": "NodeBB/NodeBB", + "version": "v4.2.0", + "date": "2025-03-19T18:34:01Z" + }, + { + "name": "louislam/uptime-kuma", + "version": "2.0.0-beta.2-temp", + "date": "2025-03-28T08:45:58Z" + }, + { + "name": "zitadel/zitadel", + "version": "v2.71.5", + "date": "2025-03-28T15:34:27Z" + }, + { + "name": "emqx/emqx", + "version": "e5.9.0-beta.2", + "date": "2025-03-28T15:06:27Z" + }, + { + "name": "goauthentik/authentik", + "version": "version/2025.2.3", + "date": "2025-03-28T14:28:34Z" + }, + { + "name": "hakimel/reveal.js", + "version": "5.2.1", + "date": "2025-03-28T13:00:23Z" }, { "name": "cockpit-project/cockpit", @@ -54,21 +124,16 @@ "version": "26.1.4", "date": "2025-03-13T15:41:42Z" }, - { - "name": "home-assistant/core", - "version": "2025.3.4", - "date": "2025-03-21T20:22:46Z" - }, - { - "name": "gristlabs/grist-core", - "version": "v1.5.0", - "date": "2025-03-27T19:59:55Z" - }, { "name": "hivemq/hivemq-community-edition", "version": "2025.2", "date": "2025-03-27T19:21:13Z" }, + { + "name": "TriliumNext/Notes", + "version": "v0.92.4", + "date": "2025-03-17T16:00:19Z" + }, { "name": "fallenbagel/jellyseerr", "version": "preview-music-support", @@ -79,11 +144,6 @@ "version": "v1.130.3", "date": "2025-03-27T16:38:04Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.19.4", - "date": "2025-03-27T16:25:34Z" - }, { "name": "zwave-js/zwave-js-ui", "version": "v10.1.3", @@ -194,11 +254,6 @@ "version": "v1.34.0", "date": "2025-03-26T08:48:34Z" }, - { - "name": "pocketbase/pocketbase", - "version": "v0.26.4", - "date": "2025-03-26T05:16:46Z" - }, { "name": "esphome/esphome", "version": "2025.3.2", @@ -234,11 +289,6 @@ "version": "v1.3.0", "date": "2025-03-25T15:55:02Z" }, - { - "name": "emqx/emqx", - "version": "v5.8.6", - "date": "2025-03-25T15:22:13Z" - }, { "name": "hansmi/prometheus-paperless-exporter", "version": "v0.0.7", @@ -264,11 +314,6 @@ "version": "pmm-6401-v1.114.0", "date": "2025-03-25T07:58:34Z" }, - { - "name": "zitadel/zitadel", - "version": "v2.70.6", - "date": "2025-03-25T07:11:32Z" - }, { "name": "caddyserver/caddy", "version": "v2.9.1", @@ -384,11 +429,6 @@ "version": "v2.7.6", "date": "2025-03-21T19:24:53Z" }, - { - "name": "homarr-labs/homarr", - "version": "v1.12.0", - "date": "2025-03-21T19:14:59Z" - }, { "name": "photoprism/photoprism", "version": "250321-57590c48b", @@ -424,21 +464,11 @@ "version": "v4.0.7", "date": "2025-02-26T19:07:11Z" }, - { - "name": "NodeBB/NodeBB", - "version": "v4.2.0", - "date": "2025-03-19T18:34:01Z" - }, { "name": "seanmorley15/AdventureLog", "version": "v0.9.0", "date": "2025-03-19T13:30:02Z" }, - { - "name": "hakimel/reveal.js", - "version": "5.2.0", - "date": "2025-03-19T11:03:56Z" - }, { "name": "Luligu/matterbridge", "version": "2.2.5", @@ -479,21 +509,11 @@ "version": "v0.8.5.11", "date": "2025-03-17T19:25:25Z" }, - { - "name": "goauthentik/authentik", - "version": "version/2025.2.2", - "date": "2025-03-17T19:16:49Z" - }, { "name": "Sonarr/Sonarr", "version": "v4.0.14.2939", "date": "2025-03-17T19:12:37Z" }, - { - "name": "TriliumNext/Notes", - "version": "v0.92.4", - "date": "2025-03-17T16:00:19Z" - }, { "name": "webmin/webmin", "version": "2.303", @@ -634,11 +654,6 @@ "version": "v2.0.0.4645", "date": "2017-03-07T18:56:06Z" }, - { - "name": "Brandawg93/PeaNUT", - "version": "v5.6.0", - "date": "2025-03-08T19:02:31Z" - }, { "name": "YuukanOO/seelf", "version": "v2.4.2", @@ -734,11 +749,6 @@ "version": "v3.1.9", "date": "2025-03-01T02:24:33Z" }, - { - "name": "grocy/grocy", - "version": "v4.4.2", - "date": "2025-02-28T16:26:05Z" - }, { "name": "jordan-dalby/ByteStash", "version": "v1.5.7", @@ -889,11 +899,6 @@ "version": "v1.9.0", "date": "2025-02-11T13:26:42Z" }, - { - "name": "TasmoAdmin/TasmoAdmin", - "version": "v4.2.3", - "date": "2025-02-09T23:07:48Z" - }, { "name": "dani-garcia/vaultwarden", "version": "1.33.2", @@ -1014,11 +1019,6 @@ "version": "v0.24.6", "date": "2024-12-22T20:24:35Z" }, - { - "name": "louislam/uptime-kuma", - "version": "2.0.0-beta.1", - "date": "2024-12-20T08:56:43Z" - }, { "name": "IceWhaleTech/CasaOS", "version": "v0.4.15", From 8c8b08e037adb0b773842ad8d5a56a0471c8cdd7 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, 29 Mar 2025 10:29:41 +0100 Subject: [PATCH 010/166] Update CHANGELOG.md (#3475) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dcb43e86b..99f7d73c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,14 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-03-29 + +### πŸš€ Updated Scripts + + - #### 🐞 Bug Fixes + + - Komodo: Fix compose.env [@tremor021](https://github.com/tremor021) ([#3466](https://github.com/community-scripts/ProxmoxVE/pull/3466)) + ## 2025-03-28 ### πŸ†• New Scripts From 8a5367dae385ba1bdd81bba7ee96d9f680fa8a52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 29 Mar 2025 12:21:58 +0100 Subject: [PATCH 011/166] Fix temp file (#3476) --- install/ersatztv-install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/ersatztv-install.sh b/install/ersatztv-install.sh index 127ddab82..b6786f63e 100644 --- a/install/ersatztv-install.sh +++ b/install/ersatztv-install.sh @@ -35,6 +35,7 @@ fi msg_ok "Set Up Hardware Acceleration" msg_info "Installing ErsatzTV" +temp_file=$(mktemp) cd /opt RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1) wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" -O "$temp_file" From 52bd63bf086157b4ae520e282d9cddd21fd1aa32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 29 Mar 2025 14:04:28 +0100 Subject: [PATCH 012/166] Fix debian-keyring dependency missing (#3477) --- misc/netdata.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/misc/netdata.sh b/misc/netdata.sh index abc1f6e25..67381a2d0 100644 --- a/misc/netdata.sh +++ b/misc/netdata.sh @@ -59,6 +59,7 @@ install() { header_info msg_info "Setting up repository" + $STD apt-get install -y debian-keyring wget -q https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb $STD dpkg -i netdata-repo_5-1+debian12_all.deb rm -rf netdata-repo_5-1+debian12_all.deb From c63ad45e65e653be834fd3ad6f275fec72681595 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, 29 Mar 2025 14:06:52 +0100 Subject: [PATCH 013/166] Update CHANGELOG.md (#3480) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 99f7d73c2..24bdee507 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,8 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Netdata: Fix debian-keyring dependency missing [@tremor021](https://github.com/tremor021) ([#3477](https://github.com/community-scripts/ProxmoxVE/pull/3477)) + - ErsatzTV: Fix temp file reference [@tremor021](https://github.com/tremor021) ([#3476](https://github.com/community-scripts/ProxmoxVE/pull/3476)) - Komodo: Fix compose.env [@tremor021](https://github.com/tremor021) ([#3466](https://github.com/community-scripts/ProxmoxVE/pull/3466)) ## 2025-03-28 From 87106a60c3e3441d423cb43a85dcff1aeee5b5e5 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, 29 Mar 2025 14:33:08 +0100 Subject: [PATCH 014/166] Update versions.json (#3481) 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 15285ba55..6ffe8cc93 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,39 @@ [ + { + "name": "theonedev/onedev", + "version": "v11.8.4", + "date": "2025-03-29T08:28:12Z" + }, + { + "name": "tobychui/zoraxy", + "version": "v3.1.9", + "date": "2025-03-01T02:24:33Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1705", + "date": "2025-03-29T05:54:06Z" + }, + { + "name": "inspircd/inspircd", + "version": "v4.7.0", + "date": "2025-03-29T03:50:50Z" + }, + { + "name": "fhem/fhem-mirror", + "version": "6.2", + "date": "2025-03-29T01:59:30Z" + }, + { + "name": "bunkerity/bunkerweb", + "version": "v1.6.1", + "date": "2025-03-15T17:29:17Z" + }, + { + "name": "OliveTin/OliveTin", + "version": "2025.3.28", + "date": "2025-03-29T00:18:56Z" + }, { "name": "msgbyte/tianji", "version": "v1.19.5", @@ -24,11 +59,6 @@ "version": "v1.5.0", "date": "2025-03-28T20:43:51Z" }, - { - "name": "fhem/fhem-mirror", - "version": "6.2", - "date": "2025-03-28T20:29:54Z" - }, { "name": "grocy/grocy", "version": "v4.5.0", @@ -39,6 +69,11 @@ "version": "v5.6.1", "date": "2025-03-28T18:40:22Z" }, + { + "name": "keycloak/keycloak", + "version": "26.1.4", + "date": "2025-03-13T15:41:42Z" + }, { "name": "pocketbase/pocketbase", "version": "v0.26.5", @@ -84,11 +119,6 @@ "version": "debian/12.0.12", "date": "2025-03-16T11:59:24Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1702", - "date": "2025-03-28T05:57:28Z" - }, { "name": "gethomepage/homepage", "version": "v1.1.1", @@ -99,11 +129,6 @@ "version": "v1.10.0-rc.3", "date": "2025-03-28T03:45:54Z" }, - { - "name": "theonedev/onedev", - "version": "v11.8.1", - "date": "2025-03-28T00:13:20Z" - }, { "name": "StarFleetCPTN/GoMFT", "version": "v.0.2.3", @@ -119,11 +144,6 @@ "version": "v2.48.1", "date": "2025-03-27T22:02:16Z" }, - { - "name": "keycloak/keycloak", - "version": "26.1.4", - "date": "2025-03-13T15:41:42Z" - }, { "name": "hivemq/hivemq-community-edition", "version": "2025.2", @@ -211,8 +231,8 @@ }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-03-26T20:06:34Z" + "version": "v3.10.0", + "date": "2025-03-15T14:38:16Z" }, { "name": "glanceapp/glance", @@ -399,11 +419,6 @@ "version": "v0.24.2", "date": "2025-03-23T04:01:50Z" }, - { - "name": "OliveTin/OliveTin", - "version": "2025.3.23", - "date": "2025-03-23T01:38:55Z" - }, { "name": "hoarder-app/hoarder", "version": "sdk/v0.23.0", @@ -544,11 +559,6 @@ "version": "v1.0.0-beta18", "date": "2025-03-15T20:24:04Z" }, - { - "name": "bunkerity/bunkerweb", - "version": "v1.6.1", - "date": "2025-03-15T17:29:17Z" - }, { "name": "henrygd/beszel", "version": "v0.10.2", @@ -739,16 +749,6 @@ "version": "2.8.0", "date": "2025-03-02T04:30:50Z" }, - { - "name": "inspircd/inspircd", - "version": "v4.6.0", - "date": "2025-03-01T10:29:31Z" - }, - { - "name": "tobychui/zoraxy", - "version": "v3.1.9", - "date": "2025-03-01T02:24:33Z" - }, { "name": "jordan-dalby/ByteStash", "version": "v1.5.7", From bcaf34fa9676fc215fdc2bb466afce3d9fec3511 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 29 Mar 2025 15:12:52 +0100 Subject: [PATCH 015/166] Fix release parsing (#3484) --- ct/homepage.sh | 2 +- install/homepage-install.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ct/homepage.sh b/ct/homepage.sh index 487b8abbd..1afb55d80 100644 --- a/ct/homepage.sh +++ b/ct/homepage.sh @@ -40,7 +40,7 @@ function update_script() { if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Updating Homepage to v${RELEASE} (Patience)" systemctl stop homepage - wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz + curl -fsSL "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz rm -rf v${RELEASE}.tar.gz cp -r homepage-${RELEASE}/* /opt/homepage/ diff --git a/install/homepage-install.sh b/install/homepage-install.sh index f96c0d40a..1b7ba5a73 100644 --- a/install/homepage-install.sh +++ b/install/homepage-install.sh @@ -32,7 +32,7 @@ msg_ok "Installed Node.js" LOCAL_IP=$(hostname -I | awk '{print $1}') RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing Homepage v${RELEASE} (Patience)" -wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz +curl -fsSL "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz") $STD tar -xzf v${RELEASE}.tar.gz rm -rf v${RELEASE}.tar.gz mkdir -p /opt/homepage/config From 121577c2fd68e7a3d1e57571a8a4167368ed1c4c 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, 29 Mar 2025 15:19:33 +0100 Subject: [PATCH 016/166] Update CHANGELOG.md (#3485) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24bdee507..742297495 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Homepage: Fix release parsing [@tremor021](https://github.com/tremor021) ([#3484](https://github.com/community-scripts/ProxmoxVE/pull/3484)) - Netdata: Fix debian-keyring dependency missing [@tremor021](https://github.com/tremor021) ([#3477](https://github.com/community-scripts/ProxmoxVE/pull/3477)) - ErsatzTV: Fix temp file reference [@tremor021](https://github.com/tremor021) ([#3476](https://github.com/community-scripts/ProxmoxVE/pull/3476)) - Komodo: Fix compose.env [@tremor021](https://github.com/tremor021) ([#3466](https://github.com/community-scripts/ProxmoxVE/pull/3466)) From 09e7593734121a8a088b572d9c87308d876c3f5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 29 Mar 2025 17:57:22 +0100 Subject: [PATCH 017/166] GoMFT: Fix release archive naming (#3483) * Fix release archive naming * No uses curl to fetch release * typo * Update * Update --- ct/gomft.sh | 6 +++--- install/gomft-install.sh | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ct/gomft.sh b/ct/gomft.sh index d1931b7d7..0e05205b9 100644 --- a/ct/gomft.sh +++ b/ct/gomft.sh @@ -28,7 +28,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 4, length($2)-5) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if ! dpkg -l | grep -q "^ii.*build-essential"; then $STD apt-get install -y build-essential fi @@ -41,9 +41,9 @@ function update_script() { msg_info "Updating $APP to ${RELEASE}" rm -f /opt/gomft/gomft temp_file=$(mktemp) - wget -q "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file + curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v.${RELEASE}.tar.gz" -o $temp_file tar -xzf $temp_file - cp -rf GoMFT-${RELEASE}/* /opt/gomft + cp -rf GoMFT-v.${RELEASE}/* /opt/gomft cd /opt/gomft $STD go mod download $STD go install github.com/a-h/templ/cmd/templ@latest diff --git a/install/gomft-install.sh b/install/gomft-install.sh index 0c6c5b093..6a130e134 100644 --- a/install/gomft-install.sh +++ b/install/gomft-install.sh @@ -34,10 +34,10 @@ msg_ok "Setup Golang" msg_info "Setup ${APPLICATION} (Patience)" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 4, length($2)-5) }') -wget -q "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v.${RELEASE}.tar.gz" -o $temp_file tar -xzf $temp_file -mv GoMFT-${RELEASE}/ /opt/gomft +mv GoMFT-v.${RELEASE}/ /opt/gomft cd /opt/gomft $STD go mod download $STD go install github.com/a-h/templ/cmd/templ@latest From d940907e596cdf3c64d104645cee0cb5b4660958 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, 29 Mar 2025 18:07:14 +0100 Subject: [PATCH 018/166] Update CHANGELOG.md (#3490) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 742297495..4182706a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - GoMFT: Fix release archive naming [@tremor021](https://github.com/tremor021) ([#3483](https://github.com/community-scripts/ProxmoxVE/pull/3483)) - Homepage: Fix release parsing [@tremor021](https://github.com/tremor021) ([#3484](https://github.com/community-scripts/ProxmoxVE/pull/3484)) - Netdata: Fix debian-keyring dependency missing [@tremor021](https://github.com/tremor021) ([#3477](https://github.com/community-scripts/ProxmoxVE/pull/3477)) - ErsatzTV: Fix temp file reference [@tremor021](https://github.com/tremor021) ([#3476](https://github.com/community-scripts/ProxmoxVE/pull/3476)) From 1a0f3a6108fef5cbbd9c08e2a2a1f7f5f41ee30d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 29 Mar 2025 20:44:56 +0100 Subject: [PATCH 019/166] Fix wrong sed text (#3491) --- install/komodo-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/komodo-install.sh b/install/komodo-install.sh index fb7f0f0df..659ed7c3f 100644 --- a/install/komodo-install.sh +++ b/install/komodo-install.sh @@ -71,7 +71,7 @@ WEBHOOK_SECRET=$(openssl rand -base64 24 | tr -d '/+=') JWT_SECRET=$(openssl rand -base64 24 | tr -d '/+=') sed -i "s/^KOMODO_DB_USERNAME=.*/KOMODO_DB_USERNAME=komodo_admin/" /opt/komodo/compose.env -sed -i "s/^KOMODO_DB_USERNAME=.*/KOMODO_DB_USERNAME=${DB_PASSWORD}/" /opt/komodo/compose.env +sed -i "s/^KOMODO_DB_PASSWORD=.*/KOMODO_DB_PASSWORD=${DB_PASSWORD}/" /opt/komodo/compose.env sed -i "s/^KOMODO_PASSKEY=.*/KOMODO_PASSKEY=${PASSKEY}/" /opt/komodo/compose.env sed -i "s/^KOMODO_WEBHOOK_SECRET=.*/KOMODO_WEBHOOK_SECRET=${WEBHOOK_SECRET}/" /opt/komodo/compose.env sed -i "s/^KOMODO_JWT_SECRET=.*/KOMODO_JWT_SECRET=${JWT_SECRET}/" /opt/komodo/compose.env From 5d50d91a26bc277d352f84f0f99451c50c72fb81 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, 29 Mar 2025 21:28:37 +0100 Subject: [PATCH 020/166] Update CHANGELOG.md (#3492) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4182706a8..ce17045a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Komodo: Fix wrong sed text [@tremor021](https://github.com/tremor021) ([#3491](https://github.com/community-scripts/ProxmoxVE/pull/3491)) - GoMFT: Fix release archive naming [@tremor021](https://github.com/tremor021) ([#3483](https://github.com/community-scripts/ProxmoxVE/pull/3483)) - Homepage: Fix release parsing [@tremor021](https://github.com/tremor021) ([#3484](https://github.com/community-scripts/ProxmoxVE/pull/3484)) - Netdata: Fix debian-keyring dependency missing [@tremor021](https://github.com/tremor021) ([#3477](https://github.com/community-scripts/ProxmoxVE/pull/3477)) From e394dd08b07156de809cc8f97f355b17f4a1b9cb Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sat, 29 Mar 2025 21:38:47 +0100 Subject: [PATCH 021/166] Alpine MariaDB (#3456) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Alpine-MariaDB * fix deps * Update install/alpine-mariadb-install.sh Co-authored-by: SlaviΕ‘a AreΕΎina <58952836+tremor021@users.noreply.github.com> * space --------- Co-authored-by: SlaviΕ‘a AreΕΎina <58952836+tremor021@users.noreply.github.com> --- ct/alpine-mariadb.sh | 46 ++++++++++++++++++++++++ frontend/public/json/mariadb.json | 11 ++++++ install/alpine-mariadb-install.sh | 59 +++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+) create mode 100644 ct/alpine-mariadb.sh create mode 100644 install/alpine-mariadb-install.sh diff --git a/ct/alpine-mariadb.sh b/ct/alpine-mariadb.sh new file mode 100644 index 000000000..aa6337283 --- /dev/null +++ b/ct/alpine-mariadb.sh @@ -0,0 +1,46 @@ +#!/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: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://mariadb.org + +APP="Alpine-MariaDB" +var_tags="${var_tags:-alpine;database}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-256}" +var_disk="${var_disk:-1}" +var_os="${var_os:-alpine}" +var_version="${var_version:-3.21}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + msg_info "Updating Alpine Packages" + $STD apk update + $STD apk upgrade + msg_ok "Updated Alpine Packages" + + msg_info "Updating MariaDB" + $STD apk upgrade mariadb mariadb-client + msg_ok "Updated MariaDB" + + msg_info "Restarting MariaDB" + $STD rc-service mariadb restart + msg_ok "Restarted MariaDB" + + 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}:3306${CL}" diff --git a/frontend/public/json/mariadb.json b/frontend/public/json/mariadb.json index 886b76784..f4d656b1e 100644 --- a/frontend/public/json/mariadb.json +++ b/frontend/public/json/mariadb.json @@ -24,6 +24,17 @@ "os": "debian", "version": "12" } + }, + { + "type": "alpine", + "script": "ct/alpine-mariadb.sh", + "resources": { + "cpu": 1, + "ram": 256, + "hdd": 1, + "os": "alpine", + "version": "3.21" + } } ], "default_credentials": { diff --git a/install/alpine-mariadb-install.sh b/install/alpine-mariadb-install.sh new file mode 100644 index 000000000..5e49d3ade --- /dev/null +++ b/install/alpine-mariadb-install.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://mariadb.org/ + +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 \ + gpg \ + sudo +msg_ok "Installed Dependencies" + +msg_info "Installing MariaDB" +$STD apk add --no-cache mariadb mariadb-client +$STD rc-update add mariadb default +$STD rc-service mariadb start +msg_ok "Installed MariaDB" + +msg_info "Configuring MariaDB" +mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql >/dev/null 2>&1 +$STD rc-service mariadb restart +msg_ok "MariaDB Configured" + +read -r -p "Would you like to install Adminer with lighthttpd? : " prompt +if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then + msg_info "Installing Adminer" + $STD apk add --no-cache lighttpd php php-cgi php-mysqli php-mbstring php-zip php-gd php-json php-curl jq + sed -i 's|server.modules += ( "mod_cgi" )|server.modules += ( "mod_cgi", "mod_fastcgi" )|' /etc/lighttpd/lighttpd.conf + echo 'fastcgi.server += ( ".php" => (( "bin-path" => "/usr/bin/php-cgi", "socket" => "/var/run/php-cgi.sock" )))' >>/etc/lighttpd/lighttpd.conf + ADMINER_VERSION=$(curl -s https://api.github.com/repos/vrana/adminer/releases/latest | jq -r '.tag_name' | sed 's/v//') + wget -q -O /var/www/adminer.php "https://github.com/vrana/adminer/releases/download/v${ADMINER_VERSION}/adminer-${ADMINER_VERSION}.php" + chown lighttpd:lighttpd /var/www/adminer.php + chmod 755 /var/www/adminer.php + msg_ok "Adminer Installed" + + msg_info "Starting Lighttpd" + $STD rc-update add lighttpd default + $STD rc-service lighttpd restart + msg_ok "Lighttpd Started" + + echo -e "Adminer is available at: ${BL}http://$(hostname -I | awk '{print $1}')/adminer${CL}" +else + echo -e "Skipped Adminer Installation..." +fi + +motd_ssh +customize + +msg_info "Cleaning up" +msg_ok "Cleaned" From 5be029597befb1b81648f300794cca893143310f 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, 29 Mar 2025 21:48:48 +0100 Subject: [PATCH 022/166] Update .app files (#3495) --- ct/headers/alpine-mariadb | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ct/headers/alpine-mariadb diff --git a/ct/headers/alpine-mariadb b/ct/headers/alpine-mariadb new file mode 100644 index 000000000..1279f836a --- /dev/null +++ b/ct/headers/alpine-mariadb @@ -0,0 +1,6 @@ + ___ __ _ __ ___ _ ____ ____ + / | / /___ (_)___ ___ / |/ /___ ______(_)___ _/ __ \/ __ ) + / /| | / / __ \/ / __ \/ _ \______/ /|_/ / __ `/ ___/ / __ `/ / / / __ | + / ___ |/ / /_/ / / / / / __/_____/ / / / /_/ / / / / /_/ / /_/ / /_/ / +/_/ |_/_/ .___/_/_/ /_/\___/ /_/ /_/\__,_/_/ /_/\__,_/_____/_____/ + /_/ From 3939b88b9f85b0f122328d3b1dc8d5fe50927045 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, 29 Mar 2025 21:49:04 +0100 Subject: [PATCH 023/166] Update CHANGELOG.md (#3494) --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce17045a5..77f8fd4f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-03-29 +### πŸ†• New Scripts + + - Alpine MariaDB [@MickLesk](https://github.com/MickLesk) ([#3456](https://github.com/community-scripts/ProxmoxVE/pull/3456)) + ### πŸš€ Updated Scripts - #### 🐞 Bug Fixes From df41b8e7076126c1593f7fb8883dbce3580c7479 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, 30 Mar 2025 11:43:44 +0200 Subject: [PATCH 024/166] Open WebUI: Add Ollama update check (#3478) * Add Ollama update check * Update openwebui.sh * Fix Ollama update * fixes --- ct/openwebui.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/ct/openwebui.sh b/ct/openwebui.sh index 738a04386..fa5172731 100644 --- a/ct/openwebui.sh +++ b/ct/openwebui.sh @@ -27,6 +27,21 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + + OLLAMA_VERSION=$(ollama -v | awk '{print $NF}') + if [ -n "$OLLAMA_VERSION" ]; then + RELEASE=$(curl -s https://api.github.com/repos/ollama/ollama/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [ "$OLLAMA_VERSION" != "$RELEASE" ]; then + msg_info "Updating Ollama" + curl -fsSLO https://ollama.com/download/ollama-linux-amd64.tgz + tar -C /usr -xzf ollama-linux-amd64.tgz + rm -rf ollama-linux-amd64.tgz + msg_ok "Ollama updated to version $RELEASE" + else + msg_ok "Ollama is already up to date." + fi + fi + msg_info "Updating ${APP} (Patience)" cd /opt/open-webui mkdir -p /opt/open-webui-backup From 453210900d4732e5153778bbd9e643d0c869a1f1 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, 30 Mar 2025 12:36:27 +0200 Subject: [PATCH 025/166] Update CHANGELOG.md (#3503) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 77f8fd4f8..21d4ffd17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,14 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-03-30 + +### πŸš€ Updated Scripts + + - #### ✨ New Features + + - Open WebUI: Add Ollama update check [@tremor021](https://github.com/tremor021) ([#3478](https://github.com/community-scripts/ProxmoxVE/pull/3478)) + ## 2025-03-29 ### πŸ†• New Scripts From 92c6662abf13b290ea7d3bdf229fb2a9389fb763 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, 30 Mar 2025 17:15:59 +0200 Subject: [PATCH 026/166] GoMFT: Add frontend build procedure (#3499) --- ct/gomft.sh | 15 ++++++++++++--- install/gomft-install.sh | 17 ++++++++++++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/ct/gomft.sh b/ct/gomft.sh index 0e05205b9..4a6ccb527 100644 --- a/ct/gomft.sh +++ b/ct/gomft.sh @@ -32,7 +32,13 @@ function update_script() { if ! dpkg -l | grep -q "^ii.*build-essential"; then $STD apt-get install -y build-essential fi - + if [[ ! -f "/usr/bin/node" ]]; then + mkdir -p /etc/apt/keyrings + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list + $STD apt-get update + $STD apt-get install -y nodejs + fi if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping $APP" systemctl stop gomft @@ -45,8 +51,11 @@ function update_script() { tar -xzf $temp_file cp -rf GoMFT-v.${RELEASE}/* /opt/gomft cd /opt/gomft + rm -f /opt/gomft/node_modules + $STD npm ci + $STD node build.js $STD go mod download - $STD go install github.com/a-h/templ/cmd/templ@latest + $STD go get -u github.com/a-h/templ $STD $HOME/go/bin/templ generate export CGO_ENABLED=1 export GOOS=linux @@ -57,7 +66,7 @@ function update_script() { msg_info "Cleaning Up" rm -f $temp_file - rm -rf GoMFT-${RELEASE} + rm -rf $HOME/GoMFT-v.${RELEASE} msg_ok "Cleanup Complete" msg_info "Starting $APP" diff --git a/install/gomft-install.sh b/install/gomft-install.sh index 6a130e134..68f620df5 100644 --- a/install/gomft-install.sh +++ b/install/gomft-install.sh @@ -19,7 +19,8 @@ $STD apt-get install -y \ rclone \ tzdata \ ca-certificates \ - build-essential + build-essential \ + gnupg msg_ok "Installed Dependencies" msg_info "Setting up Golang" @@ -32,6 +33,17 @@ ln -sf /usr/local/go/bin/go /usr/local/bin/go set -o pipefail msg_ok "Setup Golang" +msg_info "Setting up Node.js Repository" +mkdir -p /etc/apt/keyrings +curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg +echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list +msg_ok "Set up Node.js Repository" + +msg_info "Installing Node.js" +$STD apt-get update +$STD apt-get install -y nodejs +msg_ok "Installed Node.js" + msg_info "Setup ${APPLICATION} (Patience)" temp_file=$(mktemp) RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') @@ -39,8 +51,11 @@ curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v.${RELEASE tar -xzf $temp_file mv GoMFT-v.${RELEASE}/ /opt/gomft cd /opt/gomft +$STD npm ci +$STD node build.js $STD go mod download $STD go install github.com/a-h/templ/cmd/templ@latest +$STD go get -u github.com/a-h/templ $STD $HOME/go/bin/templ generate export CGO_ENABLED=1 export GOOS=linux From 6fd77dcd9f0bfc1568dce371748b97c4393f22c8 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, 30 Mar 2025 17:16:55 +0200 Subject: [PATCH 027/166] Fix Ollama update logic (#3506) --- ct/openwebui.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ct/openwebui.sh b/ct/openwebui.sh index fa5172731..734fcaffb 100644 --- a/ct/openwebui.sh +++ b/ct/openwebui.sh @@ -28,11 +28,11 @@ function update_script() { exit fi - OLLAMA_VERSION=$(ollama -v | awk '{print $NF}') - if [ -n "$OLLAMA_VERSION" ]; then - RELEASE=$(curl -s https://api.github.com/repos/ollama/ollama/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [ -x "/usr/bin/ollama" ]; then + msg_info "Updating Ollama" + OLLAMA_VERSION=$(ollama -v | awk '{print $NF}') + RELEASE=$(curl -s https://api.github.com/repos/ollama/ollama/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') if [ "$OLLAMA_VERSION" != "$RELEASE" ]; then - msg_info "Updating Ollama" curl -fsSLO https://ollama.com/download/ollama-linux-amd64.tgz tar -C /usr -xzf ollama-linux-amd64.tgz rm -rf ollama-linux-amd64.tgz From 8605995aff9f4a05049aa810451cffd9624c2667 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, 31 Mar 2025 01:04:48 +0200 Subject: [PATCH 028/166] Update CHANGELOG.md (#3507) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21d4ffd17..433123097 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,11 @@ All LXC instances created using this repository come pre-installed with Midnight ### πŸš€ Updated Scripts + - #### 🐞 Bug Fixes + + - Open WebUI: Fix Ollama update logic [@tremor021](https://github.com/tremor021) ([#3506](https://github.com/community-scripts/ProxmoxVE/pull/3506)) + - GoMFT: Add frontend build procedure [@tremor021](https://github.com/tremor021) ([#3499](https://github.com/community-scripts/ProxmoxVE/pull/3499)) + - #### ✨ New Features - Open WebUI: Add Ollama update check [@tremor021](https://github.com/tremor021) ([#3478](https://github.com/community-scripts/ProxmoxVE/pull/3478)) From 67395df39eb9260931bcc68cd5d75bf453329336 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, 31 Mar 2025 01:05:07 +0200 Subject: [PATCH 029/166] Update versions.json (#3500) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 134 ++++++++++++++--------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 6ffe8cc93..2bacbc28c 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,19 +1,79 @@ [ + { + "name": "pocketbase/pocketbase", + "version": "v0.26.6", + "date": "2025-03-30T08:02:19Z" + }, + { + "name": "Prowlarr/Prowlarr", + "version": "v1.32.2.4987", + "date": "2025-03-16T09:41:37Z" + }, + { + "name": "Readarr/Readarr", + "version": "v2.0.0.4645", + "date": "2017-03-07T18:56:06Z" + }, + { + "name": "Lidarr/Lidarr", + "version": "v2.10.3.4602", + "date": "2025-03-23T11:00:37Z" + }, + { + "name": "Radarr/Radarr", + "version": "v5.21.1.9799", + "date": "2025-03-24T15:52:12Z" + }, + { + "name": "aceberg/WatchYourLAN", + "version": "2.1.2-alpine", + "date": "2025-03-30T06:25:22Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1709", + "date": "2025-03-30T05:51:21Z" + }, + { + "name": "pocket-id/pocket-id", + "version": "v0.45.0", + "date": "2025-03-29T23:12:22Z" + }, + { + "name": "keycloak/keycloak", + "version": "26.1.4", + "date": "2025-03-13T15:41:42Z" + }, + { + "name": "glanceapp/glance", + "version": "v0.7.9", + "date": "2025-03-29T18:08:11Z" + }, + { + "name": "home-assistant/core", + "version": "2025.3.4", + "date": "2025-03-21T20:22:46Z" + }, { "name": "theonedev/onedev", "version": "v11.8.4", - "date": "2025-03-29T08:28:12Z" + "date": "2025-03-29T13:37:15Z" + }, + { + "name": "runtipi/runtipi", + "version": "v3.10.0", + "date": "2025-03-15T14:38:16Z" + }, + { + "name": "syncthing/syncthing", + "version": "v2.0.0-beta.1", + "date": "2025-03-29T12:53:28Z" }, { "name": "tobychui/zoraxy", "version": "v3.1.9", "date": "2025-03-01T02:24:33Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1705", - "date": "2025-03-29T05:54:06Z" - }, { "name": "inspircd/inspircd", "version": "v4.7.0", @@ -49,11 +109,6 @@ "version": "v4.2.3", "date": "2025-02-09T23:07:48Z" }, - { - "name": "home-assistant/core", - "version": "2025.3.4", - "date": "2025-03-21T20:22:46Z" - }, { "name": "gristlabs/grist-core", "version": "v1.5.0", @@ -69,16 +124,6 @@ "version": "v5.6.1", "date": "2025-03-28T18:40:22Z" }, - { - "name": "keycloak/keycloak", - "version": "26.1.4", - "date": "2025-03-13T15:41:42Z" - }, - { - "name": "pocketbase/pocketbase", - "version": "v0.26.5", - "date": "2025-03-28T17:41:23Z" - }, { "name": "NodeBB/NodeBB", "version": "v4.2.0", @@ -131,7 +176,7 @@ }, { "name": "StarFleetCPTN/GoMFT", - "version": "v.0.2.3", + "version": "v0.2.3", "date": "2025-03-27T23:54:49Z" }, { @@ -189,11 +234,6 @@ "version": "7.2.5", "date": "2025-03-27T11:06:48Z" }, - { - "name": "syncthing/syncthing", - "version": "v1.29.3", - "date": "2025-03-12T11:56:30Z" - }, { "name": "evcc-io/evcc", "version": "0.202.1", @@ -229,16 +269,6 @@ "version": "v0.6.3-rc1", "date": "2025-03-26T20:39:01Z" }, - { - "name": "runtipi/runtipi", - "version": "v3.10.0", - "date": "2025-03-15T14:38:16Z" - }, - { - "name": "glanceapp/glance", - "version": "v0.7.8", - "date": "2025-03-26T19:59:07Z" - }, { "name": "semaphoreui/semaphore", "version": "v2.13.2", @@ -294,16 +324,6 @@ "version": "v0.34.1", "date": "2025-03-25T18:11:12Z" }, - { - "name": "aceberg/WatchYourLAN", - "version": "2.1.1", - "date": "2025-03-25T17:21:41Z" - }, - { - "name": "pocket-id/pocket-id", - "version": "v0.44.0", - "date": "2025-03-25T16:09:10Z" - }, { "name": "dotnetfactory/fluid-calendar", "version": "v1.3.0", @@ -364,11 +384,6 @@ "version": "v0.9.0", "date": "2025-03-24T18:25:37Z" }, - { - "name": "Radarr/Radarr", - "version": "v5.21.1.9799", - "date": "2025-03-24T15:52:12Z" - }, { "name": "Graylog2/graylog2-server", "version": "6.2.0-beta.2", @@ -399,21 +414,11 @@ "version": "v1.17.0", "date": "2025-03-24T00:46:32Z" }, - { - "name": "Lidarr/Lidarr", - "version": "v2.10.3.4602", - "date": "2025-03-23T11:00:37Z" - }, { "name": "nicolargo/glances", "version": "v4.3.1", "date": "2025-03-23T09:02:54Z" }, - { - "name": "Prowlarr/Prowlarr", - "version": "v1.32.2.4987", - "date": "2025-03-16T09:41:37Z" - }, { "name": "usememos/memos", "version": "v0.24.2", @@ -659,11 +664,6 @@ "version": "v21.0.0.0", "date": "2025-03-09T12:25:44Z" }, - { - "name": "Readarr/Readarr", - "version": "v2.0.0.4645", - "date": "2017-03-07T18:56:06Z" - }, { "name": "YuukanOO/seelf", "version": "v2.4.2", From 8a07f18678f1e89b29c8220c069a740eab4f8670 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, 31 Mar 2025 08:46:22 +0200 Subject: [PATCH 030/166] Update versions.json (#3514) 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 2bacbc28c..38a1dad7e 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,49 @@ [ + { + "name": "TriliumNext/Notes", + "version": "v0.92.5", + "date": "2025-03-30T12:32:43Z" + }, + { + "name": "icereed/paperless-gpt", + "version": "v0.14.2", + "date": "2025-03-30T19:50:38Z" + }, + { + "name": "StarFleetCPTN/GoMFT", + "version": "v0.2.4", + "date": "2025-03-30T19:46:08Z" + }, + { + "name": "semaphoreui/semaphore", + "version": "v2.13.3", + "date": "2025-03-30T19:24:44Z" + }, + { + "name": "louislam/dockge", + "version": "1.5.0", + "date": "2025-03-30T17:42:59Z" + }, + { + "name": "pi-hole/pi-hole", + "version": "v6.0.6", + "date": "2025-03-30T16:59:06Z" + }, + { + "name": "sabnzbd/sabnzbd", + "version": "4.5.0", + "date": "2025-03-30T16:17:11Z" + }, + { + "name": "Part-DB/Part-DB-server", + "version": "v1.17.0", + "date": "2025-03-30T14:21:53Z" + }, + { + "name": "openhab/openhab-core", + "version": "4.3.4", + "date": "2025-03-30T13:32:38Z" + }, { "name": "pocketbase/pocketbase", "version": "v0.26.6", @@ -61,8 +106,8 @@ }, { "name": "runtipi/runtipi", - "version": "v3.10.0", - "date": "2025-03-15T14:38:16Z" + "version": "nightly", + "date": "2025-03-29T12:57:40Z" }, { "name": "syncthing/syncthing", @@ -174,11 +219,6 @@ "version": "v1.10.0-rc.3", "date": "2025-03-28T03:45:54Z" }, - { - "name": "StarFleetCPTN/GoMFT", - "version": "v0.2.3", - "date": "2025-03-27T23:54:49Z" - }, { "name": "Bubka/2FAuth", "version": "v5.5.0", @@ -194,11 +234,6 @@ "version": "2025.2", "date": "2025-03-27T19:21:13Z" }, - { - "name": "TriliumNext/Notes", - "version": "v0.92.4", - "date": "2025-03-17T16:00:19Z" - }, { "name": "fallenbagel/jellyseerr", "version": "preview-music-support", @@ -269,11 +304,6 @@ "version": "v0.6.3-rc1", "date": "2025-03-26T20:39:01Z" }, - { - "name": "semaphoreui/semaphore", - "version": "v2.13.2", - "date": "2025-03-26T19:13:48Z" - }, { "name": "dgtlmoon/changedetection.io", "version": "0.49.9", @@ -344,11 +374,6 @@ "version": "v1.6.8", "date": "2025-03-25T13:33:10Z" }, - { - "name": "icereed/paperless-gpt", - "version": "v0.14.1", - "date": "2025-03-25T10:09:14Z" - }, { "name": "VictoriaMetrics/VictoriaMetrics", "version": "pmm-6401-v1.114.0", @@ -434,11 +459,6 @@ "version": "v4.2.6", "date": "2025-03-21T21:20:29Z" }, - { - "name": "sabnzbd/sabnzbd", - "version": "4.4.1", - "date": "2024-12-20T13:21:31Z" - }, { "name": "leiweibau/Pi.Alert", "version": "v2025-03-21", @@ -724,11 +744,6 @@ "version": "10.1.39", "date": "2025-03-04T19:05:18Z" }, - { - "name": "pi-hole/pi-hole", - "version": "v6.0.5", - "date": "2025-03-04T17:28:41Z" - }, { "name": "sysadminsmedia/homebox", "version": "v0.18.0", @@ -764,11 +779,6 @@ "version": "v6.11.2", "date": "2025-02-26T14:54:49Z" }, - { - "name": "Part-DB/Part-DB-server", - "version": "v1.16.1", - "date": "2025-02-26T11:29:15Z" - }, { "name": "silverbulletmd/silverbullet", "version": "0.10.4", @@ -814,11 +824,6 @@ "version": "5.6.1", "date": "2025-02-23T20:39:48Z" }, - { - "name": "openhab/openhab-core", - "version": "5.0.0.M1", - "date": "2025-02-23T14:55:36Z" - }, { "name": "outline/outline", "version": "v0.82.1-15", @@ -1184,11 +1189,6 @@ "version": "v4.4.3", "date": "2024-04-06T12:24:35Z" }, - { - "name": "louislam/dockge", - "version": "1.4.2", - "date": "2024-01-21T17:02:52Z" - }, { "name": "hyperion-project/hyperion.ng", "version": "2.0.16", From 47aa3c3cf25a72884e3914b98fcb1e708d110a0e Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 31 Mar 2025 10:01:13 +0200 Subject: [PATCH 031/166] HomeAssistant (Container): Better Portainer explanation (#3518) --- frontend/public/json/homeassistant.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/public/json/homeassistant.json b/frontend/public/json/homeassistant.json index 175da2e24..833958ff9 100644 --- a/frontend/public/json/homeassistant.json +++ b/frontend/public/json/homeassistant.json @@ -37,10 +37,10 @@ }, { "text": "config path: `/var/lib/docker/volumes/hass_config/_data`", - "type": "warning" + "type": "info" }, { - "text": "Portainer Interface: LXC-IP: 9443", + "text": "Portainer interface: $IP: 9443 - User & password must be set manually within 5 minutes, otherwise a restart of Portainer is required!", "type": "info" }, { @@ -48,4 +48,4 @@ "type": "warning" } ] -} \ No newline at end of file +} From e35416eb7fc1b675836f452aff6911c18863837e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jc=20Mi=C3=B1arro?= Date: Mon, 31 Mar 2025 10:01:26 +0200 Subject: [PATCH 032/166] Remove old `.jar` versions of Stirling-PDF (#3512) --- ct/stirling-pdf.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/ct/stirling-pdf.sh b/ct/stirling-pdf.sh index 91aa7bae9..fd89aba99 100644 --- a/ct/stirling-pdf.sh +++ b/ct/stirling-pdf.sh @@ -39,6 +39,7 @@ function update_script() { cd Stirling-PDF-$RELEASE chmod +x ./gradlew $STD ./gradlew build + rm -rf /opt/Stirling-PDF/Stirling-PDF-*.jar cp -r ./build/libs/Stirling-PDF-*.jar /opt/Stirling-PDF/ cp -r scripts /opt/Stirling-PDF/ cd ~ From 3abb4b0060236b452334825529c756303f4443ba Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 31 Mar 2025 10:01:39 +0200 Subject: [PATCH 033/166] Tianji: Bump NodeJS to V22 (#3519) * Tianji: Bump to NodeJS 22 * NodeJS check & update --- ct/tianji.sh | 16 ++++++++++++++++ install/tianji-install.sh | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ct/tianji.sh b/ct/tianji.sh index 8a1fca82a..43e21eede 100644 --- a/ct/tianji.sh +++ b/ct/tianji.sh @@ -26,6 +26,22 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + if command -v node >/dev/null; then + NODE_MAJOR=$(/usr/bin/env node -v | grep -oP '^v\K[0-9]+') + if [[ "$NODE_MAJOR" != "22" ]]; then + $STD apt-get purge -y nodejs + rm -f /etc/apt/sources.list.d/nodesource.list + rm -f /etc/apt/keyrings/nodesource.gpg + else + return + fi + fi + mkdir -p /etc/apt/keyrings + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list + $STD apt-get update + $STD apt-get install -y nodejs + $STD npm install -g pnpm@9.7.1 RELEASE=$(curl -s https://api.github.com/repos/msgbyte/tianji/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 msg_info "Stopping ${APP} Service" diff --git a/install/tianji-install.sh b/install/tianji-install.sh index 699b2526a..4cc78127a 100644 --- a/install/tianji-install.sh +++ b/install/tianji-install.sh @@ -30,7 +30,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Node.js" mkdir -p /etc/apt/keyrings curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list +echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list $STD apt-get update $STD apt-get install -y nodejs $STD npm install -g pnpm@9.7.1 From e7529a9c2511e5734c8e8efcd6c6531f70ae89a3 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:16:38 +0200 Subject: [PATCH 034/166] Docmost: Bump NodeJS to 22 & fixed pnpm (#3521) * Docmost: Bump NodeJS to 22 & fixed pnpm * Update docmost.sh --- ct/docmost.sh | 17 +++++++++++++++++ install/docmost-install.sh | 4 ++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ct/docmost.sh b/ct/docmost.sh index 443e7007e..964703ded 100644 --- a/ct/docmost.sh +++ b/ct/docmost.sh @@ -26,6 +26,23 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + if command -v node >/dev/null; then + NODE_MAJOR=$(/usr/bin/env node -v | grep -oP '^v\K[0-9]+') + if [[ "$NODE_MAJOR" != "22" ]]; then + $STD apt-get purge -y nodejs + rm -f /etc/apt/sources.list.d/nodesource.list + rm -f /etc/apt/keyrings/nodesource.gpg + else + return + fi + fi + mkdir -p /etc/apt/keyrings + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list + $STD apt-get update + $STD apt-get install -y nodejs + $STD npm install -g pnpm@10.4.0 + export NODE_OPTIONS="--max_old_space_size=4096" RELEASE=$(curl -s https://api.github.com/repos/docmost/docmost/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 msg_info "Stopping ${APP}" diff --git a/install/docmost-install.sh b/install/docmost-install.sh index b3580f07e..12f59842e 100644 --- a/install/docmost-install.sh +++ b/install/docmost-install.sh @@ -24,13 +24,13 @@ msg_ok "Installed Dependencies" msg_info "Setting up Node.js Repository" mkdir -p /etc/apt/keyrings curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg -echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list +echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list msg_ok "Set up Node.js Repository" msg_info "Installing Node.js" $STD apt-get update $STD apt-get install -y nodejs -$STD npm install -g pnpm +$STD npm install -g pnpm@10.4.0 msg_ok "Installed Node.js" msg_info "Setting up PostgreSQL" From a95403ece74db975da789a6db10b8d9f13647967 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, 31 Mar 2025 12:23:41 +0200 Subject: [PATCH 035/166] Update CHANGELOG.md (#3517) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 433123097..e8339a606 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,25 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-03-31 + +### πŸš€ Updated Scripts + + - #### 🐞 Bug Fixes + + - Docmost: Bump NodeJS to 22 & fixed pnpm [@MickLesk](https://github.com/MickLesk) ([#3521](https://github.com/community-scripts/ProxmoxVE/pull/3521)) + - Tianji: Bump NodeJS to V22 [@MickLesk](https://github.com/MickLesk) ([#3519](https://github.com/community-scripts/ProxmoxVE/pull/3519)) + + - #### πŸ”§ Refactor + + - Remove old `.jar` versions of Stirling-PDF [@JcMinarro](https://github.com/JcMinarro) ([#3512](https://github.com/community-scripts/ProxmoxVE/pull/3512)) + +### 🌐 Website + + - #### πŸ“ Script Information + + - HomeAssistant (Container): Better Portainer explanation [@MickLesk](https://github.com/MickLesk) ([#3518](https://github.com/community-scripts/ProxmoxVE/pull/3518)) + ## 2025-03-30 ### πŸš€ Updated Scripts From 04f781c512e67583fbabff593bfe8a68dc49fae6 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:54:40 +0200 Subject: [PATCH 036/166] NPMPlus: update function & better create handling (user/password) (#3520) * Update npmplus-install.sh * Update npmplus.sh --- ct/npmplus.sh | 32 +++++++++++++++++++++++++------- install/npmplus-install.sh | 12 ++++-------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/ct/npmplus.sh b/ct/npmplus.sh index cbc4682ed..65bfeb178 100644 --- a/ct/npmplus.sh +++ b/ct/npmplus.sh @@ -20,17 +20,35 @@ color catch_errors function update_script() { - UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \ - "1" "Check for Alpine Updates" ON \ + UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE MODE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 14 60 2 \ + "1" "Check for Alpine Updates" OFF \ + "2" "Update NPMplus Docker Container" ON \ 3>&1 1>&2 2>&3) - header_info - if [ "$UPD" == "1" ]; then - apk update && apk upgrade - exit - fi + header_info "$APP" + + case "$UPD" in + "1") + msg_info "Updating Alpine OS" + apk update && apk upgrade + msg_ok "System updated" + exit + ;; + "2") + msg_info "Updating NPMplus Container" + cd /opt || exit 1 + msg_info "Pulling latest container image" + $STD docker compose pull + msg_info "Recreating container" + $STD docker compose up -d + msg_ok "NPMplus container updated" + exit + ;; + esac + exit 0 } + start build_container description diff --git a/install/npmplus-install.sh b/install/npmplus-install.sh index 64fbe6bdc..66cdc9f8f 100644 --- a/install/npmplus-install.sh +++ b/install/npmplus-install.sh @@ -15,14 +15,9 @@ update_os msg_info "Installing Dependencies" $STD apk add \ - newt \ - curl \ - openssh \ tzdata \ - nano \ gawk \ - yq \ - mc + yq msg_ok "Installed Dependencies" msg_info "Installing Docker & Compose" @@ -95,7 +90,7 @@ customize msg_info "Retrieving Default Login (Patience)" PASSWORD_FOUND=0 for i in {1..60}; do - PASSWORD_LINE=$(docker logs "$CONTAINER_ID" 2>&1 | grep -m1 "Creating a new user:") + PASSWORD_LINE=$(docker logs "$CONTAINER_ID" 2>&1 | awk '/Creating a new user:/ { print; exit }') if [[ -n "$PASSWORD_LINE" ]]; then PASSWORD=$(echo "$PASSWORD_LINE" | awk -F 'password: ' '{print $2}') echo -e "username: admin@example.org\npassword: $PASSWORD" >/opt/.npm_pwd @@ -107,5 +102,6 @@ for i in {1..60}; do done if [[ $PASSWORD_FOUND -eq 0 ]]; then - msg_ok "No default login found, use docker ps & docker logs for container password." + msg_error "Could not retrieve default login after 60 seconds." + echo -e "\nYou can manually check the container logs with:\n docker logs $CONTAINER_ID | grep 'Creating a new user:'\n" fi From ca5de7a6ff3b8bdb43b39f29a1a1d4015bc020ed 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, 31 Mar 2025 12:01:14 +0100 Subject: [PATCH 037/166] slskd (#3516) --- ct/slskd.sh | 80 +++++++++++++++++++++ frontend/public/json/slskd.json | 43 ++++++++++++ install/slskd-install.sh | 120 ++++++++++++++++++++++++++++++++ 3 files changed, 243 insertions(+) create mode 100644 ct/slskd.sh create mode 100644 frontend/public/json/slskd.json create mode 100644 install/slskd-install.sh diff --git a/ct/slskd.sh b/ct/slskd.sh new file mode 100644 index 000000000..5b1f322a4 --- /dev/null +++ b/ct/slskd.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash +source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: vhsdream +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/slskd/slskd, https://soularr.net + +APP="slskd" +var_tags="${var_tags:-arr;p2p}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-512}" +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 [[ ! -d /opt/slskd ]] || [[ ! -d /opt/soularr ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + RELEASE=$(curl -s https://api.github.com/repos/slskd/slskd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + msg_info "Stopping $APP and Soularr" + systemctl stop slskd soularr.timer soularr.service + msg_ok "Stopped $APP and Soularr" + + msg_info "Updating $APP to v${RELEASE}" + tmp_file=$(mktemp) + curl -fsSL "https://github.com/slskd/slskd/releases/download/${RELEASE}/slskd-${RELEASE}-linux-x64.zip" -o $tmp_file + unzip -q -oj $tmp_file slskd -d /opt/${APP} + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated $APP to v${RELEASE}" + + msg_info "Updating Soularr" + cp /opt/soularr/config.ini /opt/config.ini.bak + cp /opt/soularr/run.sh /opt/run.sh.bak + cd /tmp + rm -rf /opt/soularr + curl -fsSL https://github.com/mrusse/soularr/archive/refs/heads/main.zip + unzip -q main.zip + mv soularr-main /opt/soularr + cd /opt/soularr + $STD pip install -r requirements.txt + mv /opt/config.ini.bak /opt/soularr/config.ini + mv /opt/run.sh.bak /opt/soularr/run.sh + msg_ok "Soularr updated" + msg_info "Starting $APP and Soularr" + systemctl start slskd soularr.timer + msg_ok "Started $APP and Soularr" + + msg_info "Cleaning Up" + rm -rf $tmp_file + rm -rf /tmp/main.zip + msg_ok "Cleanup Completed" + + 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}:5030${CL}" diff --git a/frontend/public/json/slskd.json b/frontend/public/json/slskd.json new file mode 100644 index 000000000..5f5c761a2 --- /dev/null +++ b/frontend/public/json/slskd.json @@ -0,0 +1,43 @@ +{ + "name": "slskd", + "slug": "slskd", + "categories": [ + 11 + ], + "date_created": "2025-03-31", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 5030, + "documentation": "https://github.com/slskd/slskd/tree/master/docs", + "website": "https://github.com/slskd/slskd", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/slskd.png", + "description": "A modern client-server application for the Soulseek file sharing network. ", + "install_methods": [ + { + "type": "default", + "script": "ct/slskd.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 4, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": "slskd", + "password": "slskd" + }, + "notes": [ + { + "text": "See /opt/slskd/config/sksld.yml to add your Soulseek credentials", + "type": "info" + }, + { + "text": "This LXC includes Soularr; it needs to be configured (/opt/soularr/config.ini) before it will work", + "type": "info" + } + ] +} diff --git a/install/slskd-install.sh b/install/slskd-install.sh new file mode 100644 index 000000000..952052578 --- /dev/null +++ b/install/slskd-install.sh @@ -0,0 +1,120 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: vhsdream +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/slskd/slskd/, https://soularr.net + +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 \ + python3-pip +msg_ok "Installed Dependencies" + +msg_info "Setup ${APPLICATION}" +tmp_file=$(mktemp) +RELEASE=$(curl -s https://api.github.com/repos/slskd/slskd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/slskd/slskd/releases/download/${RELEASE}/slskd-${RELEASE}-linux-x64.zip" -o $tmp_file +unzip -q $tmp_file -d /opt/${APPLICATION} +echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +JWT_KEY=$(openssl rand -base64 44) +SLSKD_API_KEY=$(openssl rand -base64 44) +cp /opt/${APPLICATION}/config/slskd.example.yml /opt/${APPLICATION}/config/slskd.yml +sed -i \ + -e "\|web:|,\|cidr|s|^#||" \ + -e "\|https:|,\|5031|s|false|true|" \ + -e "\|api_keys|,\|cidr|s|/etc/systemd/system/${APPLICATION}.service +[Unit] +Description=${APPLICATION} Service +After=network.target +Wants=network.target + +[Service] +WorkingDirectory=/opt/${APPLICATION} +ExecStart=/opt/${APPLICATION}/slskd --config /opt/${APPLICATION}/config/slskd.yml +Restart=always + +[Install] +WantedBy=multi-user.target +EOF + +cat </etc/systemd/system/soularr.timer +[Unit] +Description=Soularr service timer +RefuseManualStart=no +RefuseManualStop=no + +[Timer] +Persistent=true +# run every 5 minutes +OnCalendar=*-*-* *:0/5:00 +Unit=soularr.service + +[Install] +WantedBy=timers.target +EOF + +cat </etc/systemd/system/soularr.service +[Unit] +Description=Soularr service +After=network.target slskd.service + +[Service] +Type=simple +WorkingDirectory=/opt/soularr +ExecStart=/bin/bash -c /opt/soularr/run.sh + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now ${APPLICATION}.service +systemctl enable -q soularr.timer +msg_ok "Created Services" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -rf $tmp_file +rm -rf /tmp/main.zip +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 27ece60f74a7c158e9e2279c5b1aa483072e370b 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, 31 Mar 2025 12:02:44 +0100 Subject: [PATCH 038/166] Update CHANGELOG.md (#3524) --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8339a606..b8704a713 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-03-31 +### πŸ†• New Scripts + + - slskd [@vhsdream](https://github.com/vhsdream) ([#3516](https://github.com/community-scripts/ProxmoxVE/pull/3516)) + ### πŸš€ Updated Scripts - #### 🐞 Bug Fixes @@ -23,6 +27,10 @@ All LXC instances created using this repository come pre-installed with Midnight - Docmost: Bump NodeJS to 22 & fixed pnpm [@MickLesk](https://github.com/MickLesk) ([#3521](https://github.com/community-scripts/ProxmoxVE/pull/3521)) - Tianji: Bump NodeJS to V22 [@MickLesk](https://github.com/MickLesk) ([#3519](https://github.com/community-scripts/ProxmoxVE/pull/3519)) + - #### ✨ New Features + + - NPMPlus: update function & better create handling (user/password) [@MickLesk](https://github.com/MickLesk) ([#3520](https://github.com/community-scripts/ProxmoxVE/pull/3520)) + - #### πŸ”§ Refactor - Remove old `.jar` versions of Stirling-PDF [@JcMinarro](https://github.com/JcMinarro) ([#3512](https://github.com/community-scripts/ProxmoxVE/pull/3512)) From 781a383a9b7fe58e41290369c15cd643ac5cde08 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, 31 Mar 2025 13:26:25 +0200 Subject: [PATCH 039/166] Update .app files (#3526) Co-authored-by: GitHub Actions --- ct/headers/slskd | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ct/headers/slskd diff --git a/ct/headers/slskd b/ct/headers/slskd new file mode 100644 index 000000000..6ebb289ea --- /dev/null +++ b/ct/headers/slskd @@ -0,0 +1,6 @@ + __ __ __ + _____/ /____/ /______/ / + / ___/ / ___/ //_/ __ / + (__ ) (__ ) ,< / /_/ / +/____/_/____/_/|_|\__,_/ + From 1df049608329190d6be7f0f673b11361dfe7340b 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, 31 Mar 2025 14:19:22 +0200 Subject: [PATCH 040/166] Update versions.json (#3528) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 92 +++++++++++++++--------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 38a1dad7e..ebb3729f4 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,49 @@ [ + { + "name": "fhem/fhem-mirror", + "version": "6.2", + "date": "2025-03-31T10:34:25Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.3.0p30-rc1", + "date": "2025-03-31T09:39:47Z" + }, + { + "name": "semaphoreui/semaphore", + "version": "v2.13.5", + "date": "2025-03-31T09:36:04Z" + }, + { + "name": "documenso/documenso", + "version": "v1.10.0-rc.4", + "date": "2025-03-31T09:02:22Z" + }, + { + "name": "traefik/traefik", + "version": "v3.3.5", + "date": "2025-03-31T08:55:12Z" + }, + { + "name": "fallenbagel/jellyseerr", + "version": "preview-fix-remove-button", + "date": "2025-03-31T08:41:27Z" + }, + { + "name": "home-assistant/core", + "version": "2025.3.4", + "date": "2025-03-21T20:22:46Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.10", + "date": "2025-03-22T13:02:26Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1712", + "date": "2025-03-31T05:57:14Z" + }, { "name": "TriliumNext/Notes", "version": "v0.92.5", @@ -14,11 +59,6 @@ "version": "v0.2.4", "date": "2025-03-30T19:46:08Z" }, - { - "name": "semaphoreui/semaphore", - "version": "v2.13.3", - "date": "2025-03-30T19:24:44Z" - }, { "name": "louislam/dockge", "version": "1.5.0", @@ -74,11 +114,6 @@ "version": "2.1.2-alpine", "date": "2025-03-30T06:25:22Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1709", - "date": "2025-03-30T05:51:21Z" - }, { "name": "pocket-id/pocket-id", "version": "v0.45.0", @@ -94,15 +129,10 @@ "version": "v0.7.9", "date": "2025-03-29T18:08:11Z" }, - { - "name": "home-assistant/core", - "version": "2025.3.4", - "date": "2025-03-21T20:22:46Z" - }, { "name": "theonedev/onedev", "version": "v11.8.4", - "date": "2025-03-29T13:37:15Z" + "date": "2025-03-29T08:28:12Z" }, { "name": "runtipi/runtipi", @@ -124,11 +154,6 @@ "version": "v4.7.0", "date": "2025-03-29T03:50:50Z" }, - { - "name": "fhem/fhem-mirror", - "version": "6.2", - "date": "2025-03-29T01:59:30Z" - }, { "name": "bunkerity/bunkerweb", "version": "v1.6.1", @@ -214,11 +239,6 @@ "version": "v1.1.1", "date": "2025-03-28T04:12:31Z" }, - { - "name": "documenso/documenso", - "version": "v1.10.0-rc.3", - "date": "2025-03-28T03:45:54Z" - }, { "name": "Bubka/2FAuth", "version": "v5.5.0", @@ -234,11 +254,6 @@ "version": "2025.2", "date": "2025-03-27T19:21:13Z" }, - { - "name": "fallenbagel/jellyseerr", - "version": "preview-music-support", - "date": "2025-03-27T16:54:41Z" - }, { "name": "immich-app/immich", "version": "v1.130.3", @@ -324,11 +339,6 @@ "version": "v12.0.0-dev", "date": "2025-03-26T09:58:55Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.2.0p41", - "date": "2025-03-26T09:55:26Z" - }, { "name": "sct/overseerr", "version": "v1.34.0", @@ -424,11 +434,6 @@ "version": "v24.8", "date": "2025-03-18T07:33:51Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.10", - "date": "2025-03-22T13:02:26Z" - }, { "name": "requarks/wiki", "version": "v2.5.307", @@ -794,11 +799,6 @@ "version": "v12.5.0", "date": "2025-02-25T14:55:50Z" }, - { - "name": "traefik/traefik", - "version": "v3.3.4", - "date": "2025-02-25T10:18:58Z" - }, { "name": "schlagmichdoch/PairDrop", "version": "v1.11.2", From 65adb8e4452001da0bf9e7a30d8a1683004cdece 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, 31 Mar 2025 15:14:29 +0200 Subject: [PATCH 041/166] Update versions.json (#3530) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 54 ++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index ebb3729f4..dd330284c 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -136,8 +136,8 @@ }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-03-29T12:57:40Z" + "version": "v3.10.0", + "date": "2025-03-15T14:38:16Z" }, { "name": "syncthing/syncthing", @@ -219,6 +219,11 @@ "version": "version/2025.2.3", "date": "2025-03-28T14:28:34Z" }, + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.11", + "date": "2025-03-28T14:04:31Z" + }, { "name": "hakimel/reveal.js", "version": "5.2.1", @@ -259,6 +264,11 @@ "version": "v1.130.3", "date": "2025-03-27T16:38:04Z" }, + { + "name": "TandoorRecipes/recipes", + "version": "1.5.34", + "date": "2025-03-27T16:17:38Z" + }, { "name": "zwave-js/zwave-js-ui", "version": "v10.1.3", @@ -559,6 +569,11 @@ "version": "v4.0.14.2939", "date": "2025-03-17T19:12:37Z" }, + { + "name": "inventree/InvenTree", + "version": "0.17.9", + "date": "2025-03-17T12:13:23Z" + }, { "name": "webmin/webmin", "version": "2.303", @@ -884,6 +899,11 @@ "version": "1.3.10", "date": "2025-02-14T16:23:14Z" }, + { + "name": "TryGhost/Ghost-CLI", + "version": "v1.27.0", + "date": "2025-02-13T15:55:36Z" + }, { "name": "MariaDB/server", "version": "mariadb-11.7.2", @@ -909,6 +929,11 @@ "version": "1.33.2", "date": "2025-02-09T17:54:59Z" }, + { + "name": "slskd/slskd", + "version": "0.22.2", + "date": "2025-02-09T00:00:04Z" + }, { "name": "blakeblackshear/frigate", "version": "v0.15.0", @@ -1069,6 +1094,11 @@ "version": "0.6.24", "date": "2024-11-16T06:47:56Z" }, + { + "name": "pterodactyl/panel", + "version": "v1.11.10", + "date": "2024-11-15T02:29:18Z" + }, { "name": "sabre-io/Baikal", "version": "0.10.1", @@ -1174,6 +1204,11 @@ "version": "v2.11.0", "date": "2024-05-13T20:19:54Z" }, + { + "name": "pterodactyl/wings", + "version": "v1.11.13", + "date": "2024-05-08T04:20:34Z" + }, { "name": "CrazyWolf13/web-check", "version": "1.0.0", @@ -1198,5 +1233,20 @@ "name": "wger-project/wger", "version": "2.2", "date": "2023-12-06T12:08:09Z" + }, + { + "name": "deepch/RTSPtoWeb", + "version": "v2.4.3", + "date": "2023-03-29T12:05:02Z" + }, + { + "name": "Shinobi-Systems/Shinobi", + "version": "furrykitten-3", + "date": "2022-07-15T05:20:17Z" + }, + { + "name": "deluge-torrent/deluge", + "version": "deluge-2.1.2.dev0", + "date": "2022-07-10T13:05:21Z" } ] From 0f5c9dfe42bd1f22a1d6871eda41a1d373c8bda2 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 31 Mar 2025 16:39:27 +0200 Subject: [PATCH 042/166] slskd: fix broken curl (#3533) --- install/slskd-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/slskd-install.sh b/install/slskd-install.sh index 952052578..f8dc06648 100644 --- a/install/slskd-install.sh +++ b/install/slskd-install.sh @@ -41,7 +41,7 @@ msg_ok "Setup ${APPLICATION}" msg_info "Installing Soularr" rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED cd /tmp -curl -fsSL https://github.com/mrusse/soularr/archive/refs/heads/main.zip +curl -fsSL -o main.zip https://github.com/mrusse/soularr/archive/refs/heads/main.zip unzip -q main.zip mv soularr-main /opt/soularr cd /opt/soularr From b8c56918038b56f9494173d13bc786e9225be545 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 31 Mar 2025 17:39:51 +0200 Subject: [PATCH 043/166] GoMFT: Update Curl Path (#3537) * GoMFT: Update Curl Path * Update gomft.sh --- ct/gomft.sh | 4 ++-- install/gomft-install.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ct/gomft.sh b/ct/gomft.sh index 4a6ccb527..519d23b64 100644 --- a/ct/gomft.sh +++ b/ct/gomft.sh @@ -47,9 +47,9 @@ function update_script() { msg_info "Updating $APP to ${RELEASE}" rm -f /opt/gomft/gomft temp_file=$(mktemp) - curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v.${RELEASE}.tar.gz" -o $temp_file + curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -o $temp_file tar -xzf $temp_file - cp -rf GoMFT-v.${RELEASE}/* /opt/gomft + cp -rf GoMFT-${RELEASE}/* /opt/gomft cd /opt/gomft rm -f /opt/gomft/node_modules $STD npm ci diff --git a/install/gomft-install.sh b/install/gomft-install.sh index 68f620df5..d0b72b59e 100644 --- a/install/gomft-install.sh +++ b/install/gomft-install.sh @@ -47,9 +47,9 @@ msg_ok "Installed Node.js" msg_info "Setup ${APPLICATION} (Patience)" temp_file=$(mktemp) RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v.${RELEASE}.tar.gz" -o $temp_file +curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -o $temp_file tar -xzf $temp_file -mv GoMFT-v.${RELEASE}/ /opt/gomft +mv GoMFT-${RELEASE}/ /opt/gomft cd /opt/gomft $STD npm ci $STD node build.js From 6adb811adf5553b2c518bf1f2a08cfe6c0971c78 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 31 Mar 2025 17:40:35 +0200 Subject: [PATCH 044/166] core: fix empty header if header in repo exist (#3536) --- misc/build.func | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/build.func b/misc/build.func index f50d4db37..af23b09c0 100644 --- a/misc/build.func +++ b/misc/build.func @@ -295,7 +295,7 @@ get_header() { mkdir -p "/usr/local/community-scripts/headers" # Check if local file already present - if [ ! -f "$local_header_path" ]; then + if [ ! -s "$local_header_path" ]; then wget -qO "$local_header_path" "$header_url" if [ $? -ne 0 ]; then echo -e "${WARN}${BOLD}${YLW}Failed to download header for ${app_name}. No header will be displayed.${CL}" From e6208a4ac67b36a809ad98004de747b9a4711387 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, 31 Mar 2025 17:43:24 +0200 Subject: [PATCH 045/166] Update CHANGELOG.md (#3534) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8704a713..fad22b7d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,8 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - GoMFT: Update Curl Path [@MickLesk](https://github.com/MickLesk) ([#3537](https://github.com/community-scripts/ProxmoxVE/pull/3537)) + - slskd: fix broken curl for soularr [@MickLesk](https://github.com/MickLesk) ([#3533](https://github.com/community-scripts/ProxmoxVE/pull/3533)) - Docmost: Bump NodeJS to 22 & fixed pnpm [@MickLesk](https://github.com/MickLesk) ([#3521](https://github.com/community-scripts/ProxmoxVE/pull/3521)) - Tianji: Bump NodeJS to V22 [@MickLesk](https://github.com/MickLesk) ([#3519](https://github.com/community-scripts/ProxmoxVE/pull/3519)) @@ -35,6 +37,12 @@ All LXC instances created using this repository come pre-installed with Midnight - Remove old `.jar` versions of Stirling-PDF [@JcMinarro](https://github.com/JcMinarro) ([#3512](https://github.com/community-scripts/ProxmoxVE/pull/3512)) +### 🧰 Maintenance + + - #### πŸ’Ύ Core + + - core: fix empty header if header in repo exist [@MickLesk](https://github.com/MickLesk) ([#3536](https://github.com/community-scripts/ProxmoxVE/pull/3536)) + ### 🌐 Website - #### πŸ“ Script Information From 59ebbd37faf4c5366b5378b4378351e605845643 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 31 Mar 2025 17:46:27 +0200 Subject: [PATCH 046/166] Change Frontend Version Info (#3527) * Change Frontend Version Info * Fix * Update ScriptItem.tsx --- .../app/scripts/_components/ScriptItem.tsx | 213 ++++++++++++++---- 1 file changed, 164 insertions(+), 49 deletions(-) diff --git a/frontend/src/app/scripts/_components/ScriptItem.tsx b/frontend/src/app/scripts/_components/ScriptItem.tsx index a5f47b826..fd9ae9115 100644 --- a/frontend/src/app/scripts/_components/ScriptItem.tsx +++ b/frontend/src/app/scripts/_components/ScriptItem.tsx @@ -1,39 +1,29 @@ - import { Separator } from "@/components/ui/separator"; -import { extractDate } from "@/lib/time"; -import { Script, AppVersion } from "@/lib/types"; import { fetchVersions } from "@/lib/data"; +import { extractDate } from "@/lib/time"; +import { AppVersion, Script } from "@/lib/types"; import { X } from "lucide-react"; import Image from "next/image"; +import { basePath } from "@/config/siteConfig"; +import { useEffect, useState } from "react"; import { getDisplayValueFromType } from "./ScriptInfoBlocks"; import Alerts from "./ScriptItems/Alerts"; import Buttons from "./ScriptItems/Buttons"; import DefaultPassword from "./ScriptItems/DefaultPassword"; -import DefaultSettings from "./ScriptItems/DefaultSettings"; import Description from "./ScriptItems/Description"; import InstallCommand from "./ScriptItems/InstallCommand"; import InterFaces from "./ScriptItems/InterFaces"; import Tooltips from "./ScriptItems/Tooltips"; -import { basePath } from "@/config/siteConfig"; -import { useEffect, useState } from "react"; - -function ScriptItem({ - item, - setSelectedScript, -}: { - item: Script; - setSelectedScript: (script: string | null) => void; -}) { +function ScriptItem({ item, setSelectedScript }: { item: Script; setSelectedScript: (script: string | null) => void }) { const closeScript = () => { window.history.pushState({}, document.title, window.location.pathname); setSelectedScript(null); }; const [versions, setVersions] = useState([]); - useEffect(() => { fetchVersions() .then((fetchedVersions) => { @@ -68,10 +58,7 @@ function ScriptItem({ className="h-32 w-32 rounded-lg bg-accent/60 object-contain p-3 shadow-md" src={item.logo || `/${basePath}/logo.png`} width={400} - onError={(e) => - ((e.currentTarget as HTMLImageElement).src = - `/${basePath}/logo.png`) - } + onError={(e) => ((e.currentTarget as HTMLImageElement).src = `/${basePath}/logo.png`)} height={400} alt={item.name} unoptimized @@ -89,35 +76,165 @@ function ScriptItem({ Default OS: {os} {version}

-
- -
-
{versions.length === 0 ? (

Loading versions...

) : - (<> -

Version:

-

{versions.find((v) => - v.name === item.slug.replace(/[^a-z0-9]/g, '') || - v.name.includes(item.slug.replace(/[^a-z0-9]/g, '')) || - v.name.replace(/[^a-z0-9]/g, '') === item.slug.replace(/[^a-z0-9]/g, '') +

+ {(() => { + const getDisplayValueFromRAM = (ram: number) => + ram >= 1024 ? `${Math.floor(ram / 1024)}GB` : `${ram}MB`; - )?.version || "No Version information found" - }

-

Latest Version changes(Pulled from newreleases.io):

-

- {(() => { - const matchedVersion = versions.find((v) => - v.name === item.slug.replace(/[^a-z0-9]/g, '') || - v.name.includes(item.slug.replace(/[^a-z0-9]/g, '')) || - v.name.replace(/[^a-z0-9]/g, '') === item.slug.replace(/[^a-z0-9]/g, '') - ); - return matchedVersion?.date ? - extractDate(matchedVersion.date as unknown as string) : - "No date information found" - })()} -

- ) - } + const IconText = ({ icon, label }: { icon: React.ReactNode; label: string }) => ( + + {icon} + {label} + + ); + + const CPUIcon = ( + + + + + ); + + const RAMIcon = ( + + + + + ); + + const HDDIcon = ( + + + + + + ); + + const ResourceDisplay = ({ + title, + cpu, + ram, + hdd, + }: { + title: string; + cpu: number | null; + ram: number | null; + hdd: number | null; + }) => { + const getDisplayValueFromRAM = (ram: number) => + ram >= 1024 ? `${Math.floor(ram / 1024)}GB` : `${ram}MB`; + + const IconText = ({ icon, label }: { icon: React.ReactNode; label: string }) => ( + + {icon} + {label} + + ); + + const hasCPU = typeof cpu === "number" && cpu > 0; + const hasRAM = typeof ram === "number" && ram > 0; + const hasHDD = typeof hdd === "number" && hdd > 0; + + if (!hasCPU && !hasRAM && !hasHDD) return null; + + return ( +
+ {title}: + {hasCPU && ( + <> + + | + + )} + {hasRAM && ( + <> + + | + + )} + {hasHDD && } +
+ ); + }; + + const defaultSettings = item.install_methods.find((method) => method.type === "default"); + const alpineSettings = item.install_methods.find((method) => method.type === "alpine"); + return ( + <> + {defaultSettings?.resources && ( + + )} + + {alpineSettings?.resources && ( + + )} + + ); + })()}
+ + {(() => { + if (versions.length === 0) { + return

Loading versions...

; + } + + const cleanSlug = item.slug.replace(/[^a-z0-9]/gi, "").toLowerCase(); + + const matched = versions.find((v) => { + const cleanName = v.name.replace(/[^a-z0-9]/gi, "").toLowerCase(); + return cleanName === cleanSlug || cleanName.includes(cleanSlug); + }); + + if (!matched) return null; + + return ( +
+ + Version: {matched.version} ( + {extractDate( + matched.date instanceof Date ? matched.date.toISOString() : matched.date || "", + )} + + + Info + +
+ ); + })()}
@@ -134,9 +251,7 @@ function ScriptItem({
-

- How to {item.type == "misc" ? "use" : "install"} -

+

How to {item.type == "misc" ? "use" : "install"}

From dff0c3b713ac28e701599d1f8438680ee7ccf84a Mon Sep 17 00:00:00 2001 From: Brock Humblet <61528382+BrockHumblet@users.noreply.github.com> Date: Mon, 31 Mar 2025 11:19:36 -0500 Subject: [PATCH 047/166] Update PHP to 8.3 (#3510) --- ct/2fauth.sh | 20 ++++++++++++++++++++ install/2fauth-install.sh | 13 +++++++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/ct/2fauth.sh b/ct/2fauth.sh index bb68cb3cb..0f689bee2 100644 --- a/ct/2fauth.sh +++ b/ct/2fauth.sh @@ -41,8 +41,23 @@ function update_script() { # Creating Backup msg_info "Creating Backup" mv "/opt/2fauth" "/opt/2fauth-backup" + if ! dpkg -l | grep -q 'php8.3'; then + cp /etc/nginx/conf.d/2fauth.conf /etc/nginx/conf.d/2fauth.conf.bak + fi msg_ok "Backup Created" + # Upgrade PHP + if ! dpkg -l | grep -q 'php8.3'; then + $STD apt-get install -y \ + lsb-release \ + gpg + curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg + echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list + $STD apt-get update + $STD apt-get install -y php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,mbstring,mysql,xml,cli,intl} + sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf + fi + # Execute Update wget -q "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" unzip -q "${RELEASE}.zip" @@ -59,9 +74,14 @@ function update_script() { php artisan 2fauth:install + $STD systemctl restart nginx + # Cleaning up msg_info "Cleaning Up" rm -rf "v${RELEASE}.zip" + if dpkg -l | grep -q 'php8.2'; then + $STD apt-get remove --purge -y php8.2* + fi $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleanup Completed" diff --git a/install/2fauth-install.sh b/install/2fauth-install.sh index e7b3af6d0..4f843e306 100644 --- a/install/2fauth-install.sh +++ b/install/2fauth-install.sh @@ -14,10 +14,19 @@ network_check update_os msg_info "Installing Dependencies" + +$STD apt-get install -y \ + lsb-release \ + gpg + +curl -fsSL https://packages.sury.org/php/apt.gpg | gpg --dearmor -o /usr/share/keyrings/deb.sury.org-php.gpg +echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list +$STD apt-get update + $STD apt-get install -y \ nginx \ composer \ - php8.2-{bcmath,common,ctype,curl,fileinfo,fpm,gd,mbstring,mysql,xml,cli} \ + php8.3-{bcmath,common,ctype,curl,fileinfo,fpm,gd,mbstring,mysql,xml,cli} \ mariadb-server msg_ok "Installed Dependencies" @@ -90,7 +99,7 @@ server { error_page 404 /index.php; location ~ \.php\$ { - fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; + fastcgi_pass unix:/var/run/php/php8.3-fpm.sock; fastcgi_param SCRIPT_FILENAME \$realpath_root\$fastcgi_script_name; include fastcgi_params; } From 213107e1a1bf904adc65e9d4027fdb022bc8665d 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, 31 Mar 2025 19:48:34 +0200 Subject: [PATCH 048/166] Update CHANGELOG.md (#3538) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fad22b7d7..f5fc99fdf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### πŸš€ Updated Scripts + - 2FAuth: Update PHP to 8.3 [@BrockHumblet](https://github.com/BrockHumblet) ([#3510](https://github.com/community-scripts/ProxmoxVE/pull/3510)) + - #### 🐞 Bug Fixes - GoMFT: Update Curl Path [@MickLesk](https://github.com/MickLesk) ([#3537](https://github.com/community-scripts/ProxmoxVE/pull/3537)) @@ -45,6 +47,10 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🌐 Website + - #### ✨ New Features + + - Change Frontend Version Info [@MickLesk](https://github.com/MickLesk) ([#3527](https://github.com/community-scripts/ProxmoxVE/pull/3527)) + - #### πŸ“ Script Information - HomeAssistant (Container): Better Portainer explanation [@MickLesk](https://github.com/MickLesk) ([#3518](https://github.com/community-scripts/ProxmoxVE/pull/3518)) From d266e6a99c742eb079c4f8af8f2d1522a2a190f2 Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Mon, 31 Mar 2025 22:02:25 +0200 Subject: [PATCH 049/166] Update yt-dlp-webui.json (#3540) --- frontend/public/json/yt-dlp-webui.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/yt-dlp-webui.json b/frontend/public/json/yt-dlp-webui.json index ce8cc5a9b..5966bb33f 100644 --- a/frontend/public/json/yt-dlp-webui.json +++ b/frontend/public/json/yt-dlp-webui.json @@ -2,7 +2,7 @@ "name": "yt-dlp-webui", "slug": "yt-dlp-webui", "categories": [ - 14 + 11 ], "date_created": "2025-03-24", "type": "ct", From 7c83fcecab569f43805693331a845b60e96d624f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 31 Mar 2025 22:52:02 +0200 Subject: [PATCH 050/166] Fix sqlite3 failing to build (#3542) --- ct/the-lounge.sh | 9 ++++++++- install/the-lounge-install.sh | 5 ++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ct/the-lounge.sh b/ct/the-lounge.sh index a15b3be5a..8c77bef0b 100644 --- a/ct/the-lounge.sh +++ b/ct/the-lounge.sh @@ -27,6 +27,13 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + if ! dpkg -l build-essential >/dev/null 2>&1; then + $STD apt-get update + $STD apt-get install -y build-essential + fi + if ! npm list -g node-gyp >/dev/null 2>&1; then + $STD npm install -g node-gyp + fi RELEASE=$(curl -s https://api.github.com/repos/thelounge/thelounge-deb/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 msg_info "Stopping Service" @@ -61,4 +68,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}:9000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}" diff --git a/install/the-lounge-install.sh b/install/the-lounge-install.sh index fab2c2bf5..5c54c0723 100644 --- a/install/the-lounge-install.sh +++ b/install/the-lounge-install.sh @@ -14,7 +14,9 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gpg +$STD apt-get install -y \ + gpg \ + build-essential msg_ok "Installed Dependencies" msg_info "Setting up Node.js Repository" @@ -27,6 +29,7 @@ msg_info "Installing Node.js" $STD apt-get update $STD apt-get install -y nodejs $STD npm install --global yarn +$STD npm install --global node-gyp msg_ok "Installed Node.js" msg_info "Installing The Lounge" From 79c53f72c54c087a32af9f1125e19bd487a1d7c0 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, 31 Mar 2025 23:10:51 +0200 Subject: [PATCH 051/166] Update CHANGELOG.md (#3543) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5fc99fdf..be5c8fd00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,10 +22,10 @@ All LXC instances created using this repository come pre-installed with Midnight ### πŸš€ Updated Scripts - - 2FAuth: Update PHP to 8.3 [@BrockHumblet](https://github.com/BrockHumblet) ([#3510](https://github.com/community-scripts/ProxmoxVE/pull/3510)) - - #### 🐞 Bug Fixes + - The Lounge: Fix sqlite3 failing to build [@tremor021](https://github.com/tremor021) ([#3542](https://github.com/community-scripts/ProxmoxVE/pull/3542)) + - 2FAuth: Update PHP to 8.3 [@BrockHumblet](https://github.com/BrockHumblet) ([#3510](https://github.com/community-scripts/ProxmoxVE/pull/3510)) - GoMFT: Update Curl Path [@MickLesk](https://github.com/MickLesk) ([#3537](https://github.com/community-scripts/ProxmoxVE/pull/3537)) - slskd: fix broken curl for soularr [@MickLesk](https://github.com/MickLesk) ([#3533](https://github.com/community-scripts/ProxmoxVE/pull/3533)) - Docmost: Bump NodeJS to 22 & fixed pnpm [@MickLesk](https://github.com/MickLesk) ([#3521](https://github.com/community-scripts/ProxmoxVE/pull/3521)) From 8bdede13abac291b1905da8b6a9fc0fadea7339a 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, 1 Apr 2025 07:43:35 +0200 Subject: [PATCH 052/166] Update versions.json (#3544) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 166 ++++++++++++++--------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index dd330284c..fd5890247 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,39 +1,99 @@ [ { - "name": "fhem/fhem-mirror", - "version": "6.2", - "date": "2025-03-31T10:34:25Z" - }, - { - "name": "Checkmk/checkmk", - "version": "v2.3.0p30-rc1", - "date": "2025-03-31T09:39:47Z" + "name": "outline/outline", + "version": "v0.82.1-18", + "date": "2025-03-31T23:12:40Z" }, { "name": "semaphoreui/semaphore", - "version": "v2.13.5", - "date": "2025-03-31T09:36:04Z" + "version": "v2.13.6", + "date": "2025-03-31T22:43:48Z" }, { - "name": "documenso/documenso", - "version": "v1.10.0-rc.4", - "date": "2025-03-31T09:02:22Z" + "name": "esphome/esphome", + "version": "2025.3.3", + "date": "2025-03-31T22:07:05Z" + }, + { + "name": "Kometa-Team/Kometa", + "version": "v2.2.0", + "date": "2025-03-31T21:31:48Z" + }, + { + "name": "immich-app/immich", + "version": "v1.131.1", + "date": "2025-03-31T20:53:57Z" + }, + { + "name": "fhem/fhem-mirror", + "version": "6.2", + "date": "2025-03-31T20:30:25Z" + }, + { + "name": "home-assistant/core", + "version": "2025.3.4", + "date": "2025-03-21T20:22:46Z" + }, + { + "name": "NodeBB/NodeBB", + "version": "v4.2.0", + "date": "2025-03-19T18:34:01Z" + }, + { + "name": "runtipi/runtipi", + "version": "nightly", + "date": "2025-03-31T19:17:28Z" + }, + { + "name": "redis/redis", + "version": "8.0-rc1-int", + "date": "2025-03-31T18:26:40Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.3.0p30-rc2", + "date": "2025-03-31T15:30:40Z" }, { "name": "traefik/traefik", "version": "v3.3.5", "date": "2025-03-31T08:55:12Z" }, + { + "name": "home-assistant/operating-system", + "version": "15.1", + "date": "2025-03-31T13:42:20Z" + }, + { + "name": "theonedev/onedev", + "version": "v11.8.5", + "date": "2025-03-31T13:14:22Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.84.3", + "date": "2025-03-27T11:54:33Z" + }, + { + "name": "zitadel/zitadel", + "version": "v2.63.9", + "date": "2025-03-31T12:47:21Z" + }, + { + "name": "Graylog2/graylog2-server", + "version": "6.2.0-beta.3", + "date": "2025-03-31T11:22:28Z" + }, + { + "name": "documenso/documenso", + "version": "v1.10.0-rc.4", + "date": "2025-03-31T09:02:22Z" + }, { "name": "fallenbagel/jellyseerr", "version": "preview-fix-remove-button", "date": "2025-03-31T08:41:27Z" }, - { - "name": "home-assistant/core", - "version": "2025.3.4", - "date": "2025-03-21T20:22:46Z" - }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.10", @@ -44,6 +104,11 @@ "version": "v0.22.1712", "date": "2025-03-31T05:57:14Z" }, + { + "name": "MediaBrowser/Emby.Releases", + "version": "4.8.11.0", + "date": "2025-03-10T06:39:11Z" + }, { "name": "TriliumNext/Notes", "version": "v0.92.5", @@ -129,16 +194,6 @@ "version": "v0.7.9", "date": "2025-03-29T18:08:11Z" }, - { - "name": "theonedev/onedev", - "version": "v11.8.4", - "date": "2025-03-29T08:28:12Z" - }, - { - "name": "runtipi/runtipi", - "version": "v3.10.0", - "date": "2025-03-15T14:38:16Z" - }, { "name": "syncthing/syncthing", "version": "v2.0.0-beta.1", @@ -194,21 +249,11 @@ "version": "v5.6.1", "date": "2025-03-28T18:40:22Z" }, - { - "name": "NodeBB/NodeBB", - "version": "v4.2.0", - "date": "2025-03-19T18:34:01Z" - }, { "name": "louislam/uptime-kuma", "version": "2.0.0-beta.2-temp", "date": "2025-03-28T08:45:58Z" }, - { - "name": "zitadel/zitadel", - "version": "v2.71.5", - "date": "2025-03-28T15:34:27Z" - }, { "name": "emqx/emqx", "version": "e5.9.0-beta.2", @@ -259,11 +304,6 @@ "version": "2025.2", "date": "2025-03-27T19:21:13Z" }, - { - "name": "immich-app/immich", - "version": "v1.130.3", - "date": "2025-03-27T16:38:04Z" - }, { "name": "TandoorRecipes/recipes", "version": "1.5.34", @@ -274,21 +314,11 @@ "version": "v10.1.3", "date": "2025-03-27T15:51:38Z" }, - { - "name": "home-assistant/operating-system", - "version": "15.0", - "date": "2025-03-17T10:26:18Z" - }, { "name": "tailscale/tailscale", "version": "v1.82.0", "date": "2025-03-27T13:08:18Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.84.3", - "date": "2025-03-27T11:54:33Z" - }, { "name": "zabbix/zabbix", "version": "7.2.5", @@ -354,11 +384,6 @@ "version": "v1.34.0", "date": "2025-03-26T08:48:34Z" }, - { - "name": "esphome/esphome", - "version": "2025.3.2", - "date": "2025-03-25T23:06:45Z" - }, { "name": "grafana/grafana", "version": "v11.6.0", @@ -429,11 +454,6 @@ "version": "v0.9.0", "date": "2025-03-24T18:25:37Z" }, - { - "name": "Graylog2/graylog2-server", - "version": "6.2.0-beta.2", - "date": "2025-03-24T12:20:51Z" - }, { "name": "wavelog/wavelog", "version": "2.0.2", @@ -509,11 +529,6 @@ "version": "4.4.42", "date": "2025-03-20T14:44:17Z" }, - { - "name": "redis/redis", - "version": "8.0-rc1", - "date": "2025-03-11T18:16:27Z" - }, { "name": "rabbitmq/rabbitmq-server", "version": "v4.0.7", @@ -839,11 +854,6 @@ "version": "5.6.1", "date": "2025-02-23T20:39:48Z" }, - { - "name": "outline/outline", - "version": "v0.82.1-15", - "date": "2025-02-23T14:38:09Z" - }, { "name": "TechnitiumSoftware/DnsServer", "version": "v13.4.3", @@ -1139,11 +1149,6 @@ "version": "v0.8.3", "date": "2024-10-04T23:49:07Z" }, - { - "name": "Kometa-Team/Kometa", - "version": "v2.1.0", - "date": "2024-09-30T17:59:43Z" - }, { "name": "FunkeyFlo/ps5-mqtt", "version": "v1.4.0", @@ -1243,10 +1248,5 @@ "name": "Shinobi-Systems/Shinobi", "version": "furrykitten-3", "date": "2022-07-15T05:20:17Z" - }, - { - "name": "deluge-torrent/deluge", - "version": "deluge-2.1.2.dev0", - "date": "2022-07-10T13:05:21Z" } ] From 8c051b81862f3e6d4dccf8339c0dce7aa84d20da Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 10:25:46 +0200 Subject: [PATCH 053/166] Replace wget with curl -fsSL, normalize downloads, and prep for IPv6 (#3455) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Initial Call, Switch from curl -s to curl -fsSL and wget to curl -fssL * more switches * switch vms * more curls * More curls * more * more * more changes * more * prepare ipv6 calls * change frontend to ipv6 * Formatting * Fromatting * Update gomft.sh * Update gomft-install.sh * Update ersatztv.sh * Update build.func --------- Co-authored-by: SlaviΕ‘a AreΕΎina <58952836+tremor021@users.noreply.github.com> --- .github/CONTRIBUTOR_AND_GUIDES/ct/AppName.md | 2 +- .github/CONTRIBUTOR_AND_GUIDES/ct/AppName.sh | 6 +- .../install/AppName-install.sh | 10 +- .github/workflows/script-test.yml | 155 +++++++++--------- .github/workflows/script_format.yml | 29 ++-- .../workflows/scripts/app-test/pr-build.func | 2 +- .../scripts/app-test/pr-create-lxc.sh | 2 +- .../workflows/scripts/generate-app-headers.sh | 2 +- .github/workflows/scripts/update-json.sh | 2 +- .github/workflows/scripts/update_json_date.sh | 4 +- CHANGELOG.md | 2 +- ct/2fauth.sh | 8 +- ct/actualbudget.sh | 8 +- ct/adguard.sh | 4 +- ct/adventurelog.sh | 8 +- ct/agentdvr.sh | 2 +- ct/alpine-docker.sh | 4 +- ct/alpine-grafana.sh | 4 +- ct/alpine-it-tools.sh | 44 ++--- ct/alpine-nextcloud.sh | 12 +- ct/alpine-redis.sh | 2 +- ct/alpine-vaultwarden.sh | 4 +- ct/alpine-zigbee2mqtt.sh | 4 +- ct/alpine.sh | 4 +- ct/apache-cassandra.sh | 3 +- ct/apache-couchdb.sh | 4 +- ct/apache-guacamole.sh | 5 +- ct/apache-tika.sh | 6 +- ct/apache-tomcat.sh | 4 +- ct/apt-cacher-ng.sh | 4 +- ct/archivebox.sh | 4 +- ct/aria2.sh | 4 +- ct/audiobookshelf.sh | 4 +- ct/authelia.sh | 15 +- ct/authentik.sh | 8 +- ct/autobrr.sh | 4 +- ct/baikal.sh | 8 +- ct/barcode-buddy.sh | 8 +- ct/bazarr.sh | 11 +- ct/beszel.sh | 8 +- ct/blocky.sh | 17 +- ct/boltdiy.sh | 8 +- ct/bookstack.sh | 10 +- ct/bunkerweb.sh | 33 ++-- ct/bytestash.sh | 8 +- ct/caddy.sh | 4 +- ct/calibre-web.sh | 18 +- ct/casaos.sh | 2 +- ct/changedetection.sh | 4 +- ct/channels.sh | 2 +- ct/checkmk.sh | 10 +- ct/cloudflared.sh | 2 +- ct/cockpit.sh | 8 +- ct/commafeed.sh | 8 +- ct/cosmos.sh | 4 +- ct/crafty-controller.sh | 89 +++++----- ct/create_lxc.sh | 2 +- ct/cronicle.sh | 4 +- ct/cross-seed.sh | 6 +- ct/cryptpad.sh | 8 +- ct/daemonsync.sh | 2 +- ct/dashy.sh | 6 +- ct/debian.sh | 2 +- ct/deconz.sh | 2 +- ct/deluge.sh | 2 +- ct/docker.sh | 2 +- ct/dockge.sh | 2 +- ct/docmost.sh | 6 +- ct/dolibarr.sh | 4 +- ct/dotnetaspwebapi.sh | 4 +- ct/duplicati.sh | 8 +- ct/elementsynapse.sh | 6 +- ct/emby.sh | 6 +- ct/emqx.sh | 4 +- ct/ersatztv.sh | 23 ++- ct/esphome.sh | 2 +- ct/evcc.sh | 2 +- ct/excalidraw.sh | 8 +- ct/fenrus.sh | 4 +- ct/fhem.sh | 2 +- ct/fileflows.sh | 6 +- ct/firefly.sh | 16 +- ct/flaresolverr.sh | 8 +- ct/flowiseai.sh | 2 +- ct/fluid-calendar.sh | 8 +- ct/forgejo.sh | 6 +- ct/freshrss.sh | 4 +- ct/frigate.sh | 2 +- ct/ghost.sh | 4 +- ct/gitea.sh | 6 +- ct/glance.sh | 8 +- ct/glpi.sh | 6 +- ct/go2rtc.sh | 4 +- ct/gokapi.sh | 4 +- ct/gomft.sh | 4 +- ct/gotify.sh | 8 +- ct/grafana.sh | 2 +- ct/graylog.sh | 4 +- ct/grist.sh | 8 +- ct/grocy.sh | 4 +- ct/habitica.sh | 8 +- ct/headscale.sh | 8 +- ct/heimdall-dashboard.sh | 8 +- ct/hev-socks5-server.sh | 6 +- ct/hivemq.sh | 2 +- ct/hoarder.sh | 10 +- ct/homarr.sh | 42 ++--- ct/homeassistant-core.sh | 4 +- ct/homeassistant.sh | 4 +- ct/homebox.sh | 6 +- ct/homebridge.sh | 2 +- ct/homepage.sh | 6 +- ct/homer.sh | 4 +- ct/hyperhdr.sh | 2 +- ct/hyperion.sh | 2 +- ct/influxdb.sh | 4 +- ct/inspircd.sh | 6 +- ct/inventree.sh | 4 +- ct/iobroker.sh | 2 +- ct/iventoy.sh | 2 +- ct/jackett.sh | 6 +- ct/jellyfin.sh | 4 +- ct/jellyseerr.sh | 14 +- ct/jenkins.sh | 4 +- ct/jupyternotebook.sh | 6 +- ct/kavita.sh | 4 +- ct/keycloak.sh | 8 +- ct/kimai.sh | 8 +- ct/koillection.sh | 8 +- ct/kometa.sh | 8 +- ct/komga.sh | 8 +- ct/komodo.sh | 8 +- ct/kubo.sh | 8 +- ct/lazylibrarian.sh | 2 +- ct/lidarr.sh | 2 +- ct/linkwarden.sh | 12 +- ct/listmonk.sh | 6 +- ct/lldap.sh | 2 +- ct/lubelogger.sh | 8 +- ct/mafl.sh | 6 +- ct/magicmirror.sh | 8 +- ct/mariadb.sh | 2 +- ct/matterbridge.sh | 2 +- ct/mattermost.sh | 4 +- ct/mediamtx.sh | 2 +- ct/medusa.sh | 2 +- ct/memos.sh | 4 +- ct/meshcentral.sh | 2 +- ct/metube.sh | 2 +- ct/minio.sh | 8 +- ct/mongodb.sh | 4 +- ct/monica.sh | 8 +- ct/motioneye.sh | 2 +- ct/mqtt.sh | 2 +- ct/mylar3.sh | 6 +- ct/myspeed.sh | 8 +- ct/mysql.sh | 4 +- ct/n8n.sh | 2 +- ct/navidrome.sh | 8 +- ct/neo4j.sh | 2 +- ct/netbox.sh | 6 +- ct/nextcloudpi.sh | 2 +- ct/nextpvr.sh | 4 +- ct/nginxproxymanager.sh | 12 +- ct/nocodb.sh | 4 +- ct/node-red.sh | 2 +- ct/nodebb.sh | 6 +- ct/notifiarr.sh | 2 +- ct/npmplus.sh | 4 +- ct/ntfy.sh | 2 +- ct/nxwitness.sh | 10 +- ct/nzbget.sh | 2 +- ct/octoprint.sh | 2 +- ct/ollama.sh | 2 +- ct/omada.sh | 20 +-- ct/ombi.sh | 6 +- ct/omv.sh | 2 +- ct/onedev.sh | 6 +- ct/opengist.sh | 10 +- ct/openhab.sh | 4 +- ct/openobserve.sh | 4 +- ct/openwebui.sh | 4 +- ct/outline.sh | 8 +- ct/overseerr.sh | 2 +- ct/owncast.sh | 2 +- ct/pairdrop.sh | 2 +- ct/paperless-ai.sh | 8 +- ct/paperless-gpt.sh | 8 +- ct/paperless-ngx.sh | 8 +- ct/part-db.sh | 8 +- ct/paymenter.sh | 6 +- ct/peanut.sh | 6 +- ct/pelican-panel.sh | 8 +- ct/pelican-wings.sh | 6 +- ct/petio.sh | 6 +- ct/pf2etools.sh | 8 +- ct/photoprism.sh | 4 +- ct/phpipam.sh | 8 +- ct/pialert.sh | 6 +- ct/pihole.sh | 4 +- ct/pingvin.sh | 77 +++++---- ct/plant-it.sh | 10 +- ct/plex.sh | 4 +- ct/pocketbase.sh | 4 +- ct/pocketid.sh | 10 +- ct/podman-homeassistant.sh | 123 +++++++------- ct/podman.sh | 2 +- ct/postgresql.sh | 2 +- ct/privatebin.sh | 8 +- ct/projectsend.sh | 8 +- ct/prometheus-alertmanager.sh | 6 +- ct/prometheus-paperless-ngx-exporter.sh | 6 +- ct/prometheus-pve-exporter.sh | 2 +- ct/prometheus.sh | 6 +- ct/prowlarr.sh | 2 +- ct/proxmox-backup-server.sh | 17 +- ct/proxmox-datacenter-manager.sh | 17 +- ct/proxmox-mail-gateway.sh | 9 +- ct/ps5-mqtt.sh | 10 +- ct/pterodactyl-panel.sh | 8 +- ct/pterodactyl-wings.sh | 8 +- ct/qbittorrent.sh | 6 +- ct/rabbitmq.sh | 2 +- ct/radarr.sh | 2 +- ct/radicale.sh | 2 +- ct/rdtclient.sh | 4 +- ct/readarr.sh | 2 +- ct/readeck.sh | 6 +- ct/recyclarr.sh | 4 +- ct/redis.sh | 2 +- ct/revealjs.sh | 10 +- ct/rtsptoweb.sh | 2 +- ct/runtipi.sh | 2 +- ct/rustdeskserver.sh | 12 +- ct/sabnzbd.sh | 6 +- ct/seafile.sh | 2 +- ct/searxng.sh | 6 +- ct/seelf.sh | 8 +- ct/semaphore.sh | 6 +- ct/sftpgo.sh | 2 +- ct/shinobi.sh | 2 +- ct/silverbullet.sh | 13 +- ct/smokeping.sh | 2 +- ct/snipeit.sh | 12 +- ct/sonarr.sh | 4 +- ct/spoolman.sh | 10 +- ct/sqlserver2022.sh | 4 +- ct/stirling-pdf.sh | 6 +- ct/suwayomiserver.sh | 10 +- ct/syncthing.sh | 2 +- ct/tandoor.sh | 4 +- ct/tasmoadmin.sh | 2 +- ct/tasmocompiler.sh | 10 +- ct/tautulli.sh | 2 +- ct/tdarr.sh | 2 +- ct/technitiumdns.sh | 4 +- ct/teddycloud.sh | 13 +- ct/the-lounge.sh | 6 +- ct/threadfin.sh | 4 +- ct/tianji.sh | 14 +- ct/traccar.sh | 2 +- ct/traefik.sh | 6 +- ct/transmission.sh | 2 +- ct/trilium.sh | 26 +-- ct/typesense.sh | 6 +- ct/ubuntu.sh | 2 +- ct/umami.sh | 2 +- ct/umbrel.sh | 2 +- ct/unbound.sh | 2 +- ct/unifi.sh | 4 +- ct/unmanic.sh | 2 +- ct/uptimekuma.sh | 6 +- ct/urbackupserver.sh | 4 +- ct/vaultwarden.sh | 8 +- ct/victoriametrics.sh | 22 +-- ct/vikunja.sh | 8 +- ct/wallos.sh | 6 +- ct/wastebin.sh | 8 +- ct/watcharr.sh | 8 +- ct/watchyourlan.sh | 6 +- ct/wavelog.sh | 6 +- ct/wazuh.sh | 4 +- ct/web-check.sh | 4 +- ct/wger.sh | 8 +- ct/whisparr.sh | 2 +- ct/whoogle.sh | 2 +- ct/wikijs.sh | 6 +- ct/wireguard.sh | 4 +- ct/wordpress.sh | 4 +- ct/yt-dlp-webui.sh | 10 +- ct/yunohost.sh | 2 +- ct/zabbix.sh | 6 +- ct/zammad.sh | 2 +- ct/zerotier-one.sh | 5 +- ct/zigbee2mqtt.sh | 40 ++--- ct/zipline.sh | 10 +- ct/zitadel.sh | 10 +- ct/zoraxy.sh | 6 +- ct/zwave-js-ui.sh | 6 +- frontend/public/json/cron-update-lxcs.json | 2 +- .../ScriptItems/InstallCommand.tsx | 148 +++++++++-------- install/2fauth-install.sh | 4 +- install/actualbudget-install.sh | 4 +- install/adventurelog-install.sh | 4 +- install/agentdvr-install.sh | 4 +- install/alpine-docker-install.sh | 4 +- install/alpine-it-tools-install.sh | 2 +- install/apache-cassandra-install.sh | 4 +- install/apache-guacamole-install.sh | 16 +- install/apache-tika-install.sh | 4 +- install/apache-tomcat-install.sh | 6 +- install/aria2-install.sh | 2 +- install/authelia-install.sh | 4 +- install/authentik-install.sh | 20 +-- install/autobrr-install.sh | 2 +- install/baikal-install.sh | 4 +- install/barcode-buddy-install.sh | 4 +- install/bazarr-install.sh | 2 +- install/beszel-install.sh | 2 +- install/blocky-install.sh | 4 +- install/boltdiy-install.sh | 4 +- install/bookstack-install.sh | 4 +- install/bunkerweb-install.sh | 4 +- install/bytestash-install.sh | 4 +- install/caddy-install.sh | 10 +- install/calibre-web-install.sh | 2 +- install/checkmk-install.sh | 2 +- install/commafeed-install.sh | 8 +- install/cosmos-install.sh | 6 +- install/crafty-controller-install.sh | 6 +- install/cronicle-install.sh | 2 +- install/cryptpad-install.sh | 4 +- install/daemonsync-install.sh | 2 +- install/dashy-install.sh | 4 +- install/deconz-install.sh | 2 +- install/docker-install.sh | 4 +- install/dockge-install.sh | 13 +- install/docmost-install.sh | 4 +- install/dolibarr-install.sh | 6 +- install/duplicati-install.sh | 4 +- install/elementsynapse-install.sh | 2 +- install/emby-install.sh | 4 +- install/ersatztv-install.sh | 6 +- install/excalidraw-install.sh | 4 +- install/fenrus-install.sh | 2 +- install/fhem-install.sh | 2 +- install/fileflows-install.sh | 2 +- install/firefly-install.sh | 6 +- install/flaresolverr-install.sh | 6 +- install/flowiseai-install.sh | 2 +- install/fluid-calendar-install.sh | 4 +- install/forgejo-install.sh | 4 +- install/freshrss-install.sh | 4 +- install/frigate-install.sh | 18 +- install/gitea-install.sh | 4 +- install/glance-install.sh | 4 +- install/glpi-install.sh | 4 +- install/go2rtc-install.sh | 2 +- install/gokapi-install.sh | 4 +- install/gotify-install.sh | 4 +- install/grafana-install.sh | 2 +- install/graylog-install.sh | 2 +- install/grist-install.sh | 4 +- install/grocy-install.sh | 6 +- install/habitica-install.sh | 6 +- install/headscale-install.sh | 4 +- install/heimdall-dashboard-install.sh | 6 +- install/hev-socks5-server-install.sh | 2 +- install/hivemq-install.sh | 6 +- install/hoarder-install.sh | 12 +- install/homarr-install.sh | 4 +- install/homeassistant-install.sh | 4 +- install/homebox-install.sh | 4 +- install/homebridge-install.sh | 2 +- install/homepage-install.sh | 2 +- install/homer-install.sh | 2 +- install/hyperion-install.sh | 2 +- install/influxdb-install.sh | 4 +- install/inspircd-install.sh | 4 +- install/inventree-install.sh | 2 +- install/iventoy-install.sh | 4 +- install/jackett-install.sh | 4 +- install/jenkins-install.sh | 2 +- install/kavita-install.sh | 2 +- install/keycloak-install.sh | 6 +- install/kimai-install.sh | 6 +- install/koillection-install.sh | 6 +- install/kometa-install.sh | 4 +- install/komga-install.sh | 4 +- install/komodo-install.sh | 4 +- install/kubo-install.sh | 4 +- install/lidarr-install.sh | 2 +- install/linkwarden-install.sh | 6 +- install/listmonk-install.sh | 4 +- install/lubelogger-install.sh | 4 +- install/mafl-install.sh | 6 +- install/magicmirror-install.sh | 4 +- install/mariadb-install.sh | 2 +- install/mattermost-install.sh | 4 +- install/mediamtx-install.sh | 4 +- install/memos-install.sh | 6 +- install/minio-install.sh | 4 +- install/mongodb-install.sh | 2 +- install/monica-install.sh | 4 +- install/motioneye-install.sh | 4 +- install/mylar3-install.sh | 4 +- install/myspeed-install.sh | 4 +- install/mysql-install.sh | 2 +- install/navidrome-install.sh | 4 +- install/neo4j-install.sh | 2 +- install/netbox-install.sh | 4 +- install/nextpvr-install.sh | 2 +- install/nginxproxymanager-install.sh | 8 +- install/nocodb-install.sh | 2 +- install/nodebb-install.sh | 4 +- install/notifiarr-install.sh | 2 +- install/npmplus-install.sh | 6 +- install/nxwitness-install.sh | 6 +- install/ollama-install.sh | 6 +- install/omada-install.sh | 12 +- install/ombi-install.sh | 4 +- install/omv-install.sh | 2 +- install/onedev-install.sh | 2 +- install/opengist-install.sh | 4 +- install/openhab-install.sh | 4 +- install/openobserve-install.sh | 2 +- install/outline-install.sh | 4 +- install/owncast-install.sh | 2 +- install/paperless-ai-install.sh | 4 +- install/paperless-gpt-install.sh | 10 +- install/paperless-ngx-install.sh | 8 +- install/part-db-install.sh | 4 +- install/paymenter-install.sh | 6 +- install/peanut-install.sh | 4 +- install/pelican-panel-install.sh | 6 +- install/pelican-wings-install.sh | 6 +- install/petio-install.sh | 4 +- install/pf2etools-install.sh | 4 +- install/photoprism-install.sh | 6 +- install/phpipam-install.sh | 4 +- install/pialert-install.sh | 2 +- install/pihole-install.sh | 6 +- install/pingvin-install.sh | 8 +- install/plant-it-install.sh | 8 +- install/plex-install.sh | 2 +- install/pocketbase-install.sh | 4 +- install/pocketid-install.sh | 10 +- install/podman-homeassistant-install.sh | 2 +- install/podman-install.sh | 2 +- install/postgresql-install.sh | 2 +- install/privatebin-install.sh | 4 +- install/projectsend-install.sh | 4 +- install/prometheus-alertmanager-install.sh | 4 +- install/prometheus-install.sh | 4 +- ...ometheus-paperless-ngx-exporter-install.sh | 4 +- install/prowlarr-install.sh | 2 +- install/proxmox-backup-server-install.sh | 2 +- install/proxmox-mail-gateway-install.sh | 2 +- install/ps5-mqtt-install.sh | 4 +- install/pterodactyl-panel-install.sh | 6 +- install/pterodactyl-wings-install.sh | 6 +- install/qbittorrent-install.sh | 2 +- install/rabbitmq-install.sh | 6 +- install/radarr-install.sh | 4 +- install/radicale-install.sh | 10 +- install/rdtclient-install.sh | 6 +- install/readarr-install.sh | 2 +- install/readeck-install.sh | 4 +- install/recyclarr-install.sh | 2 +- install/redis-install.sh | 2 +- install/revealjs-install.sh | 4 +- install/rtsptoweb-install.sh | 6 +- install/runtipi-install.sh | 2 +- install/rustdeskserver-install.sh | 10 +- install/sabnzbd-install.sh | 2 +- install/seafile-install.sh | 2 +- install/seelf-install.sh | 10 +- install/semaphore-install.sh | 8 +- install/sftpgo-install.sh | 8 +- install/silverbullet-install.sh | 6 +- install/snipeit-install.sh | 4 +- install/sonarr-install.sh | 2 +- install/spoolman-install.sh | 6 +- install/sqlserver2022-install.sh | 8 +- install/stirling-pdf-install.sh | 8 +- install/suwayomiserver-install.sh | 6 +- install/syncthing-install.sh | 2 +- install/tandoor-install.sh | 2 +- install/tasmoadmin-install.sh | 2 +- install/tasmocompiler-install.sh | 4 +- install/tdarr-install.sh | 4 +- install/technitiumdns-install.sh | 2 +- install/teddycloud-install.sh | 4 +- install/the-lounge-install.sh | 4 +- install/threadfin-install.sh | 2 +- install/tianji-install.sh | 4 +- install/traccar-install.sh | 4 +- install/traefik-install.sh | 4 +- install/trilium-install.sh | 4 +- install/typesense-install.sh | 4 +- install/umbrel-install.sh | 4 +- install/unifi-install.sh | 10 +- install/vaultwarden-install.sh | 6 +- install/victoriametrics-install.sh | 8 +- install/vikunja-install.sh | 4 +- install/wallos-install.sh | 4 +- install/wastebin-install.sh | 4 +- install/watcharr-install.sh | 10 +- install/watchyourlan-install.sh | 4 +- install/wavelog-install.sh | 4 +- install/wazuh-install.sh | 2 +- install/web-check-install.sh | 2 +- install/wger-install.sh | 4 +- install/whisparr-install.sh | 2 +- install/wikijs-install.sh | 4 +- install/wordpress-install.sh | 2 +- install/yt-dlp-webui-install.sh | 14 +- install/yunohost-install.sh | 4 +- install/zabbix-install.sh | 6 +- install/zerotier-one-install.sh | 4 +- install/zigbee2mqtt-install.sh | 4 +- install/zipline-install.sh | 4 +- install/zitadel-install.sh | 4 +- install/zoraxy-install.sh | 4 +- install/zwave-js-ui-install.sh | 4 +- misc/add-lxc-iptag.sh | 16 +- misc/add-netbird-lxc.sh | 6 +- misc/add-tailscale-lxc.sh | 6 +- misc/alpine-install.func | 2 +- misc/api.func | 6 +- misc/build.func | 16 +- misc/clean-lxcs.sh | 4 +- misc/clean-orphaned-lvm.sh | 16 +- misc/code-server.sh | 12 +- misc/container-restore-from-backup.sh | 5 +- misc/copy-data/README.md | 18 +- ...iner-copy-data-home-assistant-container.sh | 7 +- ...container-copy-data-home-assistant-core.sh | 7 +- ...ntainer-copy-data-podman-home-assistant.sh | 7 +- ...core-copy-data-home-assistant-container.sh | 7 +- ...tant-core-copy-data-home-assistant-core.sh | 7 +- misc/copy-data/plex-copy-data-plex.sh | 7 +- ...tant-copy-data-home-assistant-container.sh | 7 +- misc/copy-data/z2m-copy-data-z2m.sh | 7 +- .../zwavejs2mqtt-copy-data-zwavejsui.sh | 7 +- misc/core-restore-from-backup.sh | 5 +- misc/cron-update-lxcs.sh | 4 +- misc/crowdsec.sh | 7 +- misc/filebrowser.sh | 15 +- misc/frigate-support.sh | 18 +- misc/fstrim.sh | 24 +-- misc/glances.sh | 68 ++++---- misc/hw-acceleration.sh | 12 +- misc/install.func | 4 +- misc/kernel-clean.sh | 2 +- misc/kernel-pin.sh | 4 +- misc/lxc-delete.sh | 14 +- misc/microcode.sh | 46 +++++- misc/monitor-all.sh | 68 ++++---- misc/netdata.sh | 40 ++--- misc/olivetin.sh | 18 +- misc/pbs3-upgrade.sh | 6 +- misc/pbs_microcode.sh | 20 +-- misc/post-pbs-install.sh | 10 +- misc/post-pmg-install.sh | 5 +- misc/post-pve-install.sh | 39 +++-- misc/pve8-upgrade.sh | 43 ++--- misc/pyenv.sh | 95 +++++------ misc/scaling-governor.sh | 45 ++--- misc/update-lxcs.sh | 34 ++-- misc/webmin.sh | 4 +- turnkey/turnkey.sh | 2 +- vm/archlinux-vm.sh | 23 ++- vm/debian-vm.sh | 22 +-- vm/docker-vm.sh | 24 +-- vm/haos-vm.sh | 36 ++-- vm/mikrotik-routeros.sh | 7 +- vm/nextcloud-vm.sh | 8 +- vm/openwrt.sh | 10 +- vm/opnsense-vm.sh | 147 ++++++++--------- vm/owncloud-vm.sh | 8 +- vm/pimox-haos-vm.sh | 20 +-- vm/ubuntu2204-vm.sh | 22 +-- vm/ubuntu2404-vm.sh | 24 +-- vm/ubuntu2410-vm.sh | 22 +-- 585 files changed, 2364 insertions(+), 2258 deletions(-) diff --git a/.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.md b/.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.md index e3a2b0bc0..f9521f9be 100644 --- a/.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.md +++ b/.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.md @@ -52,7 +52,7 @@ source <(curl -s https://raw.githubusercontent.com/[USER]/[REPO]/refs/heads/[BRA Final script: ```bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) ``` > [!CAUTION] diff --git a/.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.sh b/.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.sh index b61262bb1..066a1c5f9 100644 --- a/.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.sh +++ b/.github/CONTRIBUTOR_AND_GUIDES/ct/AppName.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: [YourUserName] # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -9,7 +9,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m APP="[APP_NAME]" # Name of the app (e.g. Google, Adventurelog, Apache-Guacamole" var_tags="[TAGS]" -# Tags for Proxmox VE, maximum 2 pcs., no spaces allowed, separated by a semicolon ; (e.g. database | adblock;dhcp) +# Tags for Proxmox VE, maximum 2 pcs., no spaces allowed, separated by a semicolon ; (e.g. database | adblock;dhcp) var_cpu="[CPU]" # Number of cores (1-X) (e.g. 4) - default are 2 var_ram="[RAM]" @@ -83,4 +83,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}:[PORT]${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:[PORT]${CL}" \ No newline at end of file diff --git a/.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh b/.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh index ea2f25a56..2eb435b16 100644 --- a/.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh +++ b/.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh @@ -42,10 +42,10 @@ msg_ok "Set up Database" # Setup App msg_info "Setup ${APPLICATION}" -RELEASE=$(curl -s https://api.github.com/repos/[REPO]/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q "https://github.com/[REPO]/archive/refs/tags/${RELEASE}.zip" -unzip -q ${RELEASE}.zip -mv ${APPLICATION}-${RELEASE}/ /opt/${APPLICATION} +RELEASE=$(curl -fsSL https://api.github.com/repos/[REPO]/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL -o "${RELEASE}.zip" "https://github.com/[REPO]/archive/refs/tags/${RELEASE}.zip" +unzip -q "${RELEASE}.zip" +mv "${APPLICATION}-${RELEASE}/" "/opt/${APPLICATION}" # # # @@ -77,4 +77,4 @@ msg_info "Cleaning up" rm -f ${RELEASE}.zip $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" +msg_ok "Cleaned" \ No newline at end of file diff --git a/.github/workflows/script-test.yml b/.github/workflows/script-test.yml index 5c8803907..64e5b31cc 100644 --- a/.github/workflows/script-test.yml +++ b/.github/workflows/script-test.yml @@ -1,29 +1,29 @@ name: Run Scripts on PVE Node for testing permissions: - pull-requests: write + pull-requests: write on: pull_request_target: branches: - main paths: - - 'install/**.sh' - - 'ct/**.sh' + - "install/**.sh" + - "ct/**.sh" jobs: run-install-script: runs-on: pvenode - steps: + steps: - name: Checkout PR branch uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.ref }} repository: ${{ github.event.pull_request.head.repo.full_name }} - fetch-depth: 0 - + fetch-depth: 0 + - name: Add Git safe directory run: | git config --global --add safe.directory /__w/ProxmoxVE/ProxmoxVE - + - name: Set up GH_TOKEN env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -38,7 +38,6 @@ jobs: echo "SCRIPT=$CHANGED_FILES" >> $GITHUB_ENV env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Get scripts id: check-install-script @@ -57,81 +56,81 @@ jobs: ALL_FILES=$(echo "${ALL_FILES[@]}" | xargs) echo "$ALL_FILES" echo "ALL_FILES=$ALL_FILES" >> $GITHUB_ENV - + - name: Run scripts id: run-install continue-on-error: true run: | - set +e - #run for each files in /ct - for FILE in ${{ env.ALL_FILES }}; do - STRIPPED_NAME=$(basename "$FILE" | sed 's/-install//' | sed 's/\.sh$//') - echo "Running Test for: $STRIPPED_NAME" - if grep -E -q 'read\s+-r\s+-p\s+".*"\s+\w+' "$FILE"; then - echo "The script contains an interactive prompt. Skipping execution." + set +e + #run for each files in /ct + for FILE in ${{ env.ALL_FILES }}; do + STRIPPED_NAME=$(basename "$FILE" | sed 's/-install//' | sed 's/\.sh$//') + echo "Running Test for: $STRIPPED_NAME" + if grep -E -q 'read\s+-r\s+-p\s+".*"\s+\w+' "$FILE"; then + echo "The script contains an interactive prompt. Skipping execution." + continue + fi + if [[ $FILE =~ ^install/.*-install\.sh$ ]]; then + CT_SCRIPT="ct/$STRIPPED_NAME.sh" + if [[ ! -f $CT_SCRIPT ]]; then + echo "No CT script found for $STRIPPED_NAME" + ERROR_MSG="No CT script found for $FILE" + echo "$ERROR_MSG" > result_$STRIPPED_NAME.log continue fi - if [[ $FILE =~ ^install/.*-install\.sh$ ]]; then - CT_SCRIPT="ct/$STRIPPED_NAME.sh" - if [[ ! -f $CT_SCRIPT ]]; then - echo "No CT script found for $STRIPPED_NAME" - ERROR_MSG="No CT script found for $FILE" - echo "$ERROR_MSG" > result_$STRIPPED_NAME.log + if grep -E -q 'read\s+-r\s+-p\s+".*"\s+\w+' "install/$STRIPPED_NAME-install.sh"; then + echo "The script contains an interactive prompt. Skipping execution." continue fi - if grep -E -q 'read\s+-r\s+-p\s+".*"\s+\w+' "install/$STRIPPED_NAME-install.sh"; then - echo "The script contains an interactive prompt. Skipping execution." - continue - fi - echo "Found CT script for $STRIPPED_NAME" - chmod +x "$CT_SCRIPT" - RUNNING_FILE=$CT_SCRIPT - elif [[ $FILE =~ ^ct/.*\.sh$ ]]; then - INSTALL_SCRIPT="install/$STRIPPED_NAME-install.sh" - if [[ ! -f $INSTALL_SCRIPT ]]; then - echo "No install script found for $STRIPPED_NAME" - ERROR_MSG="No install script found for $FILE" - echo "$ERROR_MSG" > result_$STRIPPED_NAME.log - continue - fi - echo "Found install script for $STRIPPED_NAME" - chmod +x "$INSTALL_SCRIPT" - RUNNING_FILE=$FILE - if grep -E -q 'read\s+-r\s+-p\s+".*"\s+\w+' "ct/$STRIPPED_NAME.sh"; then - echo "The script contains an interactive prompt. Skipping execution." - continue - fi - fi - git remote add community-scripts https://github.com/community-scripts/ProxmoxVE.git - git fetch community-scripts - rm -f .github/workflows/scripts/app-test/pr-build.func || true - rm -f .github/workflows/scripts/app-test/pr-install.func || true - rm -f .github/workflows/scripts/app-test/pr-alpine-install.func || true - rm -f .github/workflows/scripts/app-test/pr-create-lxc.sh || true - git checkout community-scripts/main -- .github/workflows/scripts/app-test/pr-build.func - git checkout community-scripts/main -- .github/workflows/scripts/app-test/pr-install.func - git checkout community-scripts/main -- .github/workflows/scripts/app-test/pr-alpine-install.func - git checkout community-scripts/main -- .github/workflows/scripts/app-test/pr-create-lxc.sh - chmod +x $RUNNING_FILE - chmod +x .github/workflows/scripts/app-test/pr-create-lxc.sh - chmod +x .github/workflows/scripts/app-test/pr-install.func - chmod +x .github/workflows/scripts/app-test/pr-alpine-install.func - chmod +x .github/workflows/scripts/app-test/pr-build.func - sed -i 's|source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)|source .github/workflows/scripts/app-test/pr-build.func|g' "$RUNNING_FILE" - echo "Executing $RUNNING_FILE" - ERROR_MSG=$(./$RUNNING_FILE 2>&1 > /dev/null) - echo "Finished running $FILE" - if [ -n "$ERROR_MSG" ]; then - echo "ERROR in $STRIPPED_NAME: $ERROR_MSG" + echo "Found CT script for $STRIPPED_NAME" + chmod +x "$CT_SCRIPT" + RUNNING_FILE=$CT_SCRIPT + elif [[ $FILE =~ ^ct/.*\.sh$ ]]; then + INSTALL_SCRIPT="install/$STRIPPED_NAME-install.sh" + if [[ ! -f $INSTALL_SCRIPT ]]; then + echo "No install script found for $STRIPPED_NAME" + ERROR_MSG="No install script found for $FILE" echo "$ERROR_MSG" > result_$STRIPPED_NAME.log - fi - done - set -e # Restore exit-on-error - + continue + fi + echo "Found install script for $STRIPPED_NAME" + chmod +x "$INSTALL_SCRIPT" + RUNNING_FILE=$FILE + if grep -E -q 'read\s+-r\s+-p\s+".*"\s+\w+' "ct/$STRIPPED_NAME.sh"; then + echo "The script contains an interactive prompt. Skipping execution." + continue + fi + fi + git remote add community-scripts https://github.com/community-scripts/ProxmoxVE.git + git fetch community-scripts + rm -f .github/workflows/scripts/app-test/pr-build.func || true + rm -f .github/workflows/scripts/app-test/pr-install.func || true + rm -f .github/workflows/scripts/app-test/pr-alpine-install.func || true + rm -f .github/workflows/scripts/app-test/pr-create-lxc.sh || true + git checkout community-scripts/main -- .github/workflows/scripts/app-test/pr-build.func + git checkout community-scripts/main -- .github/workflows/scripts/app-test/pr-install.func + git checkout community-scripts/main -- .github/workflows/scripts/app-test/pr-alpine-install.func + git checkout community-scripts/main -- .github/workflows/scripts/app-test/pr-create-lxc.sh + chmod +x $RUNNING_FILE + chmod +x .github/workflows/scripts/app-test/pr-create-lxc.sh + chmod +x .github/workflows/scripts/app-test/pr-install.func + chmod +x .github/workflows/scripts/app-test/pr-alpine-install.func + chmod +x .github/workflows/scripts/app-test/pr-build.func + sed -i 's|source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)|source .github/workflows/scripts/app-test/pr-build.func|g' "$RUNNING_FILE" + echo "Executing $RUNNING_FILE" + ERROR_MSG=$(./$RUNNING_FILE 2>&1 > /dev/null) + echo "Finished running $FILE" + if [ -n "$ERROR_MSG" ]; then + echo "ERROR in $STRIPPED_NAME: $ERROR_MSG" + echo "$ERROR_MSG" > result_$STRIPPED_NAME.log + fi + done + set -e # Restore exit-on-error + - name: Cleanup PVE Node run: | containers=$(pct list | tail -n +2 | awk '{print $0 " " $4}' | awk '{print $1}') - + for container_id in $containers; do status=$(pct status $container_id | awk '{print $2}') if [[ $status == "running" ]]; then @@ -139,26 +138,26 @@ jobs: pct destroy $container_id fi done - + - name: Post error comments run: | ERROR="false" SEARCH_LINE=".github/workflows/scripts/app-test/pr-build.func: line 255:" - + # Get all existing comments on the PR EXISTING_COMMENTS=$(gh pr view ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --json comments --jq '.comments[].body') - + for FILE in ${{ env.ALL_FILES }}; do STRIPPED_NAME=$(basename "$FILE" | sed 's/-install//' | sed 's/\.sh$//') if [[ ! -f result_$STRIPPED_NAME.log ]]; then continue fi ERROR_MSG=$(cat result_$STRIPPED_NAME.log) - + if [ -n "$ERROR_MSG" ]; then CLEANED_ERROR_MSG=$(echo "$ERROR_MSG" | sed "s|$SEARCH_LINE.*||") COMMENT_BODY=":warning: The script _**$FILE**_ failed with the following message:
${CLEANED_ERROR_MSG}
" - + # Check if the comment already exists if echo "$EXISTING_COMMENTS" | grep -qF "$COMMENT_BODY"; then echo "Skipping duplicate comment for $FILE" @@ -171,7 +170,5 @@ jobs: fi fi done - + echo "ERROR=$ERROR" >> $GITHUB_ENV - - diff --git a/.github/workflows/script_format.yml b/.github/workflows/script_format.yml index a86a512b4..83d004e91 100644 --- a/.github/workflows/script_format.yml +++ b/.github/workflows/script_format.yml @@ -1,29 +1,29 @@ name: Script Format Check permissions: - pull-requests: write + pull-requests: write on: pull_request_target: branches: - main paths: - - 'install/*.sh' - - 'ct/*.sh' + - "install/*.sh" + - "ct/*.sh" jobs: run-install-script: runs-on: pvenode - steps: + steps: - name: Checkout PR branch (supports forks) uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.ref }} - repository: ${{ github.event.pull_request.head.repo.full_name }} - fetch-depth: 0 - + repository: ${{ github.event.pull_request.head.repo.full_name }} + fetch-depth: 0 + - name: Add Git safe directory run: | git config --global --add safe.directory /__w/ProxmoxVE/ProxmoxVE - + - name: Set up GH_TOKEN env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -38,7 +38,7 @@ jobs: echo "SCRIPT=$CHANGED_FILES" >> $GITHUB_ENV env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - + - name: Check scripts id: run-install continue-on-error: true @@ -54,13 +54,13 @@ jobs: FIRST_LINE=$(sed -n '1p' "$FILE") [[ "$FIRST_LINE" != "#!/usr/bin/env bash" ]] && echo "Line 1 was $FIRST_LINE | Should be: #!/usr/bin/env bash" >> "$LOG_FILE" SECOND_LINE=$(sed -n '2p' "$FILE") - [[ "$SECOND_LINE" != "source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)" ]] && - echo "Line 2 was $SECOND_LINE | Should be: source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)" >> "$LOG_FILE" + [[ "$SECOND_LINE" != "source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)" ]] && + echo "Line 2 was $SECOND_LINE | Should be: source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)" >> "$LOG_FILE" THIRD_LINE=$(sed -n '3p' "$FILE") if ! [[ "$THIRD_LINE" =~ ^#\ Copyright\ \(c\)\ [0-9]{4}-[0-9]{4}\ community-scripts\ ORG$ || "$THIRD_LINE" =~ ^Copyright\ \(c\)\ [0-9]{4}-[0-9]{4}\ tteck$ ]]; then echo "Line 3 was $THIRD_LINE | Should be: # Copyright (c) 2021-2025 community-scripts ORG" >> "$LOG_FILE" fi - + EXPECTED_AUTHOR="# Author:" EXPECTED_LICENSE="# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE" EXPECTED_SOURCE="# Source:" @@ -210,7 +210,6 @@ jobs: done - - name: Post error comments run: | ERROR="false" @@ -222,7 +221,7 @@ jobs: continue fi ERROR_MSG=$(cat $LOG_FILE) - + if [ -n "$ERROR_MSG" ]; then echo "Posting error message for $FILE" echo ${ERROR_MSG} @@ -240,4 +239,4 @@ jobs: - name: Fail if error if: ${{ env.ERROR == 'true' }} - run: exit 1 + run: exit 1 diff --git a/.github/workflows/scripts/app-test/pr-build.func b/.github/workflows/scripts/app-test/pr-build.func index 4ca15d099..0625e69e7 100644 --- a/.github/workflows/scripts/app-test/pr-build.func +++ b/.github/workflows/scripts/app-test/pr-build.func @@ -184,7 +184,7 @@ build_container() { echo "Container ID: $CTID" # This executes create_lxc.sh and creates the container and .conf file - bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/.github/workflows/scripts/app-test/pr-create-lxc.sh)" + bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/.github/workflows/scripts/app-test/pr-create-lxc.sh)" LXC_CONFIG=/etc/pve/lxc/${CTID}.conf if [ "$CT_TYPE" == "0" ]; then diff --git a/.github/workflows/scripts/app-test/pr-create-lxc.sh b/.github/workflows/scripts/app-test/pr-create-lxc.sh index 0bb2a9d2f..13252a2ca 100644 --- a/.github/workflows/scripts/app-test/pr-create-lxc.sh +++ b/.github/workflows/scripts/app-test/pr-create-lxc.sh @@ -160,4 +160,4 @@ if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[ msg_error "A problem occurred while trying to create container after re-downloading template." exit 200 fi -fi +fi \ No newline at end of file diff --git a/.github/workflows/scripts/generate-app-headers.sh b/.github/workflows/scripts/generate-app-headers.sh index 854a0f1fc..645041649 100755 --- a/.github/workflows/scripts/generate-app-headers.sh +++ b/.github/workflows/scripts/generate-app-headers.sh @@ -31,4 +31,4 @@ find ./ct -type f -name "*.sh" | sort | while read -r script; do fi done -echo "Completed processing .sh files." +echo "Completed processing .sh files." \ No newline at end of file diff --git a/.github/workflows/scripts/update-json.sh b/.github/workflows/scripts/update-json.sh index b51df649f..1711f7550 100644 --- a/.github/workflows/scripts/update-json.sh +++ b/.github/workflows/scripts/update-json.sh @@ -16,5 +16,5 @@ fi DATE_IN_JSON=$(jq -r '.date_created' "$FILE" 2>/dev/null || echo "") if [[ "$DATE_IN_JSON" != "$TODAY" ]]; then - jq --arg date "$TODAY" '.date_created = $date' "$FILE" > tmp.json && mv tmp.json "$FILE" + jq --arg date "$TODAY" '.date_created = $date' "$FILE" >tmp.json && mv tmp.json "$FILE" fi diff --git a/.github/workflows/scripts/update_json_date.sh b/.github/workflows/scripts/update_json_date.sh index d07eab711..13305de83 100644 --- a/.github/workflows/scripts/update_json_date.sh +++ b/.github/workflows/scripts/update_json_date.sh @@ -11,8 +11,8 @@ for json_file in $json_dir; do if [[ "$current_json_date" != "$current_date" ]]; then echo "Updating $json_file with date $current_date" - jq --arg date "$current_date" '.date_created = $date' "$json_file" > temp.json && mv temp.json "$json_file" - + jq --arg date "$current_date" '.date_created = $date' "$json_file" >temp.json && mv temp.json "$json_file" + git add "$json_file" git commit -m "Update date_created to $current_date in $json_file" else diff --git a/CHANGELOG.md b/CHANGELOG.md index be5c8fd00..0daae65ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2519,7 +2519,7 @@ All LXC instances created using this repository come pre-installed with Midnight - **Automatic Update of Repository:** The update function now uses the new repository `community-scripts/ProxmoxVE` for Debian/Ubuntu LXC containers. ```bash - bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/update-repo.sh)" + bash -c "$(curl -fsSL https://github.com/community-scripts/ProxmoxVE/raw/main/misc/update-repo.sh)" ## 2024-10-31 diff --git a/ct/2fauth.sh b/ct/2fauth.sh index 0f689bee2..4c9aab34d 100644 --- a/ct/2fauth.sh +++ b/ct/2fauth.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: jkrgr0 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -31,7 +31,7 @@ function update_script() { fi # Crawling the new version and checking whether an update is required - RELEASE=$(curl -s https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ "${RELEASE}" != "$(cat /opt/2fauth_version.txt)" ]] || [[ ! -f /opt/2fauth_version.txt ]]; then msg_info "Updating $APP to ${RELEASE}" @@ -59,9 +59,9 @@ function update_script() { fi # Execute Update - wget -q "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" + curl -fsSL -o "${RELEASE}.zip" "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" unzip -q "${RELEASE}.zip" - mv "2FAuth-${RELEASE//v}/" "/opt/2fauth" + mv "2FAuth-${RELEASE//v/}/" "/opt/2fauth" mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env" mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage" cd "/opt/2fauth" || return diff --git a/ct/actualbudget.sh b/ct/actualbudget.sh index 46617713f..c818ceabe 100644 --- a/ct/actualbudget.sh +++ b/ct/actualbudget.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then msg_info "Stopping ${APP}" systemctl stop actualbudget @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cd /tmp - wget -q https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz + curl -fsSL -O https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz mv /opt/actualbudget /opt/actualbudget_bak tar -xzf "v${RELEASE}.tar.gz" @@ -123,4 +123,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}https://${IP}:5006${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:5006${CL}" \ No newline at end of file diff --git a/ct/adguard.sh b/ct/adguard.sh index 800e10566..41436522f 100644 --- a/ct/adguard.sh +++ b/ct/adguard.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -38,4 +38,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/adventurelog.sh b/ct/adventurelog.sh index 990790ca2..5df105770 100644 --- a/ct/adventurelog.sh +++ b/ct/adventurelog.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/seanmorley15/AdventureLog/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 msg_info "Stopping Services" systemctl stop adventurelog-backend @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" mv /opt/adventurelog/ /opt/adventurelog-backup/ - wget -qO /opt/v${RELEASE}.zip "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" + curl -fsSL -o /opt/v${RELEASE}.zip "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" unzip -q /opt/v${RELEASE}.zip -d /opt/ mv /opt/AdventureLog-${RELEASE} /opt/adventurelog @@ -78,4 +78,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/agentdvr.sh b/ct/agentdvr.sh index 9dfdaa9d8..e398db3eb 100644 --- a/ct/agentdvr.sh +++ b/ct/agentdvr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/alpine-docker.sh b/ct/alpine-docker.sh index 079429fba..2c3c16e74 100644 --- a/ct/alpine-docker.sh +++ b/ct/alpine-docker.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -47,4 +47,4 @@ start build_container description -msg_ok "Completed Successfully!\n" +msg_ok "Completed Successfully!\n" \ No newline at end of file diff --git a/ct/alpine-grafana.sh b/ct/alpine-grafana.sh index 945970a5c..dc60d0d6f 100644 --- a/ct/alpine-grafana.sh +++ b/ct/alpine-grafana.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -62,4 +62,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${APP} should be reachable by going to the following URL. - ${BL}http://${IP}:3000${CL} \n" + ${BL}http://${IP}:3000${CL} \n" \ No newline at end of file diff --git a/ct/alpine-it-tools.sh b/ct/alpine-it-tools.sh index 40d9d087c..e107c2d4f 100644 --- a/ct/alpine-it-tools.sh +++ b/ct/alpine-it-tools.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: nicedevil007 (NiceDevil) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -24,28 +24,28 @@ function update_script() { check_container_storage check_container_resources -if [ ! -d /usr/share/nginx/html ]; then - msg_error "No ${APP} Installation Found!" - exit 1 -fi + if [ ! -d /usr/share/nginx/html ]; then + msg_error "No ${APP} Installation Found!" + exit 1 + fi -RELEASE=$(curl -s https://api.github.com/repos/CorentinTh/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4) -if [ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ] || [ ! -f /opt/${APP}_version.txt ]; then - DOWNLOAD_URL="https://github.com/CorentinTh/it-tools/releases/download/${RELEASE}/it-tools-${RELEASE#v}.zip" - msg_info "Updating ${APP} LXC" - curl -fsSL -o it-tools.zip "$DOWNLOAD_URL" - mkdir -p /usr/share/nginx/html - rm -rf /usr/share/nginx/html/* - unzip -q it-tools.zip -d /tmp/it-tools - cp -r /tmp/it-tools/dist/* /usr/share/nginx/html - rm -rf /tmp/it-tools - rm -f it-tools.zip - msg_ok "Updated Successfully" -else - msg_ok "No update required. ${APP} is already at ${RELEASE}" -fi + RELEASE=$(curl -fsSL https://api.github.com/repos/CorentinTh/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4) + if [ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ] || [ ! -f /opt/${APP}_version.txt ]; then + DOWNLOAD_URL="https://github.com/CorentinTh/it-tools/releases/download/${RELEASE}/it-tools-${RELEASE#v}.zip" + msg_info "Updating ${APP} LXC" + curl -fsSL -o it-tools.zip "$DOWNLOAD_URL" + mkdir -p /usr/share/nginx/html + rm -rf /usr/share/nginx/html/* + unzip -q it-tools.zip -d /tmp/it-tools + cp -r /tmp/it-tools/dist/* /usr/share/nginx/html + rm -rf /tmp/it-tools + rm -f it-tools.zip + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi -exit 0 + exit 0 } start @@ -55,4 +55,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 IP:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/alpine-nextcloud.sh b/ct/alpine-nextcloud.sh index 6b80737a7..899214dd6 100644 --- a/ct/alpine-nextcloud.sh +++ b/ct/alpine-nextcloud.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,7 +14,7 @@ var_os="alpine" var_version="3.21" var_unprivileged="1" -header_info "$APP" +header_info "$APP" variables color catch_errors @@ -28,10 +28,10 @@ function update_script() { apk add -q newt fi while true; do - CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 3 \ + CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 3 \ "1" "Nextcloud Login Credentials" ON \ "2" "Renew Self-signed Certificate" OFF \ - 3>&1 1>&2 2>&3) + 3>&1 1>&2 2>&3) exit_status=$? if [ $exit_status == 1 ]; then clear @@ -44,7 +44,7 @@ function update_script() { exit ;; 2) - openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/ssl/private/nextcloud-selfsigned.key -out /etc/ssl/certs/nextcloud-selfsigned.crt -subj "/C=US/O=Nextcloud/OU=Domain Control Validated/CN=nextcloud.local" > /dev/null 2>&1 + openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/ssl/private/nextcloud-selfsigned.key -out /etc/ssl/certs/nextcloud-selfsigned.crt -subj "/C=US/O=Nextcloud/OU=Domain Control Validated/CN=nextcloud.local" >/dev/null 2>&1 rc-service nginx restart exit ;; @@ -58,4 +58,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${APP} should be reachable by going to the following URL. - ${BL}https://${IP}${CL} \n" + ${BL}https://${IP}${CL} \n" \ No newline at end of file diff --git a/ct/alpine-redis.sh b/ct/alpine-redis.sh index 2080461ca..256e0223a 100644 --- a/ct/alpine-redis.sh +++ b/ct/alpine-redis.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/alpine-vaultwarden.sh b/ct/alpine-vaultwarden.sh index 5b67c1d33..7df7586ca 100644 --- a/ct/alpine-vaultwarden.sh +++ b/ct/alpine-vaultwarden.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -65,4 +65,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${APP} should be reachable by going to the following URL. - ${BL}http://${IP}:8000${CL} \n" + ${BL}http://${IP}:8000${CL} \n" \ No newline at end of file diff --git a/ct/alpine-zigbee2mqtt.sh b/ct/alpine-zigbee2mqtt.sh index 87bea32bd..d6497da0b 100644 --- a/ct/alpine-zigbee2mqtt.sh +++ b/ct/alpine-zigbee2mqtt.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -47,4 +47,4 @@ start build_container description -msg_ok "Completed Successfully!\n" +msg_ok "Completed Successfully!\n" \ No newline at end of file diff --git a/ct/alpine.sh b/ct/alpine.sh index d1bf9d9f2..0d0932a71 100644 --- a/ct/alpine.sh +++ b/ct/alpine.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -35,4 +35,4 @@ start build_container description -msg_ok "Completed Successfully!\n" +msg_ok "Completed Successfully!\n" \ No newline at end of file diff --git a/ct/apache-cassandra.sh b/ct/apache-cassandra.sh index 0c3df5ac4..c83e2f283 100644 --- a/ct/apache-cassandra.sh +++ b/ct/apache-cassandra.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,7 +14,6 @@ var_os="debian" var_version="12" var_unprivileged="1" - header_info "$APP" variables color diff --git a/ct/apache-couchdb.sh b/ct/apache-couchdb.sh index df768b03f..b182dbe8f 100644 --- a/ct/apache-couchdb.sh +++ b/ct/apache-couchdb.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -38,4 +38,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}:5984/_utils/${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5984/_utils/${CL}" \ No newline at end of file diff --git a/ct/apache-guacamole.sh b/ct/apache-guacamole.sh index 5fed1c151..b6d22fde3 100644 --- a/ct/apache-guacamole.sh +++ b/ct/apache-guacamole.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) # License: | MIT https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -38,5 +38,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}:8080/guacamole${CL}" - +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/guacamole${CL}" \ No newline at end of file diff --git a/ct/apache-tika.sh b/ct/apache-tika.sh index 98dbf266e..d9a902254 100755 --- a/ct/apache-tika.sh +++ b/ct/apache-tika.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Andy Grunwald (andygrunwald) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE="$(wget -qO- https://dlcdn.apache.org/tika/ | grep -oP '(?<=href=")[0-9]+\.[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1)" + RELEASE="$(curl -fsSL https://dlcdn.apache.org/tika/ | grep -oP '(?<=href=")[0-9]+\.[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1)" if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ${APP}" systemctl stop apache-tika @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt/apache-tika - wget -q "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar" + curl -fsSL -o tika-server-standard-${RELEASE}.jar "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar" mv --force tika-server-standard.jar tika-server-standard-prev-version.jar mv tika-server-standard-${RELEASE}.jar tika-server-standard.jar echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/apache-tomcat.sh b/ct/apache-tomcat.sh index 799b48cf4..eea276e5a 100644 --- a/ct/apache-tomcat.sh +++ b/ct/apache-tomcat.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -38,4 +38,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}:8080${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" \ No newline at end of file diff --git a/ct/apt-cacher-ng.sh b/ct/apt-cacher-ng.sh index 0db7408b9..4eb71a4a3 100644 --- a/ct/apt-cacher-ng.sh +++ b/ct/apt-cacher-ng.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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}:3142/acng-report.html${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3142/acng-report.html${CL}" \ No newline at end of file diff --git a/ct/archivebox.sh b/ct/archivebox.sh index 9e2c0f95e..8f216aacd 100644 --- a/ct/archivebox.sh +++ b/ct/archivebox.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -52,4 +52,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}:8000/admin/login${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000/admin/login${CL}" \ No newline at end of file diff --git a/ct/aria2.sh b/ct/aria2.sh index fe92d5814..78c30494d 100644 --- a/ct/aria2.sh +++ b/ct/aria2.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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}:6880${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6880${CL}" \ No newline at end of file diff --git a/ct/audiobookshelf.sh b/ct/audiobookshelf.sh index 1295e0b2c..4085d50f0 100644 --- a/ct/audiobookshelf.sh +++ b/ct/audiobookshelf.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -38,4 +38,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}:13378${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:13378${CL}" \ No newline at end of file diff --git a/ct/authelia.sh b/ct/authelia.sh index de6eb07ca..10d13329a 100644 --- a/ct/authelia.sh +++ b/ct/authelia.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: thost96 (thost96) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -25,13 +25,16 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d "/etc/authelia/" ]]; then msg_error "No ${APP} Installation Found!"; exit; fi - RELEASE=$(curl -s https://api.github.com/repos/authelia/authelia/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ "${RELEASE}" != "$(/usr/bin/authelia -v | awk '{print substr($3, 2, length($2)) }' )" ]]; then + if [[ ! -d "/etc/authelia/" ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/authelia/authelia/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ "${RELEASE}" != "$(/usr/bin/authelia -v | awk '{print substr($3, 2, length($2)) }')" ]]; then msg_info "Updating $APP to ${RELEASE}" $STD apt-get update $STD apt-get -y upgrade - wget -q "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" +curl -fsSL "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" -O $(basename "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb") $STD dpkg -i "authelia_${RELEASE}_amd64.deb" msg_info "Cleaning Up" rm -f "authelia_${RELEASE}_amd64.deb" @@ -52,4 +55,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}:9091${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9091${CL}" \ No newline at end of file diff --git a/ct/authentik.sh b/ct/authentik.sh index 48e9a93ba..f714adc2a 100644 --- a/ct/authentik.sh +++ b/ct/authentik.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: remz1337 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}') + RELEASE=$(curl -fsSL https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}') if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping ${APP}" systemctl stop authentik-server @@ -36,7 +36,7 @@ function update_script() { msg_info "Building ${APP} website" mkdir -p /opt/authentik - wget -qO authentik.tar.gz "${RELEASE}" +curl -fsSL "${RELEASE}" -o "authentik.tar.gz" tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite rm -rf authentik.tar.gz cd /opt/authentik/website @@ -84,4 +84,4 @@ description 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}:9000/if/flow/initial-setup/${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000/if/flow/initial-setup/${CL}" \ No newline at end of file diff --git a/ct/autobrr.sh b/ct/autobrr.sh index f250a4c9e..19c3747ee 100644 --- a/ct/autobrr.sh +++ b/ct/autobrr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -33,7 +33,7 @@ function update_script() { msg_info "Updating ${APP} LXC" rm -rf /usr/local/bin/* - wget -q $(curl -s https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4) +curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)") tar -C /usr/local/bin -xzf autobrr*.tar.gz rm -rf autobrr*.tar.gz msg_ok "Updated ${APP} LXC" diff --git a/ct/baikal.sh b/ct/baikal.sh index c9bac41e0..4d9850843 100644 --- a/ct/baikal.sh +++ b/ct/baikal.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping Service" systemctl stop apache2 @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - wget -q "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" +curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -O $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") mv /opt/baikal /opt/baikal-backup unzip -o -q "baikal-${RELEASE}.zip" cp -r /opt/baikal-backup/config/baikal.yaml /opt/baikal/config/ @@ -67,4 +67,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/barcode-buddy.sh b/ct/barcode-buddy.sh index 3b6d36e0a..eb56208a2 100644 --- a/ct/barcode-buddy.sh +++ b/ct/barcode-buddy.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/Forceu/barcodebuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/Forceu/barcodebuddy/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 msg_info "Stopping Service" systemctl stop apache2 @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt mv /opt/barcodebuddy/ /opt/barcodebuddy-backup - wget -q "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" +curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy cp -r /opt/barcodebuddy-backup/data/. /opt/barcodebuddy/data @@ -68,4 +68,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/bazarr.sh b/ct/bazarr.sh index f628941f3..9866a6df8 100755 --- a/ct/bazarr.sh +++ b/ct/bazarr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,7 +14,7 @@ var_os="debian" var_version="12" var_unprivileged="1" -header_info "$APP" +header_info "$APP" variables color catch_errors @@ -23,12 +23,15 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d /var/lib/bazarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi + if [[ ! -d /var/lib/bazarr/ ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi msg_info "Updating $APP LXC" $STD apt-get update $STD apt-get -y upgrade msg_ok "Updated $APP LXC" -exit + exit } start diff --git a/ct/beszel.sh b/ct/beszel.sh index 4d08fe947..1ffb37599 100644 --- a/ct/beszel.sh +++ b/ct/beszel.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) community-scripts ORG # Author: Michelle Zitzerman (Sinofage) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -30,11 +30,11 @@ function update_script() { msg_info "Stopping $APP" systemctl stop beszel-hub msg_ok "Stopped $APP" - + msg_info "Updating $APP" $STD /opt/beszel/beszel update msg_ok "Updated $APP" - + msg_info "Starting $APP" systemctl start beszel-hub msg_ok "Successfully started $APP" @@ -49,4 +49,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 IP:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}" \ No newline at end of file diff --git a/ct/blocky.sh b/ct/blocky.sh index 9b5113a4e..9a1a9ca6e 100644 --- a/ct/blocky.sh +++ b/ct/blocky.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,7 +14,7 @@ var_os="debian" var_version="12" var_unprivileged="1" -header_info "$APP" +header_info "$APP" variables color catch_errors @@ -23,11 +23,14 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated $APP LXC" + if [[ ! -d /var ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating $APP LXC" + $STD apt-get update + $STD apt-get -y upgrade + msg_ok "Updated $APP LXC" exit } diff --git a/ct/boltdiy.sh b/ct/boltdiy.sh index 931eed883..12e383b7f 100644 --- a/ct/boltdiy.sh +++ b/ct/boltdiy.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/stackblitz-labs/bolt.diy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/stackblitz-labs/bolt.diy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ "${RELEASE}" != "$(cat /opt/boltdiy_version.txt)" ]] || [[ ! -f /opt/boltdiy_version.txt ]]; then msg_info "Stopping $APP" systemctl stop boltdiy @@ -37,7 +37,7 @@ function update_script() { temp_dir=$(mktemp -d) temp_file=$(mktemp) cd $temp_dir - wget -q "https://github.com/stackblitz-labs/bolt.diy/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +curl -fsSL "https://github.com/stackblitz-labs/bolt.diy/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar xzf $temp_file cp -rf bolt.diy-${RELEASE}/* /opt/bolt.diy cd /opt/bolt.diy @@ -68,4 +68,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}:5173${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5173${CL}" \ No newline at end of file diff --git a/ct/bookstack.sh b/ct/bookstack.sh index 1301e5f1f..acf5cd1ef 100644 --- a/ct/bookstack.sh +++ b/ct/bookstack.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/BookStackApp/BookStack/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/BookStackApp/BookStack/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 msg_info "Stopping Apache2" systemctl stop apache2 @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" mv /opt/bookstack /opt/bookstack-backup - wget -q --directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" +curl -fsSL "--directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -O $(basename "--directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") unzip -q /opt/v${RELEASE}.zip -d /opt mv /opt/BookStack-${RELEASE} /opt/bookstack cp /opt/bookstack-backup/.env /opt/bookstack/.env @@ -43,7 +43,7 @@ function update_script() { cp -r /opt/bookstack-backup/storage/uploads/* /opt/bookstack/storage/uploads/ || true cp -r /opt/bookstack-backup/themes/* /opt/bookstack/themes/ || true cd /opt/bookstack - export COMPOSER_ALLOW_SUPERUSER=1 + export COMPOSER_ALLOW_SUPERUSER=1 $STD composer install --no-dev $STD php artisan migrate --force chown www-data:www-data -R /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage @@ -75,4 +75,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/bunkerweb.sh b/ct/bunkerweb.sh index 1cbc68d25..856229077 100644 --- a/ct/bunkerweb.sh +++ b/ct/bunkerweb.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,7 +14,7 @@ var_os="debian" var_version="12" var_unprivileged="1" -header_info "$APP" +header_info "$APP" variables color catch_errors @@ -23,26 +23,29 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d /etc/bunkerweb ]]; then msg_error "No ${APP} Installation Found!"; exit; fi - RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ ! -d /etc/bunkerweb ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/bunkerity/bunkerweb/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 - msg_info "Updating ${APP} to ${RELEASE}" - cat </etc/apt/preferences.d/bunkerweb + msg_info "Updating ${APP} to ${RELEASE}" + cat </etc/apt/preferences.d/bunkerweb Package: bunkerweb Pin: version ${RELEASE} Pin-Priority: 1001 EOF - apt-get update - apt-get install -y nginx=1.26.3* - apt-get install -y bunkerweb=${RELEASE} - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to ${RELEASE}" + apt-get update + apt-get install -y nginx=1.26.3* + apt-get install -y bunkerweb=${RELEASE} + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated ${APP} to ${RELEASE}" -else - msg_ok "No update required. ${APP} is already at ${RELEASE}" -fi -exit + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start diff --git a/ct/bytestash.sh b/ct/bytestash.sh index 52384e2c4..c68bcf2ba 100644 --- a/ct/bytestash.sh +++ b/ct/bytestash.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/jordan-dalby/ByteStash/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/jordan-dalby/ByteStash/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 msg_info "Stopping Services" systemctl stop bytestash-backend @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" temp_file=$(mktemp) - wget -q "https://github.com/jordan-dalby/ByteStash/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +curl -fsSL "https://github.com/jordan-dalby/ByteStash/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file rm -rf /opt/bytestash/server/node_modules rm -rf /opt/bytestash/client/node_modules @@ -70,4 +70,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/caddy.sh b/ct/caddy.sh index a0f6e1dfa..7a8781ce8 100644 --- a/ct/caddy.sh +++ b/ct/caddy.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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}:80${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}" \ No newline at end of file diff --git a/ct/calibre-web.sh b/ct/calibre-web.sh index 4e4001d1d..aedf07c64 100644 --- a/ct/calibre-web.sh +++ b/ct/calibre-web.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: remz1337 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -36,13 +36,13 @@ function update_script() { rm -rf kepubify-linux-64bit curl -fsSLO https://github.com/pgaskin/kepubify/releases/latest/download/kepubify-linux-64bit chmod +x kepubify-linux-64bit - menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF \ - "2" "Enables sending emails via a googlemail account without enabling insecure apps" OFF \ - "3" "Enables displaying of additional author infos on the authors page" OFF \ - "4" "Enables login via LDAP server" OFF \ - "5" "Enables login via google or github oauth" OFF \ - "6" "Enables extracting of metadata from epub, fb2, pdf files, and also extraction of covers from cbr, cbz, cbt files" OFF \ - "7" "Enables extracting of metadata from cbr, cbz, cbt files" OFF \ + menu_array=("1" "Enables gdrive as storage backend for your ebooks" OFF + "2" "Enables sending emails via a googlemail account without enabling insecure apps" OFF + "3" "Enables displaying of additional author infos on the authors page" OFF + "4" "Enables login via LDAP server" OFF + "5" "Enables login via google or github oauth" OFF + "6" "Enables extracting of metadata from epub, fb2, pdf files, and also extraction of covers from cbr, cbz, cbt files" OFF + "7" "Enables extracting of metadata from cbr, cbz, cbt files" OFF "8" "Enables syncing with your kobo reader" OFF) if [ -f "/opt/calibre-web/options.txt" ]; then cps_options="$(cat /opt/calibre-web/options.txt)" @@ -135,4 +135,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}:8083${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}" \ No newline at end of file diff --git a/ct/casaos.sh b/ct/casaos.sh index 0191c4128..c4c1e9a5e 100644 --- a/ct/casaos.sh +++ b/ct/casaos.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/changedetection.sh b/ct/changedetection.sh index 33a1bb41b..8f95148ca 100644 --- a/ct/changedetection.sh +++ b/ct/changedetection.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -74,4 +74,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}:5000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}" \ No newline at end of file diff --git a/ct/channels.sh b/ct/channels.sh index 58f0ac0c7..e62fd22b0 100644 --- a/ct/channels.sh +++ b/ct/channels.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/checkmk.sh b/ct/checkmk.sh index 931830dd4..36f9c9215 100644 --- a/ct/checkmk.sh +++ b/ct/checkmk.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,16 +27,16 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -v '\-rc' | sort -V | tail -n 1) + RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -v '\-rc' | sort -V | tail -n 1) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating ${APP} to v${RELEASE}" $STD omd stop monitoring $STD omd cp monitoring monitoringbackup - wget -q https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb -O /opt/checkmk.deb +curl -fsSL "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb" -o "/opt/checkmk.deb" $STD apt-get install -y /opt/checkmk.deb $STD omd --force -V ${RELEASE}.cre update --conflict=install monitoring $STD omd start monitoring - $STD omd -f rm monitoringbackup + $STD omd -f rm monitoringbackup $STD omd cleanup rm -rf /opt/checkmk.deb msg_ok "Updated ${APP} to v${RELEASE}" @@ -54,4 +54,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}/monitoring${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/monitoring${CL}" \ No newline at end of file diff --git a/ct/cloudflared.sh b/ct/cloudflared.sh index ceaa963f7..6d9e46dc6 100644 --- a/ct/cloudflared.sh +++ b/ct/cloudflared.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/cockpit.sh b/ct/cockpit.sh index e6df8eb1a..59ab5a73c 100644 --- a/ct/cockpit.sh +++ b/ct/cockpit.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: havardthom # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -51,7 +51,7 @@ function update_script() { $STD apt-get install -y gawk msg_ok "Installed dependencies" msg_info "Installing Cockpit file sharing" - wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4) +curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") $STD dpkg -i cockpit-file-sharing_*focal_all.deb rm cockpit-file-sharing_*focal_all.deb msg_ok "Installed Cockpit file sharing" @@ -64,7 +64,7 @@ function update_script() { $STD apt-get install -y samba-common-bin msg_ok "Installed dependencies" msg_info "Installing Cockpit identities" - wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4) +curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") $STD dpkg -i cockpit-identities_*focal_all.deb rm cockpit-identities_*focal_all.deb msg_ok "Installed Cockpit identities" @@ -76,7 +76,7 @@ function update_script() { $STD apt-get install -y zip msg_ok "Installed dependencies" msg_info "Installing Cockpit navigator" - wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4) +curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") $STD dpkg -i cockpit-navigator_*focal_all.deb rm cockpit-navigator_*focal_all.deb msg_ok "Installed Cockpit navigator" diff --git a/ct/commafeed.sh b/ct/commafeed.sh index 5fc47c8df..cefa507f3 100644 --- a/ct/commafeed.sh +++ b/ct/commafeed.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,14 +27,14 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -sL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + RELEASE=$(curl -fsSLL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ${APP}" systemctl stop commafeed msg_ok "Stopped ${APP}" msg_info "Updating ${APP} to ${RELEASE}" - wget -q https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip +curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -O $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") unzip -q commafeed-${RELEASE}-h2-jvm.zip rsync -a --exclude 'data/' commafeed-${RELEASE}-h2/ /opt/commafeed/ rm -rf commafeed-${RELEASE}-h2 commafeed-${RELEASE}-h2-jvm.zip @@ -58,4 +58,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}:8082${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8082${CL}" \ No newline at end of file diff --git a/ct/cosmos.sh b/ct/cosmos.sh index 381a50b9d..5ef502848 100644 --- a/ct/cosmos.sh +++ b/ct/cosmos.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -37,4 +37,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/crafty-controller.sh b/ct/crafty-controller.sh index 336a3d8f2..df8310fe8 100644 --- a/ct/crafty-controller.sh +++ b/ct/crafty-controller.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts # Author: CrazyWolf13 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,61 +20,60 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/crafty-controller ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - RELEASE=$(curl -s "https://gitlab.com/api/v4/projects/20430749/releases" | grep -o '"tag_name":"v[^"]*"' | head -n 1 | sed 's/"tag_name":"v//;s/"//') - if [[ ! -f /opt/crafty-controller_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/crafty-controller_version.txt)" ]]; then - - msg_info "Stopping Crafty-Controller" - systemctl stop crafty-controller - msg_ok "Stopped Crafty-Controller" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/crafty-controller ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi - msg_info "Creating Backup of config" - cp -a /opt/crafty-controller/crafty/crafty-4/app/config/. /opt/crafty-controller/backup - rm /opt/crafty-controller/backup/version.json - rm /opt/crafty-controller/backup/credits.json - rm /opt/crafty-controller/backup/logging.json - rm /opt/crafty-controller/backup/default.json.example - rm /opt/crafty-controller/backup/motd_format.json - msg_ok "Backup Created" - - msg_info "Updating Crafty-Controller to v${RELEASE}" - wget -q "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" - unzip -q crafty-4-v${RELEASE}.zip - cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/ - rm -rf crafty-4-v${RELEASE} - cd /opt/crafty-controller/crafty/crafty-4 - sudo -u crafty bash -c ' + RELEASE=$(curl -fsSL "https://gitlab.com/api/v4/projects/20430749/releases" | grep -o '"tag_name":"v[^"]*"' | head -n 1 | sed 's/"tag_name":"v//;s/"//') + if [[ ! -f /opt/crafty-controller_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/crafty-controller_version.txt)" ]]; then + + msg_info "Stopping Crafty-Controller" + systemctl stop crafty-controller + msg_ok "Stopped Crafty-Controller" + + msg_info "Creating Backup of config" + cp -a /opt/crafty-controller/crafty/crafty-4/app/config/. /opt/crafty-controller/backup + rm /opt/crafty-controller/backup/version.json + rm /opt/crafty-controller/backup/credits.json + rm /opt/crafty-controller/backup/logging.json + rm /opt/crafty-controller/backup/default.json.example + rm /opt/crafty-controller/backup/motd_format.json + msg_ok "Backup Created" + + msg_info "Updating Crafty-Controller to v${RELEASE}" +curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -O $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") + unzip -q crafty-4-v${RELEASE}.zip + cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/ + rm -rf crafty-4-v${RELEASE} + cd /opt/crafty-controller/crafty/crafty-4 + sudo -u crafty bash -c ' source /opt/crafty-controller/crafty/.venv/bin/activate pip3 install --no-cache-dir -r requirements.txt ' &>/dev/null - echo "${RELEASE}" >"/opt/crafty-controller_version.txt" - msg_ok "Updated Crafty-Controller to v${RELEASE}" + echo "${RELEASE}" >"/opt/crafty-controller_version.txt" + msg_ok "Updated Crafty-Controller to v${RELEASE}" - msg_info "Restoring Backup of config" - cp -a /opt/crafty-controller/backup/. /opt/crafty-controller/crafty/crafty-4/app/config - rm -rf /opt/crafty-controller/backup - chown -R crafty:crafty /opt/crafty-controller/ - msg_ok "Backup Restored" + msg_info "Restoring Backup of config" + cp -a /opt/crafty-controller/backup/. /opt/crafty-controller/crafty/crafty-4/app/config + rm -rf /opt/crafty-controller/backup + chown -R crafty:crafty /opt/crafty-controller/ + msg_ok "Backup Restored" - msg_info "Starting Crafty-Controller" - systemctl start crafty-controller - msg_ok "Started Crafty-Controller" + msg_info "Starting Crafty-Controller" + systemctl start crafty-controller + msg_ok "Started Crafty-Controller" - msg_ok "Updated Successfully" - exit + msg_ok "Updated Successfully" + exit else msg_ok "No update required. Crafty-Controller is already at v${RELEASE}." fi } - start build_container description @@ -82,4 +81,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}https://${IP}:8443${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}" \ No newline at end of file diff --git a/ct/create_lxc.sh b/ct/create_lxc.sh index c715358cb..53ae7a2bd 100644 --- a/ct/create_lxc.sh +++ b/ct/create_lxc.sh @@ -279,4 +279,4 @@ if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[ exit 209 fi fi -msg_ok "LXC Container ${BL}$CTID${CL} ${GN}was successfully created." +msg_ok "LXC Container ${BL}$CTID${CL} ${GN}was successfully created." \ No newline at end of file diff --git a/ct/cronicle.sh b/ct/cronicle.sh index 8ce0e6783..c88515dfc 100644 --- a/ct/cronicle.sh +++ b/ct/cronicle.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -53,7 +53,7 @@ function update_script() { echo "Installed NPM..." fi fi - LATEST=$(curl -sL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + LATEST=$(curl -fsSLL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) IP=$(hostname -I | awk '{print $1}') msg_info "Installing Dependencies" diff --git a/ct/cross-seed.sh b/ct/cross-seed.sh index 0a2337acf..f6be7c13a 100644 --- a/ct/cross-seed.sh +++ b/ct/cross-seed.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Jakub Matraszek (jmatraszek) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -24,7 +24,7 @@ function update_script() { check_container_storage check_container_resources - if command -v cross-seed &> /dev/null; then + if command -v cross-seed &>/dev/null; then current_version=$(cross-seed --version) latest_version=$(npm show cross-seed version) if [ "$current_version" != "$latest_version" ]; then @@ -49,4 +49,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access cross-seed API using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:2468${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:2468${CL}" \ No newline at end of file diff --git a/ct/cryptpad.sh b/ct/cryptpad.sh index cb849a296..666c78c69 100644 --- a/ct/cryptpad.sh +++ b/ct/cryptpad.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/cryptpad/cryptpad/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/cryptpad/cryptpad/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping $APP" systemctl stop cryptpad @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating $APP to ${RELEASE}" temp_dir=$(mktemp -d) cp -f /opt/cryptpad/config/config.js /opt/config.js - wget -q "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir +curl -fsSL "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir" -O $(basename "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir") cd $temp_dir tar zxf $RELEASE.tar.gz cp -rf cryptpad-$RELEASE/* /opt/cryptpad @@ -71,4 +71,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/daemonsync.sh b/ct/daemonsync.sh index 93c9bf63e..73b36d1f9 100644 --- a/ct/daemonsync.sh +++ b/ct/daemonsync.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/dashy.sh b/ct/dashy.sh index 363bdede7..24da251a7 100644 --- a/ct/dashy.sh +++ b/ct/dashy.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,7 @@ function update_script() { exit fi - RELEASE=$(curl -sL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + RELEASE=$(curl -fsSLL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4) if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping ${APP}" systemctl stop dashy @@ -46,7 +46,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" rm -rf /opt/dashy mkdir -p /opt/dashy - wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1 +curl -fsSL "https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz" | tar -xz -C /opt/dashy --strip-components=1 cd /opt/dashy npm install npm run build diff --git a/ct/debian.sh b/ct/debian.sh index 3ccd702f0..6551ff5d4 100644 --- a/ct/debian.sh +++ b/ct/debian.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/deconz.sh b/ct/deconz.sh index 6207822f3..468e587b3 100644 --- a/ct/deconz.sh +++ b/ct/deconz.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/deluge.sh b/ct/deluge.sh index e226ecd20..d9aba00e3 100644 --- a/ct/deluge.sh +++ b/ct/deluge.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/docker.sh b/ct/docker.sh index cf79db906..99f3aefd2 100644 --- a/ct/docker.sh +++ b/ct/docker.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/dockge.sh b/ct/dockge.sh index cded6c6c1..e5e989015 100644 --- a/ct/dockge.sh +++ b/ct/dockge.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/docmost.sh b/ct/docmost.sh index 964703ded..47b96f60f 100644 --- a/ct/docmost.sh +++ b/ct/docmost.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -43,7 +43,7 @@ function update_script() { $STD apt-get install -y nodejs $STD npm install -g pnpm@10.4.0 export NODE_OPTIONS="--max_old_space_size=4096" - RELEASE=$(curl -s https://api.github.com/repos/docmost/docmost/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/docmost/docmost/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 msg_info "Stopping ${APP}" systemctl stop docmost @@ -54,7 +54,7 @@ function update_script() { cp -r /opt/docmost/data /opt/ rm -rf /opt/docmost temp_file=$(mktemp) - wget -q "https://github.com/docmost/docmost/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file" + curl -fsSL "https://github.com/docmost/docmost/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" tar -xzf "$temp_file" mv docmost-${RELEASE} /opt/docmost cd /opt/docmost diff --git a/ct/dolibarr.sh b/ct/dolibarr.sh index ab8ef73ea..0fdf86000 100644 --- a/ct/dolibarr.sh +++ b/ct/dolibarr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -38,4 +38,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}/dolibarr/install${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/dolibarr/install${CL}" \ No newline at end of file diff --git a/ct/dotnetaspwebapi.sh b/ct/dotnetaspwebapi.sh index 508465b8b..2fd2fe4e3 100644 --- a/ct/dotnetaspwebapi.sh +++ b/ct/dotnetaspwebapi.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Kristian Skov # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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 IP:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}${IP}:80${CL}" +echo -e "${TAB}${GATEWAY}${BGN}${IP}:80${CL}" \ No newline at end of file diff --git a/ct/duplicati.sh b/ct/duplicati.sh index 845b012b1..22e1d9d93 100644 --- a/ct/duplicati.sh +++ b/ct/duplicati.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: tremor021 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,13 +27,13 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/duplicati/duplicati/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') + 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 msg_info "Stopping $APP" systemctl stop duplicati msg_ok "Stopped $APP" msg_info "Updating $APP to v${RELEASE}" - wget -q "https://github.com/duplicati/duplicati/releases/download/v${RELEASE}/duplicati-${RELEASE}-linux-x64-gui.deb" +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}" @@ -60,4 +60,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}:8200${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8200${CL}" \ No newline at end of file diff --git a/ct/elementsynapse.sh b/ct/elementsynapse.sh index 64057fa4d..d021db518 100644 --- a/ct/elementsynapse.sh +++ b/ct/elementsynapse.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: tremor021 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,7 +14,7 @@ var_os="debian" var_version="12" var_unprivileged="1" -header_info "$APP" +header_info "$APP" variables color catch_errors @@ -23,7 +23,7 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d /etc/matrix-synapse ]]; then + if [[ ! -d /etc/matrix-synapse ]]; then msg_error "No ${APP} Installation Found!" exit fi diff --git a/ct/emby.sh b/ct/emby.sh index b63e6085b..33474fe6f 100644 --- a/ct/emby.sh +++ b/ct/emby.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,13 +27,13 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - LATEST=$(curl -sL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + LATEST=$(curl -fsSLL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Stopping ${APP}" systemctl stop emby-server msg_ok "Stopped ${APP}" msg_info "Updating ${APP}" - $STD wget https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb + $STD curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -O $STD dpkg -i emby-server-deb_${LATEST}_amd64.deb rm emby-server-deb_${LATEST}_amd64.deb msg_ok "Updated ${APP}" diff --git a/ct/emqx.sh b/ct/emqx.sh index 64282ba48..e4ab16486 100644 --- a/ct/emqx.sh +++ b/ct/emqx.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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}:18083${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:18083${CL}" \ No newline at end of file diff --git a/ct/ersatztv.sh b/ct/ersatztv.sh index 3619268e3..2ccfdc2c7 100644 --- a/ct/ersatztv.sh +++ b/ct/ersatztv.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -19,15 +19,15 @@ variables color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/ErsatzTV ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1) - if [[ ! -f /opt/${APP}_version.txt && $(echo "x.x.x" > /opt/${APP}_version.txt) || "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/ErsatzTV ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1) + if [[ ! -f /opt/${APP}_version.txt && $(echo "x.x.x" >/opt/${APP}_version.txt) || "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ErsatzTV" systemctl stop ersatzTV msg_ok "Stopped ErsatzTV" @@ -37,7 +37,7 @@ function update_script() { rm ErsatzTV-backup/ErsatzTV rm -rf /opt/ErsatzTV temp_file=$(mktemp) - wget -qO- https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz -O "$temp_file" + curl -fsSL "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" -o "$temp_file" tar -xzf "$temp_file" mv ErsatzTV-${RELEASE}-linux-x64 /opt/ErsatzTV cp -R ErsatzTV-backup/* /opt/ErsatzTV/ @@ -59,7 +59,6 @@ function update_script() { exit } - start build_container description diff --git a/ct/esphome.sh b/ct/esphome.sh index aaadfa2c3..e7911cbde 100644 --- a/ct/esphome.sh +++ b/ct/esphome.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/evcc.sh b/ct/evcc.sh index f79a6ba51..7bf81933b 100644 --- a/ct/evcc.sh +++ b/ct/evcc.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/excalidraw.sh b/ct/excalidraw.sh index c1347b41c..8bb7d19e5 100644 --- a/ct/excalidraw.sh +++ b/ct/excalidraw.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/excalidraw/excalidraw/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/excalidraw/excalidraw/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ "${RELEASE}" != "$(cat /opt/excalidraw_version.txt)" ]] || [[ ! -f /opt/excalidraw_version.txt ]]; then msg_info "Stopping $APP" systemctl stop excalidraw @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" cd /tmp temp_file=$(mktemp) - wget -q "https://github.com/excalidraw/excalidraw/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +curl -fsSL "https://github.com/excalidraw/excalidraw/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar xzf $temp_file rm -rf /opt/excalidraw mv excalidraw-${RELEASE} /opt/excalidraw @@ -69,4 +69,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/fenrus.sh b/ct/fenrus.sh index 13c41990a..7af1a19f3 100644 --- a/ct/fenrus.sh +++ b/ct/fenrus.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: Scorpoon # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -66,4 +66,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}:5000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}" \ No newline at end of file diff --git a/ct/fhem.sh b/ct/fhem.sh index e5680d816..c3810ae14 100644 --- a/ct/fhem.sh +++ b/ct/fhem.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/fileflows.sh b/ct/fileflows.sh index fe0c82f86..aad3f73fb 100644 --- a/ct/fileflows.sh +++ b/ct/fileflows.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: kkroboth # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { exit fi - update_available=$(curl -s -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable) + update_available=$(curl -fsSL -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable) if [[ "${update_available}" == "true" ]]; then msg_info "Stopping $APP" systemctl stop fileflows @@ -70,4 +70,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}:19200${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:19200${CL}" \ No newline at end of file diff --git a/ct/firefly.sh b/ct/firefly.sh index 5f267af02..1dd94b84a 100644 --- a/ct/firefly.sh +++ b/ct/firefly.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: quantumryuu # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,15 +20,15 @@ color catch_errors function update_script() { -header_info -check_container_storage -check_container_resources + header_info + check_container_storage + check_container_resources if [[ ! -d /opt/firefly ]]; then msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') + RELEASE=$(curl -fsSL https://api.github.com/repos/firefly-iii/firefly-iii/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 msg_info "Stopping Apache2" systemctl stop apache2 @@ -38,11 +38,11 @@ check_container_resources cp /opt/firefly/.env /opt/.env cp -r /opt/firefly/storage /opt/storage cd /opt - wget -q "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" +curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -O $(basename "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz") tar -xzf FireflyIII-v${RELEASE}.tar.gz -C /opt/firefly --exclude='storage' cp /opt/.env /opt/firefly/.env cp -r /opt/storage /opt/firefly/storage - cd /opt/firefly + cd /opt/firefly chown -R www-data:www-data /opt/firefly chmod -R 775 /opt/firefly/storage $STD php artisan migrate --seed --force @@ -74,4 +74,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/flaresolverr.sh b/ct/flaresolverr.sh index 8d0535e21..56e21eed9 100644 --- a/ct/flaresolverr.sh +++ b/ct/flaresolverr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: remz1337 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,11 +27,11 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(wget -q https://github.com/FlareSolverr/FlareSolverr/releases/latest -O - | grep "title>Release" | cut -d " " -f 4) + RELEASE=$(curl -fsSL https://github.com/FlareSolverr/FlareSolverr/releases/latest | grep "title>Release" | cut -d " " -f 4) if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Updating $APP LXC" systemctl stop flaresolverr - wget -q https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz + curl -fsSL "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz" -O $(basename "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz") tar -xzf flaresolverr_linux_x64.tar.gz -C /opt rm flaresolverr_linux_x64.tar.gz systemctl start flaresolverr @@ -50,4 +50,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}:8191${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8191${CL}" diff --git a/ct/flowiseai.sh b/ct/flowiseai.sh index 5123a095c..f985e4df8 100644 --- a/ct/flowiseai.sh +++ b/ct/flowiseai.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/fluid-calendar.sh b/ct/fluid-calendar.sh index beb7deae5..bea903d30 100644 --- a/ct/fluid-calendar.sh +++ b/ct/fluid-calendar.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: vhsdream # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/dotnetfactory/fluid-calendar/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/dotnetfactory/fluid-calendar/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 msg_info "Stopping $APP" systemctl stop fluid-calendar.service @@ -39,7 +39,7 @@ function update_script() { cp /opt/fluid-calendar/.env /opt/fluid.env rm -rf /opt/fluid-calendar tmp_file=$(mktemp) - wget -q "https://github.com/dotnetfactory/fluid-calendar/archive/refs/tags/v${RELEASE}.zip" -O $tmp_file +curl -fsSL "https://github.com/dotnetfactory/fluid-calendar/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file" unzip -q $tmp_file mv ${APP}-${RELEASE}/ /opt/fluid-calendar mv /opt/fluid.env /opt/fluid-calendar/.env @@ -74,4 +74,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/forgejo.sh b/ct/forgejo.sh index 40d22bf84..da3db73e1 100644 --- a/ct/forgejo.sh +++ b/ct/forgejo.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -32,8 +32,8 @@ function update_script() { msg_ok "Stopped ${APP}" msg_info "Updating ${APP}" - RELEASE=$(curl -s https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//') - wget -qO forgejo-$RELEASE-linux-amd64 "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" + RELEASE=$(curl -fsSL https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//') +curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" -o "forgejo-$RELEASE-linux-amd64" rm -rf /opt/forgejo/* cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64 chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64 diff --git a/ct/freshrss.sh b/ct/freshrss.sh index ef7d11d29..c9057df46 100644 --- a/ct/freshrss.sh +++ b/ct/freshrss.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -38,4 +38,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/frigate.sh b/ct/frigate.sh index 72d28f574..7a16b4c7a 100644 --- a/ct/frigate.sh +++ b/ct/frigate.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Authors: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/ghost.sh b/ct/ghost.sh index bb50897ee..5ae1d332f 100644 --- a/ct/ghost.sh +++ b/ct/ghost.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: fabrice1236 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -49,4 +49,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}:2368${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:2368${CL}" \ No newline at end of file diff --git a/ct/gitea.sh b/ct/gitea.sh index 4c09fdb0c..2bae31f37 100644 --- a/ct/gitea.sh +++ b/ct/gitea.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: Rogue-King # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,9 +27,9 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(wget -q https://github.com/go-gitea/gitea/releases/latest -O - | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//') + RELEASE=$(curl -fsSL https://github.com/go-gitea/gitea/releases/latest | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//') msg_info "Updating $APP to ${RELEASE}" - wget -q https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64 + curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -O $(basename "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64") systemctl stop gitea rm -rf /usr/local/bin/gitea mv gitea* /usr/local/bin/gitea diff --git a/ct/glance.sh b/ct/glance.sh index 88552383f..5955a6efe 100644 --- a/ct/glance.sh +++ b/ct/glance.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/glanceapp/glance/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 msg_info "Stopping Service" systemctl stop glance @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - wget -q https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz +curl -fsSL "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz" -O $(basename "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz") rm -rf /opt/glance/glance tar -xzf glance-linux-amd64.tar.gz -C /opt/glance echo "${RELEASE}" >"/opt/${APP}_version.txt" @@ -64,4 +64,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}:8080${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" \ No newline at end of file diff --git a/ct/glpi.sh b/ct/glpi.sh index 46eafb776..565078ee6 100644 --- a/ct/glpi.sh +++ b/ct/glpi.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: NΓ­colas Pastorello (opastorello) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') + RELEASE=$(curl -fsSL https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_error "Currently we don't provide an update function for this ${APP}." else @@ -44,4 +44,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}:80${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}" \ No newline at end of file diff --git a/ct/go2rtc.sh b/ct/go2rtc.sh index a123e7ea6..dcfff2173 100644 --- a/ct/go2rtc.sh +++ b/ct/go2rtc.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -31,7 +31,7 @@ function update_script() { systemctl stop go2rtc cd /opt/go2rtc rm go2rtc_linux_amd64 - wget -q https://github.com/AlexxIT/go2rtc/releases/latest/download/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" diff --git a/ct/gokapi.sh b/ct/gokapi.sh index 74ff5c04d..33671135f 100644 --- a/ct/gokapi.sh +++ b/ct/gokapi.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -38,4 +38,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}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:53842/setup${CL}" \ No newline at end of file diff --git a/ct/gomft.sh b/ct/gomft.sh index 519d23b64..9781c0d60 100644 --- a/ct/gomft.sh +++ b/ct/gomft.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,6 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if ! dpkg -l | grep -q "^ii.*build-essential"; then $STD apt-get install -y build-essential fi @@ -39,6 +38,7 @@ function update_script() { $STD apt-get update $STD apt-get install -y nodejs fi + RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/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 msg_info "Stopping $APP" systemctl stop gomft diff --git a/ct/gotify.sh b/ct/gotify.sh index 5bdff3bec..17963ce5c 100644 --- a/ct/gotify.sh +++ b/ct/gotify.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/gotify/server/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 msg_info "Stopping ${APP}" systemctl stop gotify @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cd /opt/gotify - wget -q https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip +curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -O $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") unzip -oq gotify-linux-amd64.zip rm -rf gotify-linux-amd64.zip chmod +x gotify-linux-amd64 @@ -60,4 +60,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/grafana.sh b/ct/grafana.sh index 7a42a86ec..30095222a 100644 --- a/ct/grafana.sh +++ b/ct/grafana.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/graylog.sh b/ct/graylog.sh index 5beed3753..35743a048 100644 --- a/ct/graylog.sh +++ b/ct/graylog.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -54,4 +54,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}:9000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}" \ No newline at end of file diff --git a/ct/grist.sh b/ct/grist.sh index ab37a164b..2d8815aee 100644 --- a/ct/grist.sh +++ b/ct/grist.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Source: https://github.com/gristlabs/grist-core APP="Grist" @@ -26,7 +26,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/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 msg_info "Stopping ${APP} Service" @@ -38,7 +38,7 @@ function update_script() { cd /opt rm -rf grist_bak mv grist grist_bak - wget -q https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip +curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") unzip -q v$RELEASE.zip mv grist-core-${RELEASE} grist @@ -88,4 +88,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}Grist: http://${IP}:8484${CL}" +echo -e "${TAB}${GATEWAY}${BGN}Grist: http://${IP}:8484${CL}" \ No newline at end of file diff --git a/ct/grocy.sh b/ct/grocy.sh index 6640e4140..ec161dbf2 100644 --- a/ct/grocy.sh +++ b/ct/grocy.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -30,7 +30,7 @@ function update_script() { php_version=$(php -v | head -n 1 | awk '{print $2}') if [[ ! $php_version == "8.3"* ]]; then msg_info "Updating PHP" - curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg + curl -fsSLSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list apt-get update apt-get install -y php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl,sqlite3,fpm,gd,zip,xml} diff --git a/ct/habitica.sh b/ct/habitica.sh index a85a973ef..195876fa8 100644 --- a/ct/habitica.sh +++ b/ct/habitica.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/HabitRPG/habitica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/HabitRPG/habitica/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 msg_info "Stopping $APP" systemctl stop habitica-mongodb @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating $APP to ${RELEASE}" temp_file=$(mktemp) - wget -q "https://github.com/HabitRPG/habitica/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +curl -fsSL "https://github.com/HabitRPG/habitica/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file cp -rf habitica-${RELEASE}/* /opt/habitica cd /opt/habitica @@ -71,4 +71,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}:8080${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" \ No newline at end of file diff --git a/ct/headscale.sh b/ct/headscale.sh index d0257bfec..155966e9d 100644 --- a/ct/headscale.sh +++ b/ct/headscale.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,14 +27,14 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + 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 msg_info "Stopping ${APP}" systemctl stop headscale msg_ok "Stopped ${APP}" msg_info "Updating $APP to v${RELEASE}" - wget -q https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb +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 @@ -56,4 +56,4 @@ build_container description msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" \ No newline at end of file diff --git a/ct/heimdall-dashboard.sh b/ct/heimdall-dashboard.sh index ba8f3d7da..f9ce7b450 100644 --- a/ct/heimdall-dashboard.sh +++ b/ct/heimdall-dashboard.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') + RELEASE=$(curl -fsSLX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping ${APP}" systemctl stop heimdall @@ -39,9 +39,9 @@ function update_script() { sleep 1 msg_ok "Backed up Data" msg_info "Updating Heimdall Dashboard to ${RELEASE}" - wget -q https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz +curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -O $(basename "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") tar xzf ${RELEASE}.tar.gz - VER=$(curl -s https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + VER=$(curl -fsSL https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cp -R Heimdall-${VER}/* /opt/Heimdall cd /opt/Heimdall $STD apt-get install -y composer diff --git a/ct/hev-socks5-server.sh b/ct/hev-socks5-server.sh index 84e9bd287..1b5da660c 100644 --- a/ct/hev-socks5-server.sh +++ b/ct/hev-socks5-server.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: miviro # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/heiher/${APP}/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/heiher/${APP}/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping $APP" systemctl stop $APP @@ -61,4 +61,4 @@ msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it with a SOCKS5 client using the following URL:${CL}" echo -e "${TAB}${GATEWAY}${BGN}${IP}:1080${CL}" -echo -e "${INFO}${YW} and the credentials stored at /root/hev.creds${CL}" +echo -e "${INFO}${YW} and the credentials stored at /root/hev.creds${CL}" \ No newline at end of file diff --git a/ct/hivemq.sh b/ct/hivemq.sh index 4fed0463f..7c959a8fb 100644 --- a/ct/hivemq.sh +++ b/ct/hivemq.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/hoarder.sh b/ct/hoarder.sh index dea6c1b7d..d0c8ba800 100644 --- a/ct/hoarder.sh +++ b/ct/hoarder.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) & vhsdream # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') PREV_RELEASE=$(cat /opt/${APP}_version.txt) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then msg_info "Stopping Services" @@ -38,7 +38,7 @@ function update_script() { $STD npm install -g corepack@0.31.0 fi if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then - $STD apt-get install -y graphicsmagick ghostscript + $STD apt-get install -y graphicsmagick ghostscript fi cd /opt if [[ -f /opt/hoarder/.env ]] && [[ ! -f /etc/hoarder/hoarder.env ]]; then @@ -46,7 +46,7 @@ function update_script() { mv /opt/hoarder/.env /etc/hoarder/hoarder.env fi rm -rf /opt/hoarder - wget -q "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" +curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv hoarder-${RELEASE} /opt/hoarder cd /opt/hoarder/apps/web @@ -82,4 +82,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/homarr.sh b/ct/homarr.sh index 5d495bd7a..cc25251fc 100644 --- a/ct/homarr.sh +++ b/ct/homarr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: MickLesk (Canbiz) | Co-Author: CrazyWolf13 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,20 +28,20 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi -if [[ -f /opt/homarr/database/db.sqlite ]]; then + if [[ -f /opt/homarr/database/db.sqlite ]]; then msg_error "Old Homarr detected due to existing database file (/opt/homarr/database/db.sqlite)." msg_error "Update not supported. Refer to:" msg_error " - https://github.com/community-scripts/ProxmoxVE/discussions/1551" msg_error " - https://homarr.dev/docs/getting-started/after-the-installation/#importing-a-zip-from-version-before-100" exit 1 -fi -if [[ ! -f /opt/run_homarr.sh ]]; then - msg_info "Detected outdated and missing service files" - msg_error "Warning - The port of homarr changed from 3000 to 7575" - $STD apt-get install -y nginx gettext openssl gpg - sed -i '/^NODE_ENV=/d' /opt/homarr/.env && echo "NODE_ENV='production'" >> /opt/homarr/.env - sed -i '/^DB_DIALECT=/d' /opt/homarr/.env && echo "DB_DIALECT='sqlite'" >> /opt/homarr/.env - cat <<'EOF' >/opt/run_homarr.sh + fi + if [[ ! -f /opt/run_homarr.sh ]]; then + msg_info "Detected outdated and missing service files" + msg_error "Warning - The port of homarr changed from 3000 to 7575" + $STD apt-get install -y nginx gettext openssl gpg + sed -i '/^NODE_ENV=/d' /opt/homarr/.env && echo "NODE_ENV='production'" >>/opt/homarr/.env + sed -i '/^DB_DIALECT=/d' /opt/homarr/.env && echo "DB_DIALECT='sqlite'" >>/opt/homarr/.env + cat <<'EOF' >/opt/run_homarr.sh #!/bin/bash set -a source /opt/homarr/.env @@ -63,9 +63,9 @@ node apps/websocket/wssServer.cjs & node apps/nextjs/server.js & PID=$! wait $PID EOF - chmod +x /opt/run_homarr.sh - rm /etc/systemd/system/homarr.service - cat </etc/systemd/system/homarr.service + chmod +x /opt/run_homarr.sh + rm /etc/systemd/system/homarr.service + cat </etc/systemd/system/homarr.service [Unit] Description=Homarr Service After=network.target @@ -77,10 +77,10 @@ ExecStart=/opt/run_homarr.sh [Install] WantedBy=multi-user.target EOF - msg_ok "Updated Services" - systemctl daemon-reload -fi - RELEASE=$(curl -s https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + msg_ok "Updated Services" + systemctl daemon-reload + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/homarr-labs/homarr/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 msg_info "Stopping Services (Patience)" @@ -117,7 +117,7 @@ node apps/nextjs/server.js & PID=$! wait $PID EOF chmod +x /opt/run_homarr.sh - wget -q "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" +curl -fsSL "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip rm -rf v${RELEASE}.zip rm -rf /opt/homarr @@ -138,9 +138,9 @@ EOF mkdir -p /opt/homarr/apps/cli cp /opt/homarr/packages/cli/cli.cjs /opt/homarr/apps/cli/cli.cjs - echo $'#!/bin/bash\ncd /opt/homarr/apps/cli && node ./cli.cjs "$@"' > /usr/bin/homarr + echo $'#!/bin/bash\ncd /opt/homarr/apps/cli && node ./cli.cjs "$@"' >/usr/bin/homarr chmod +x /usr/bin/homarr - + mkdir /opt/homarr/build cp ./node_modules/better-sqlite3/build/Release/better_sqlite3.node ./build/better_sqlite3.node echo "${RELEASE}" >/opt/${APP}_version.txt @@ -167,4 +167,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}:7575${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7575${CL}" \ No newline at end of file diff --git a/ct/homeassistant-core.sh b/ct/homeassistant-core.sh index 85f181a9c..041f3d87e 100644 --- a/ct/homeassistant-core.sh +++ b/ct/homeassistant-core.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: tteck (tteckster) | Co-Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -100,7 +100,7 @@ function update_script() { msg_ok "Installed FileBrowser" msg_info "Creating Service" - cat < /etc/systemd/system/filebrowser.service + cat </etc/systemd/system/filebrowser.service [Unit] Description=Filebrowser After=network-online.target diff --git a/ct/homeassistant.sh b/ct/homeassistant.sh index 6cd1946a5..ad7e68846 100644 --- a/ct/homeassistant.sh +++ b/ct/homeassistant.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -109,4 +109,4 @@ 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}HA: http://${IP}:8123${CL}" -echo -e "${TAB}${GATEWAY}${BGN}Portainer: http://${IP}:9443${CL}" +echo -e "${TAB}${GATEWAY}${BGN}Portainer: http://${IP}:9443${CL}" \ No newline at end of file diff --git a/ct/homebox.sh b/ct/homebox.sh index b9f837925..5efc70a4d 100644 --- a/ct/homebox.sh +++ b/ct/homebox.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -26,7 +26,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ${APP}" systemctl stop homebox @@ -37,7 +37,7 @@ function update_script() { rm -rf homebox_bak rm -rf /tmp/homebox.tar.gz mv homebox homebox_bak - wget -qO /tmp/homebox.tar.gz https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz +curl -fsSL "https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz" -o "/tmp/homebox.tar.gz" tar -xzf /tmp/homebox.tar.gz -C /opt chmod +x /opt/homebox echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/homebridge.sh b/ct/homebridge.sh index 7a24f0a85..35825d004 100644 --- a/ct/homebridge.sh +++ b/ct/homebridge.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/homepage.sh b/ct/homepage.sh index 1afb55d80..7675d3230 100644 --- a/ct/homepage.sh +++ b/ct/homepage.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -36,7 +36,7 @@ function update_script() { fi fi LOCAL_IP=$(hostname -I | awk '{print $1}') - RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/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 msg_info "Updating Homepage to v${RELEASE} (Patience)" systemctl stop homepage @@ -53,7 +53,7 @@ function update_script() { export NEXT_TELEMETRY_DISABLED=1 $STD pnpm build if [[ ! -f /opt/homepage/.env ]]; then - echo "HOMEPAGE_ALLOWED_HOSTS=localhost:3000,${LOCAL_IP}:3000" > /opt/homepage/.env + echo "HOMEPAGE_ALLOWED_HOSTS=localhost:3000,${LOCAL_IP}:3000" >/opt/homepage/.env fi systemctl start homepage echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/homer.sh b/ct/homer.sh index eee1bc12a..4b97e9423 100644 --- a/ct/homer.sh +++ b/ct/homer.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -40,7 +40,7 @@ function update_script() { msg_info "Updating ${APP}" rm -rf /opt/homer/* cd /opt/homer - wget -q https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip +curl -fsSL "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip" -O $(basename "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip") $STD unzip homer.zip msg_ok "Updated ${APP}" diff --git a/ct/hyperhdr.sh b/ct/hyperhdr.sh index f9c74d2a9..54a0a2779 100644 --- a/ct/hyperhdr.sh +++ b/ct/hyperhdr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/hyperion.sh b/ct/hyperion.sh index 3d4671da4..2e86e5815 100644 --- a/ct/hyperion.sh +++ b/ct/hyperion.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/influxdb.sh b/ct/influxdb.sh index 1ef738aca..c887777f0 100644 --- a/ct/influxdb.sh +++ b/ct/influxdb.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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} and Port 8888 for v1 or Port 8086 (v2)${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP} and Port 8888 for v1 or Port 8086 (v2)${CL}" \ No newline at end of file diff --git a/ct/inspircd.sh b/ct/inspircd.sh index 1b55493d9..30955a655 100644 --- a/ct/inspircd.sh +++ b/ct/inspircd.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/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 msg_info "Stopping Service" systemctl stop inspircd @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - wget -q https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb +curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -O $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb") $STD apt-get install "./inspircd_${RELEASE}.deb12u1_amd64.deb" -y echo "${RELEASE}" >"/opt/${APP}_version.txt" msg_ok "Updated ${APP} to v${RELEASE}" diff --git a/ct/inventree.sh b/ct/inventree.sh index b8a6a7e67..f300b10ed 100644 --- a/ct/inventree.sh +++ b/ct/inventree.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -42,4 +42,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/iobroker.sh b/ct/iobroker.sh index 9a8591897..fc8f68cbf 100644 --- a/ct/iobroker.sh +++ b/ct/iobroker.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/iventoy.sh b/ct/iventoy.sh index 63cbe3ea6..7ee842aeb 100644 --- a/ct/iventoy.sh +++ b/ct/iventoy.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/jackett.sh b/ct/jackett.sh index c3fe4672a..de6104eb4 100644 --- a/ct/jackett.sh +++ b/ct/jackett.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,10 +27,10 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(wget -q https://github.com/Jackett/Jackett/releases/latest -O - | grep "title>Release" | cut -d " " -f 4) + RELEASE=$(curl -fsSL https://github.com/Jackett/Jackett/releases/latest | grep "title>Release" | cut -d " " -f 4) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating ${APP}" - wget -q https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz + curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -O $(basename "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") systemctl stop jackett rm -rf /opt/Jackett tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt diff --git a/ct/jellyfin.sh b/ct/jellyfin.sh index 4e22f6e84..1c2bbb0d4 100644 --- a/ct/jellyfin.sh +++ b/ct/jellyfin.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -42,4 +42,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}:8096${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8096${CL}" \ No newline at end of file diff --git a/ct/jellyseerr.sh b/ct/jellyseerr.sh index 3d44e6fba..3d14eeee8 100644 --- a/ct/jellyseerr.sh +++ b/ct/jellyseerr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,7 +14,7 @@ var_os="debian" var_version="12" var_unprivileged="1" -header_info "$APP" +header_info "$APP" variables color catch_errors @@ -24,7 +24,7 @@ function update_script() { check_container_storage check_container_resources - if [[ ! -d /opt/jellyseerr ]]; then + if [[ ! -d /opt/jellyseerr ]]; then msg_error "No ${APP} Installation Found!" exit fi @@ -38,7 +38,7 @@ function update_script() { $STD apt-get update $STD apt-get -y upgrade msg_ok "Updating Packages" - + msg_info "Cleaning up" apt-get -y autoremove apt-get -y autoclean @@ -50,11 +50,11 @@ function update_script() { pnpm_current=$(pnpm --version 2>/dev/null) pnpm_desired=$(grep -Po '"pnpm":\s*"\K[^"]+' /opt/jellyseerr/package.json) - + if [ -z "$pnpm_current" ]; then msg_error "pnpm not found. Installing version $pnpm_desired..." $STD npm install -g pnpm@"$pnpm_desired" - elif ! node -e "const semver = require('semver'); process.exit(semver.satisfies('$pnpm_current', '$pnpm_desired') ? 0 : 1)" ; then + elif ! node -e "const semver = require('semver'); process.exit(semver.satisfies('$pnpm_current', '$pnpm_desired') ? 0 : 1)"; then msg_error "Updating pnpm from version $pnpm_current to $pnpm_desired..." $STD npm install -g pnpm@"$pnpm_desired" else @@ -103,4 +103,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}:5055${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5055${CL}" \ No newline at end of file diff --git a/ct/jenkins.sh b/ct/jenkins.sh index 6341716ae..627117cc7 100644 --- a/ct/jenkins.sh +++ b/ct/jenkins.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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}:8080${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" \ No newline at end of file diff --git a/ct/jupyternotebook.sh b/ct/jupyternotebook.sh index 3e7641fb1..6a8a415b7 100644 --- a/ct/jupyternotebook.sh +++ b/ct/jupyternotebook.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Dave-code-creater (Tan Dat, Ta) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -23,7 +23,7 @@ function update_script() { header_info check_container_storage check_container_resources - + msg_info "Updating ${APP} LXC" $STD apt-get update $STD apt-get install -y upgrade @@ -39,4 +39,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}:8888${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8888${CL}" \ No newline at end of file diff --git a/ct/kavita.sh b/ct/kavita.sh index 2ffd78c83..77c22574a 100644 --- a/ct/kavita.sh +++ b/ct/kavita.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { fi msg_info "Updating $APP LXC" systemctl stop kavita - RELEASE=$(curl -s https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') $STD tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner rm -rf Kavita/config cp -r Kavita/* /opt/Kavita diff --git a/ct/keycloak.sh b/ct/keycloak.sh index 437bf5c47..bfd03786a 100644 --- a/ct/keycloak.sh +++ b/ct/keycloak.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -33,10 +33,10 @@ function update_script() { $STD apt-get update $STD apt-get -y upgrade - RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') msg_info "Updating Keycloak to v$RELEASE" cd /opt - wget -q https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz +curl -fsSL "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz" -O $(basename "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz") mv keycloak keycloak.old tar -xzf keycloak-$RELEASE.tar.gz cp -r keycloak.old/conf keycloak-$RELEASE @@ -61,4 +61,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}:8080/admin${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/admin${CL}" \ No newline at end of file diff --git a/ct/kimai.sh b/ct/kimai.sh index 888d9c904..2bd460649 100644 --- a/ct/kimai.sh +++ b/ct/kimai.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') BACKUP_DIR="/opt/kimai_backup" if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then @@ -44,7 +44,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" rm -rf /opt/kimai - wget -q "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" +curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv kimai-${RELEASE} /opt/kimai [ -d "$BACKUP_DIR/var" ] && cp -r "$BACKUP_DIR/var" /opt/kimai/ @@ -87,4 +87,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/koillection.sh b/ct/koillection.sh index 31af04542..a6e772578 100644 --- a/ct/koillection.sh +++ b/ct/koillection.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping Service" systemctl stop apache2 @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt mv /opt/koillection/ /opt/koillection-backup - wget -q "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" +curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "/opt/koillection-${RELEASE}" /opt/koillection cd /opt/koillection @@ -75,4 +75,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/kometa.sh b/ct/kometa.sh index 757ad69db..a77e6a778 100644 --- a/ct/kometa.sh +++ b/ct/kometa.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/Kometa-Team/Kometa/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/Kometa-Team/Kometa/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ "${RELEASE}" != "$(cat /opt/kometa_version.txt)" ]] || [[ ! -f /opt/kometa_version.txt ]]; then msg_info "Updating $APP" msg_info "Stopping $APP" @@ -38,8 +38,8 @@ function update_script() { msg_info "Updating $APP to ${RELEASE}" cd /tmp temp_file=$(mktemp) - RELEASE=$(curl -s https://api.github.com/repos/Kometa-Team/Kometa/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - wget -q "https://github.com/Kometa-Team/Kometa/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file" + RELEASE=$(curl -fsSL https://api.github.com/repos/Kometa-Team/Kometa/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/Kometa-Team/Kometa/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" tar -xzf "$temp_file" cp /opt/kometa/config/config.yml /opt rm -rf /opt/kometa diff --git a/ct/komga.sh b/ct/komga.sh index 4ebe5289e..6e96b60c7 100644 --- a/ct/komga.sh +++ b/ct/komga.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: madelyn (DysfunctionalProgramming) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,14 +28,14 @@ function update_script() { exit fi msg_info "Updating ${APP}" - RELEASE=$(curl -s https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ${APP}" systemctl stop komga msg_ok "Stopped ${APP}" msg_info "Updating ${APP} to ${RELEASE}" - wget -q "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" +curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -O $(basename "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") rm -rf /opt/komga/komga.jar mv -f komga-${RELEASE}.jar /opt/komga/komga.jar echo "${RELEASE}" >/opt/${APP}_version.txt @@ -58,4 +58,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}:25600${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:25600${CL}" \ No newline at end of file diff --git a/ct/komodo.sh b/ct/komodo.sh index 56a140132..1f5aecc84 100644 --- a/ct/komodo.sh +++ b/ct/komodo.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -48,9 +48,9 @@ function update_script() { } GITHUB_URL="https://raw.githubusercontent.com/mbecker20/komodo/main/compose/${COMPOSE_FILE}" - wget -q -O "/opt/komodo/${COMPOSE_FILE}" "$GITHUB_URL" || { +curl -fsSL "$GITHUB_URL" || {" -o ""/opt/komodo/${COMPOSE_FILE}"" msg_error "Failed to download ${COMPOSE_FILE} from GitHub!" - mv "/opt/komodo/${BACKUP_FILE}" "/opt/komodo/${COMPOSE_FILE}" + mv "/opt/komodo/${BACKUP_FILE}" "/opt/komodo/${COMPOSE_FILE}" exit 1 } @@ -65,4 +65,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}:9120${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9120${CL}" \ No newline at end of file diff --git a/ct/kubo.sh b/ct/kubo.sh index 84875d69a..805b580c7 100644 --- a/ct/kubo.sh +++ b/ct/kubo.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: ulmentflam # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,12 +27,12 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(wget -q https://github.com/ipfs/kubo/releases/latest -O - | grep "title>Release" | cut -d " " -f 4) + RELEASE=$(curl -fsSL https://github.com/ipfs/kubo/releases/latest | grep "title>Release" | cut -d " " -f 4) if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Updating $APP LXC" $STD apt-get update $STD apt-get -y upgrade - wget -q "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" + curl -fsSL "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" -O $(basename "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz") tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local systemctl restart ipfs.service echo "${RELEASE}" >/opt/${APP}_version.txt @@ -51,4 +51,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}:5001/webui${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5001/webui${CL}" diff --git a/ct/lazylibrarian.sh b/ct/lazylibrarian.sh index 0a3475026..7214740ec 100644 --- a/ct/lazylibrarian.sh +++ b/ct/lazylibrarian.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: MountyMapleSyrup (MountyMapleSyrup) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/lidarr.sh b/ct/lidarr.sh index 0ce059c28..087c006f5 100644 --- a/ct/lidarr.sh +++ b/ct/lidarr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/linkwarden.sh b/ct/linkwarden.sh index 0f05a88f7..22667c2f1 100644 --- a/ct/linkwarden.sh +++ b/ct/linkwarden.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -26,7 +26,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping ${APP}" systemctl stop linkwarden @@ -36,7 +36,7 @@ function update_script() { $STD apt-get install -y build-essential $STD curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y source $HOME/.cargo/env - echo 'export PATH=/usr/local/cargo/bin:$PATH' >> /etc/profile + echo 'export PATH=/usr/local/cargo/bin:$PATH' >>/etc/profile source /etc/profile $STD cargo install monolith msg_ok "Updated Rust" @@ -45,8 +45,8 @@ function update_script() { cd /opt mv /opt/linkwarden/.env /opt/.env rm -rf /opt/linkwarden - RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - wget -q "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" + RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv linkwarden-${RELEASE:1} /opt/linkwarden cd /opt/linkwarden @@ -79,4 +79,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/listmonk.sh b/ct/listmonk.sh index 60b2acd80..e3ccb5fca 100644 --- a/ct/listmonk.sh +++ b/ct/listmonk.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -28,7 +28,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/knadh/listmonk/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/knadh/listmonk/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 msg_info "Stopping ${APP}" systemctl stop listmonk @@ -38,7 +38,7 @@ function update_script() { cd /opt mv /opt/listmonk/ /opt/listmonk-backup mkdir /opt/listmonk/ - wget -q "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" +curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz") tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk mv /opt/listmonk-backup/config.toml /opt/listmonk/config.toml mv /opt/listmonk-backup/uploads /opt/listmonk/uploads diff --git a/ct/lldap.sh b/ct/lldap.sh index 6001d45cd..8bc8596e6 100644 --- a/ct/lldap.sh +++ b/ct/lldap.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: remz1337 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/lubelogger.sh b/ct/lubelogger.sh index c356bf437..1050a3f70 100644 --- a/ct/lubelogger.sh +++ b/ct/lubelogger.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/hargata/lubelog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/hargata/lubelog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE_TRIMMED=$(echo "${RELEASE}" | tr -d ".") if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping Service" @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - wget -q https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip +curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -O $(basename "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") mkdir -p /tmp/lubeloggerData/data cp /opt/lubelogger/appsettings.json /tmp/lubeloggerData/appsettings.json cp -r /opt/lubelogger/data/ /tmp/lubeloggerData/ @@ -78,4 +78,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}:5000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}" \ No newline at end of file diff --git a/ct/mafl.sh b/ct/mafl.sh index 52a51d017..c62f62880 100644 --- a/ct/mafl.sh +++ b/ct/mafl.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,10 +27,10 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Updating Mafl to v${RELEASE} (Patience)" systemctl stop mafl - wget -q https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz +curl -fsSL "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz cp -r mafl-${RELEASE}/* /opt/mafl/ rm -rf mafl-${RELEASE} diff --git a/ct/magicmirror.sh b/ct/magicmirror.sh index 88ca03b1d..109962c10 100644 --- a/ct/magicmirror.sh +++ b/ct/magicmirror.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping Service" @@ -45,7 +45,7 @@ function update_script() { fi cp -r /opt/magicmirror/modules /opt/magicmirror-backup temp_file=$(mktemp) - wget -q "https://github.com/MagicMirrorOrg/MagicMirror/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file" +curl -fsSL "https://github.com/MagicMirrorOrg/MagicMirror/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" tar -xzf "$temp_file" rm -rf /opt/magicmirror mv MagicMirror-${RELEASE} /opt/magicmirror @@ -79,4 +79,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}:8080${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" \ No newline at end of file diff --git a/ct/mariadb.sh b/ct/mariadb.sh index 4ffd6657d..e13b93ad7 100644 --- a/ct/mariadb.sh +++ b/ct/mariadb.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/matterbridge.sh b/ct/matterbridge.sh index c31c77c05..ebb47eecd 100644 --- a/ct/matterbridge.sh +++ b/ct/matterbridge.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/mattermost.sh b/ct/mattermost.sh index 910d00bd2..8ca535d24 100644 --- a/ct/mattermost.sh +++ b/ct/mattermost.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Kaedon Cleland-Host (dracentis) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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}:8065${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8065${CL}" \ No newline at end of file diff --git a/ct/mediamtx.sh b/ct/mediamtx.sh index 128581588..96a854a71 100644 --- a/ct/mediamtx.sh +++ b/ct/mediamtx.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/medusa.sh b/ct/medusa.sh index a2421816d..57da15c31 100644 --- a/ct/medusa.sh +++ b/ct/medusa.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/memos.sh b/ct/memos.sh index bb80994a0..2ce3f4676 100644 --- a/ct/memos.sh +++ b/ct/memos.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -57,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}:9030${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9030${CL}" \ No newline at end of file diff --git a/ct/meshcentral.sh b/ct/meshcentral.sh index 621182dc7..f1b95cc34 100644 --- a/ct/meshcentral.sh +++ b/ct/meshcentral.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/metube.sh b/ct/metube.sh index 42107309f..048fc9388 100644 --- a/ct/metube.sh +++ b/ct/metube.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/minio.sh b/ct/minio.sh index 754fd9f20..adbf76d3e 100644 --- a/ct/minio.sh +++ b/ct/minio.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}') + RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ${APP}" systemctl stop minio @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" mv /usr/local/bin/minio /usr/local/bin/minio_bak - wget -q https://dl.min.io/server/minio/release/linux-amd64/minio +curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -O $(basename "https://dl.min.io/server/minio/release/linux-amd64/minio") mv minio /usr/local/bin/ chmod +x /usr/local/bin/minio echo "${RELEASE}" >/opt/${APP}_version.txt @@ -63,4 +63,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}:9000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}" \ No newline at end of file diff --git a/ct/mongodb.sh b/ct/mongodb.sh index 96f2f5368..e6080cf22 100644 --- a/ct/mongodb.sh +++ b/ct/mongodb.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -39,4 +39,4 @@ build_container description msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" \ No newline at end of file diff --git a/ct/monica.sh b/ct/monica.sh index 7c84f2197..2cb2ed348 100644 --- a/ct/monica.sh +++ b/ct/monica.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/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 msg_info "Stopping Service" systemctl stop apache2 @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt mv /opt/monica/ /opt/monica-backup - wget -q "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" +curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -O $(basename "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") tar -xjf "monica-v${RELEASE}.tar.bz2" mv "/opt/monica-v${RELEASE}" /opt/monica cd /opt/monica/ @@ -73,4 +73,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/motioneye.sh b/ct/motioneye.sh index 2cf0490d0..9d6d67eab 100644 --- a/ct/motioneye.sh +++ b/ct/motioneye.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/mqtt.sh b/ct/mqtt.sh index 4594fa8d6..43077c889 100644 --- a/ct/mqtt.sh +++ b/ct/mqtt.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/mylar3.sh b/ct/mylar3.sh index 070ed9ae8..17801f410 100644 --- a/ct/mylar3.sh +++ b/ct/mylar3.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: davalanche # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -25,11 +25,11 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/mylar3/mylar3/releases/latest | jq -r '.tag_name') + RELEASE=$(curl -fsSL https://api.github.com/repos/mylar3/mylar3/releases/latest | jq -r '.tag_name') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating ${APP} to ${RELEASE}" rm -rf /opt/mylar3/* /opt/mylar3/.* - wget -qO- https://github.com/mylar3/mylar3/archive/refs/tags/${RELEASE}.tar.gz | tar -xz --strip-components=1 -C /opt/mylar3 +curl -fsSL "https://github.com/mylar3/mylar3/archive/refs/tags/${RELEASE}.tar.gz" | tar -xz --strip-components=1 -C /opt/mylar3 systemctl restart mylar3 echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated ${APP} to ${RELEASE}" diff --git a/ct/myspeed.sh b/ct/myspeed.sh index 1d6cd221d..17bff14ee 100644 --- a/ct/myspeed.sh +++ b/ct/myspeed.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(wget -q https://github.com/gnmyt/myspeed/releases/latest -O - | grep "title>Release" | cut -d " " -f 5) + RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ${APP} Service" @@ -38,7 +38,7 @@ function update_script() { cd /opt rm -rf myspeed_bak mv myspeed myspeed_bak - wget -q https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip + curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -O $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") unzip -q MySpeed-$RELEASE.zip -d myspeed cd myspeed $STD npm install @@ -67,4 +67,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}:5216${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5216${CL}" diff --git a/ct/mysql.sh b/ct/mysql.sh index c35ac114f..99cec08d7 100644 --- a/ct/mysql.sh +++ b/ct/mysql.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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 IP:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}${IP}:3306${CL}" +echo -e "${TAB}${GATEWAY}${BGN}${IP}:3306${CL}" \ No newline at end of file diff --git a/ct/n8n.sh b/ct/n8n.sh index 06bc93428..671e0c3b6 100644 --- a/ct/n8n.sh +++ b/ct/n8n.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/navidrome.sh b/ct/navidrome.sh index a271f556a..98f868f48 100644 --- a/ct/navidrome.sh +++ b/ct/navidrome.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,14 +27,14 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Stopping ${APP}" systemctl stop navidrome msg_ok "Stopped Navidrome" msg_info "Updating to v${RELEASE}" cd /opt - wget -q https://github.com/navidrome/navidrome/releases/download/v${RELEASE}/navidrome_${RELEASE}_linux_amd64.tar.gz -O Navidrome.tar.gz +curl -fsSL "https://github.com/navidrome/navidrome/releases/download/v${RELEASE}/navidrome_${RELEASE}_linux_amd64.tar.gz" -o "Navidrome.tar.gz" $STD tar -xvzf Navidrome.tar.gz -C /opt/navidrome/ chmod +x /opt/navidrome/navidrome msg_ok "Updated ${APP}" @@ -54,4 +54,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}:4533${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4533${CL}" \ No newline at end of file diff --git a/ct/neo4j.sh b/ct/neo4j.sh index 3049d9e70..8f933ca5e 100644 --- a/ct/neo4j.sh +++ b/ct/neo4j.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: havardthom # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/netbox.sh b/ct/netbox.sh index 6db15b373..c726edc03 100644 --- a/ct/netbox.sh +++ b/ct/netbox.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -28,7 +28,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/netbox-community/netbox/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/netbox-community/netbox/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 msg_info "Stopping ${APP}" @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" mv /opt/netbox/ /opt/netbox-backup cd /opt - wget -q "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" +curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv /opt/netbox-${RELEASE}/ /opt/netbox/ diff --git a/ct/nextcloudpi.sh b/ct/nextcloudpi.sh index 687cf46dd..ab778c05e 100644 --- a/ct/nextcloudpi.sh +++ b/ct/nextcloudpi.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/nextpvr.sh b/ct/nextpvr.sh index 76065b975..8fa28e6a5 100644 --- a/ct/nextpvr.sh +++ b/ct/nextpvr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT @@ -39,7 +39,7 @@ function update_script() { msg_info "Updating ${APP}" cd /opt - wget -q https://nextpvr.com/nextpvr-helper.deb +curl -fsSL "https://nextpvr.com/nextpvr-helper.deb" -O $(basename "https://nextpvr.com/nextpvr-helper.deb") $STD dpkg -i nextpvr-helper.deb msg_ok "Updated ${APP}" diff --git a/ct/nginxproxymanager.sh b/ct/nginxproxymanager.sh index d363cfb62..a15804823 100644 --- a/ct/nginxproxymanager.sh +++ b/ct/nginxproxymanager.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,7 +14,7 @@ var_os="debian" var_version="12" var_unprivileged="1" -header_info "$APP" +header_info "$APP" variables color catch_errors @@ -27,13 +27,13 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - if ! command -v pnpm &> /dev/null; then + if ! command -v pnpm &>/dev/null; then msg_info "Installing pnpm" #export NODE_OPTIONS=--openssl-legacy-provider $STD npm install -g pnpm@8.15 msg_ok "Installed pnpm" fi - RELEASE=$(curl -s https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest | + RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Stopping Services" @@ -51,7 +51,7 @@ function update_script() { msg_ok "Cleaned Old Files" msg_info "Downloading NPM v${RELEASE}" - wget -q https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE} -O - | tar -xz +curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE}" -o "- | tar -xz" cd nginx-proxy-manager-${RELEASE} msg_ok "Downloaded NPM v${RELEASE}" @@ -157,4 +157,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}:81${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:81${CL}" \ No newline at end of file diff --git a/ct/nocodb.sh b/ct/nocodb.sh index ff0f882e6..a1fbed916 100644 --- a/ct/nocodb.sh +++ b/ct/nocodb.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -31,7 +31,7 @@ function update_script() { systemctl stop nocodb.service cd /opt/nocodb rm -rf nocodb - curl -s http://get.nocodb.com/linux-x64 -o nocodb -L + curl -fsSL http://get.nocodb.com/linux-x64 -o nocodb -L chmod +x nocodb systemctl start nocodb.service msg_ok "Updated Successfully" diff --git a/ct/node-red.sh b/ct/node-red.sh index 8321d7d6a..918ddd591 100644 --- a/ct/node-red.sh +++ b/ct/node-red.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/nodebb.sh b/ct/nodebb.sh index 4b79273a8..48cbec402 100644 --- a/ct/nodebb.sh +++ b/ct/nodebb.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -31,7 +31,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/NodeBB/NodeBB/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/NodeBB/NodeBB/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 msg_info "Stopping ${APP}" systemctl stop nodebb @@ -60,4 +60,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}:4567${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4567${CL}" \ No newline at end of file diff --git a/ct/notifiarr.sh b/ct/notifiarr.sh index 0dd171dec..b632d8ed8 100644 --- a/ct/notifiarr.sh +++ b/ct/notifiarr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/npmplus.sh b/ct/npmplus.sh index 65bfeb178..2da9a49f0 100644 --- a/ct/npmplus.sh +++ b/ct/npmplus.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -56,4 +56,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}https://${IP}:81${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:81${CL}" \ No newline at end of file diff --git a/ct/ntfy.sh b/ct/ntfy.sh index 81bfcec4d..f29090683 100644 --- a/ct/ntfy.sh +++ b/ct/ntfy.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/nxwitness.sh b/ct/nxwitness.sh index ebcbe69cd..9477bad19 100644 --- a/ct/nxwitness.sh +++ b/ct/nxwitness.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,8 +28,8 @@ function update_script() { exit fi BASE_URL="https://updates.networkoptix.com/default/index.html" - RELEASE=$(curl -s "$BASE_URL" | grep -oP '(?<=)[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?=)' | head -n 1) - DETAIL_PAGE=$(curl -s "$BASE_URL#note_$RELEASE") + RELEASE=$(curl -fsSL "$BASE_URL" | grep -oP '(?<=)[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?=)' | head -n 1) + DETAIL_PAGE=$(curl -fsSL "$BASE_URL#note_$RELEASE") DOWNLOAD_URL=$(echo "$DETAIL_PAGE" | grep -oP "https://updates.networkoptix.com/default/$RELEASE/linux/nxwitness-server-[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+-linux_x64\.deb" | head -n 1) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ${APP}" @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cd /tmp - wget -q "$DOWNLOAD_URL" -O "nxwitness-server-$RELEASE-linux_x64.deb" +curl -fsSL "$DOWNLOAD_URL" -o ""nxwitness-server-$RELEASE-linux_x64.deb"" export DEBIAN_FRONTEND=noninteractive export DEBCONF_NOWARNINGS=yes $STD dpkg -i nxwitness-server-$RELEASE-linux_x64.deb @@ -67,4 +67,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}:7001/${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7001/${CL}" \ No newline at end of file diff --git a/ct/nzbget.sh b/ct/nzbget.sh index 57279e4ec..c49e51046 100644 --- a/ct/nzbget.sh +++ b/ct/nzbget.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: havardthom # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/octoprint.sh b/ct/octoprint.sh index f701fd6be..3af677cfa 100644 --- a/ct/octoprint.sh +++ b/ct/octoprint.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/ollama.sh b/ct/ollama.sh index 7604c22b8..5c3a0a2b1 100644 --- a/ct/ollama.sh +++ b/ct/ollama.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: havardthom # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/omada.sh b/ct/omada.sh index 80fd2ed9a..2d96be248 100644 --- a/ct/omada.sh +++ b/ct/omada.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -33,10 +33,10 @@ function update_script() { if ! lscpu | grep -q 'avx'; then MONGODB_VERSION="4.4" msg_error "No AVX detected: TP-Link Canceled Support for Old MongoDB for Debian 12\n https://www.tp-link.com/baltic/support/faq/4160/" - exit 1 + exit 1 fi - wget -qO- https://www.mongodb.org/static/pgp/server-${MONGODB_VERSION}.asc | gpg --dearmor >/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg + curl -fsSL "https://www.mongodb.org/static/pgp/server-${MONGODB_VERSION}.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg echo "deb [signed-by=/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg] http://repo.mongodb.org/apt/debian $(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2)/mongodb-org/${MONGODB_VERSION} main" >/etc/apt/sources.list.d/mongodb-org-${MONGODB_VERSION}.list $STD apt-get update $STD apt-get install -y --only-upgrade mongodb-org @@ -45,24 +45,24 @@ function update_script() { msg_info "Checking if right Azul Zulu Java is installed" java_version=$(java -version 2>&1 | awk -F[\"_] '/version/ {print $2}') if [[ "$java_version" =~ ^1\.8\.* ]]; then - $STD apt-get remove --purge -y zulu8-jdk - $STD apt-get -y install zulu21-jre-headless - msg_ok "Updated Azul Zulu Java to 21" + $STD apt-get remove --purge -y zulu8-jdk + $STD apt-get -y install zulu21-jre-headless + msg_ok "Updated Azul Zulu Java to 21" else - msg_ok "Azul Zulu Java 21 already installed" + msg_ok "Azul Zulu Java 21 already installed" fi msg_info "Updating Omada Controller" - latest_url=$(curl -s "https://support.omadanetworks.com/en/download/software/omada-controller/" | grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | head -n 1) + latest_url=$(curl -fsSL "https://support.omadanetworks.com/en/download/software/omada-controller/" | grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | head -n 1) latest_version=$(basename "$latest_url") if [ -z "${latest_version}" ]; then msg_error "It seems that the server (tp-link.com) might be down. Please try again at a later time." exit fi - wget -qL ${latest_url} + curl -fsSL "${latest_url}" -O export DEBIAN_FRONTEND=noninteractive - $STD dpkg -i ${latest_version} + $STD dpkg -i ${latest_version} rm -rf ${latest_version} msg_ok "Updated Omada Controller" } diff --git a/ct/ombi.sh b/ct/ombi.sh index 40560871c..664ce0e4e 100644 --- a/ct/ombi.sh +++ b/ct/ombi.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,14 +27,14 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -sL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + RELEASE=$(curl -fsSLL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping ${APP}" systemctl stop ombi msg_ok "Stopped ${APP}" msg_info "Updating ${APP} to ${RELEASE}" - wget -q https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz +curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -O $(basename "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") tar -xzf linux-x64.tar.gz -C /opt/ombi rm -rf linux-x64.tar.gz echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/omv.sh b/ct/omv.sh index 7a34ae6c6..e64fbfced 100644 --- a/ct/omv.sh +++ b/ct/omv.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/onedev.sh b/ct/onedev.sh index e1f706d06..dcfb62ea5 100644 --- a/ct/onedev.sh +++ b/ct/onedev.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - GITHUB_RELEASE=$(curl -s https://api.github.com/repos/theonedev/onedev/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + GITHUB_RELEASE=$(curl -fsSL https://api.github.com/repos/theonedev/onedev/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${GITHUB_RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping Service" systemctl stop onedev @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${GITHUB_RELEASE}" cd /opt - wget -q https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz +curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -O $(basename "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz") tar -xzf onedev-latest.tar.gz $STD /opt/onedev-latest/bin/upgrade.sh /opt/onedev RELEASE=$(cat /opt/onedev/release.properties | grep "version" | cut -d'=' -f2) diff --git a/ct/opengist.sh b/ct/opengist.sh index 7b946bc16..cab1fa771 100644 --- a/ct/opengist.sh +++ b/ct/opengist.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Jonathan (jd-apprentice) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,18 +27,18 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/thomiceli/opengist/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 msg_info "Stopping Service" systemctl stop opengist.service msg_ok "Stopped Service" - + msg_info "Updating ${APP} to v${RELEASE}" $STD apt-get update $STD apt-get -y upgrade cd /opt mv /opt/opengist /opt/opengist-backup - wget -q "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" +curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -O $(basename "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") tar -xzf opengist${RELEASE}-linux-amd64.tar.gz mv /opt/opengist-backup/config.yml /opt/opengist/config.yml chmod +x /opt/opengist/opengist @@ -69,4 +69,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}:6157${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6157${CL}" \ No newline at end of file diff --git a/ct/openhab.sh b/ct/openhab.sh index 24dc9d540..56567addb 100644 --- a/ct/openhab.sh +++ b/ct/openhab.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -42,4 +42,4 @@ msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using one of the following URLs:${CL}" echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" \ No newline at end of file diff --git a/ct/openobserve.sh b/ct/openobserve.sh index 67dc65917..d702c194b 100644 --- a/ct/openobserve.sh +++ b/ct/openobserve.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { fi msg_info "Updating $APP" systemctl stop openobserve - LATEST=$(curl -sL https://api.github.com/repos/openobserve/openobserve/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + LATEST=$(curl -fsSLL https://api.github.com/repos/openobserve/openobserve/releases/latest | grep '"tag_name":' | cut -d'"' -f4) tar zxvf <(curl -fsSL https://github.com/openobserve/openobserve/releases/download/$LATEST/openobserve-${LATEST}-linux-amd64.tar.gz) -C /opt/openobserve systemctl start openobserve msg_ok "Updated $APP" diff --git a/ct/openwebui.sh b/ct/openwebui.sh index 734fcaffb..63cd2395b 100644 --- a/ct/openwebui.sh +++ b/ct/openwebui.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: havardthom # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -76,4 +76,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}:8080${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" \ No newline at end of file diff --git a/ct/outline.sh b/ct/outline.sh index a303be7e9..7d4817fc9 100644 --- a/ct/outline.sh +++ b/ct/outline.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/outline/outline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/outline/outline/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 msg_info "Stopping Services" systemctl stop outline @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" temp_file=$(mktemp) rm -rf /opt/outline/node_modules - wget -q "https://github.com/outline/outline/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +curl -fsSL "https://github.com/outline/outline/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file cp -rf outline-${RELEASE}/* /opt/outline cd /opt/outline @@ -68,4 +68,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/overseerr.sh b/ct/overseerr.sh index a408543f5..4938c194c 100644 --- a/ct/overseerr.sh +++ b/ct/overseerr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/owncast.sh b/ct/owncast.sh index c4f4660bd..f6360810f 100644 --- a/ct/owncast.sh +++ b/ct/owncast.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/pairdrop.sh b/ct/pairdrop.sh index dc19c2337..e5c7eae6a 100644 --- a/ct/pairdrop.sh +++ b/ct/pairdrop.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/paperless-ai.sh b/ct/paperless-ai.sh index 60cd99faf..3b2202a22 100644 --- a/ct/paperless-ai.sh +++ b/ct/paperless-ai.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/clusterzx/paperless-ai/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/clusterzx/paperless-ai/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 msg_info "Stopping $APP" systemctl stop paperless-ai @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" cd /opt mv /opt/paperless-ai /opt/paperless-ai_bak - wget -q "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" +curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv paperless-ai-${RELEASE} /opt/paperless-ai mkdir -p /opt/paperless-ai/data @@ -67,4 +67,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/paperless-gpt.sh b/ct/paperless-gpt.sh index be6760ba9..7fe592801 100644 --- a/ct/paperless-gpt.sh +++ b/ct/paperless-gpt.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No Paperless-GPT installation found!" exit 1 fi - RELEASE=$(curl -s https://api.github.com/repos/icereed/paperless-gpt/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/icereed/paperless-gpt/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 msg_info "Stopping Service" systemctl stop paperless-gpt @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating Paperless-GPT to ${RELEASE}" temp_file=$(mktemp) - wget -q "https://github.com/icereed/paperless-gpt/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +curl -fsSL "https://github.com/icereed/paperless-gpt/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file rm -rf /opt/paperless-gpt mv paperless-gpt-${RELEASE} /opt/paperless-gpt @@ -71,4 +71,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}:8080${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" \ No newline at end of file diff --git a/ct/paperless-ngx.sh b/ct/paperless-ngx.sh index df89acd28..eecceed3f 100644 --- a/ct/paperless-ngx.sh +++ b/ct/paperless-ngx.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -24,7 +24,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \ "1" "Update Paperless-ngx to $RELEASE" ON \ @@ -38,7 +38,7 @@ function update_script() { if [[ "$(gs --version 2>/dev/null)" != "10.04.0" ]]; then msg_info "Updating Ghostscript (Patience)" cd /tmp - wget -q https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz +curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -O $(basename "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") tar -xzf ghostscript-10.04.0.tar.gz cd ghostscript-10.04.0 $STD ./configure @@ -53,7 +53,7 @@ function update_script() { msg_info "Updating to ${RELEASE}" cd ~ - wget -q https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz +curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz" -O $(basename "https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz") tar -xf paperless-ngx-$RELEASE.tar.xz cp -r /opt/paperless/paperless.conf paperless-ngx/ cp -r paperless-ngx/* /opt/paperless/ diff --git a/ct/part-db.sh b/ct/part-db.sh index a2df14f21..b0c4422e9 100644 --- a/ct/part-db.sh +++ b/ct/part-db.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/Part-DB/Part-DB-server/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 msg_info "Stopping Service" systemctl stop apache2 @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" cd /opt mv /opt/partdb/ /opt/partdb-backup - wget -q "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" +curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb @@ -77,4 +77,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/paymenter.sh b/ct/paymenter.sh index 9bab05f48..5fda4a92b 100644 --- a/ct/paymenter.sh +++ b/ct/paymenter.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: NΓ­colas Pastorello (opastorello) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/paymenter/paymenter/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') + RELEASE=$(curl -fsSL https://api.github.com/repos/paymenter/paymenter/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating ${APP} to ${RELEASE}" echo "${RELEASE}" >/opt/${APP}_version.txt @@ -48,4 +48,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}:80${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}" \ No newline at end of file diff --git a/ct/peanut.sh b/ct/peanut.sh index fc18a49a4..755a466d1 100644 --- a/ct/peanut.sh +++ b/ct/peanut.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) | Co-Author: remz1337 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,11 +27,11 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -sL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + RELEASE=$(curl -fsSLL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating $APP to ${RELEASE}" systemctl stop peanut - wget -qO peanut.tar.gz https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE} +curl -fsSL "https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE}" -o "peanut.tar.gz" tar -xzf peanut.tar.gz -C /opt/peanut --strip-components 1 rm peanut.tar.gz cd /opt/peanut diff --git a/ct/pelican-panel.sh b/ct/pelican-panel.sh index bb7467511..1eb8751dd 100644 --- a/ct/pelican-panel.sh +++ b/ct/pelican-panel.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/pelican-dev/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/pelican-dev/panel/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 msg_info "Stopping Service" cd /opt/pelican-panel @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cp -r /opt/pelican-panel/.env /opt/ rm -rf * .* - wget -q "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" +curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -O $(basename "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" mv /opt/.env /opt/pelican-panel/ $STD composer install --no-dev --optimize-autoloader --no-interaction @@ -73,4 +73,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}/installer${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/installer${CL}" \ No newline at end of file diff --git a/ct/pelican-wings.sh b/ct/pelican-wings.sh index ff871626a..35b0f46fd 100644 --- a/ct/pelican-wings.sh +++ b/ct/pelican-wings.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/pelican-dev/wings/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/pelican-dev/wings/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 msg_info "Stopping Service" systemctl stop wings @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" rm /usr/local/bin/wings - wget -q -O /usr/local/bin/wings "https://github.com/pelican-dev/wings/releases/download/v${RELEASE}/wings_linux_amd64" +curl -fsSL "https://github.com/pelican-dev/wings/releases/download/v${RELEASE}/wings_linux_amd64" -o "/usr/local/bin/wings" chmod u+x /usr/local/bin/wings echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated $APP to v${RELEASE}" diff --git a/ct/petio.sh b/ct/petio.sh index 5d9c39d29..55539dd36 100644 --- a/ct/petio.sh +++ b/ct/petio.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,7 @@ function update_script() { fi msg_info "Updating $APP" systemctl stop petio.service - wget https://petio.tv/releases/latest -O petio-latest.zip + curl -fsSL https://petio.tv/releases/latest -o petio-latest.zip unzip petio-latest.zip -d /opt/Petio systemctl start petio.service msg_ok "Updated $APP" @@ -42,4 +42,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}:7777${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7777${CL}" diff --git a/ct/pf2etools.sh b/ct/pf2etools.sh index c4f6de890..2ba92eec1 100644 --- a/ct/pf2etools.sh +++ b/ct/pf2etools.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: TheRealVira # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/Pf2eToolsOrg/Pf2eTools/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/Pf2eToolsOrg/Pf2eTools/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f "/opt/${APP}_version.txt" ]]; then msg_info "Updating System" $STD apt-get update @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating ${APP}" cd /opt - wget -q "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" +curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip rm -rf "/opt/${APP}" mv ${APP}-${RELEASE:1} /opt/${APP} @@ -66,4 +66,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/photoprism.sh b/ct/photoprism.sh index 0187e06d9..093543a06 100644 --- a/ct/photoprism.sh +++ b/ct/photoprism.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -33,7 +33,7 @@ function update_script() { msg_info "Updating PhotoPrism" $STD apt-get install -y libvips42 - wget -q -cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1 +curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1" -O $(basename "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1") msg_ok "Updated PhotoPrism" msg_info "Starting PhotoPrism" diff --git a/ct/phpipam.sh b/ct/phpipam.sh index fa6b8f634..2780fade1 100644 --- a/ct/phpipam.sh +++ b/ct/phpipam.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/phpipam/phpipam/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/phpipam/phpipam/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 msg_info "Stopping Service" systemctl stop apache2 @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt mv /opt/phpipam/ /opt/phpipam-backup - wget -q "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" +curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -O $(basename "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") unzip -q "phpipam-v${RELEASE}.zip" cp /opt/phpipam-backup/config.php /opt/phpipam echo "${RELEASE}" >/opt/${APP}_version.txt @@ -64,4 +64,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/pialert.sh b/ct/pialert.sh index 12ea5ec77..81cd4ed81 100644 --- a/ct/pialert.sh +++ b/ct/pialert.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - bash -c "$(wget -qLO - https://github.com/leiweibau/Pi.Alert/raw/main/install/pialert_update.sh)" -s --lxc + bash -c "$(curl -fsSL https://github.com/leiweibau/Pi.Alert/raw/main/install/pialert_update.sh)" -s --lxc msg_ok "Updated $APP" exit } @@ -39,4 +39,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}/pialert${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/pialert${CL}" diff --git a/ct/pihole.sh b/ct/pihole.sh index 3559c557f..ce99bd3c4 100644 --- a/ct/pihole.sh +++ b/ct/pihole.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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}/admin${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/admin${CL}" \ No newline at end of file diff --git a/ct/pingvin.sh b/ct/pingvin.sh index 0283015ae..8cd8a6680 100644 --- a/ct/pingvin.sh +++ b/ct/pingvin.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,50 +20,49 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/pingvin-share ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - RELEASE=$(curl -s https://api.github.com/repos/stonith404/pingvin-share/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/pingvin_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/pingvin_version.txt)" ]]; then - - msg_info "Stopping Pingvin Share" - systemctl stop pm2-root.service - msg_ok "Stopped Pingvin Share" - - msg_info "Updating Pingvin Share to v${RELEASE}" - cd /opt - wget -q "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" - unzip -q v${RELEASE}.zip - cp -rf pingvin-share-${RELEASE}/* /opt/pingvin-share - cd /opt/pingvin-share - cd backend - $STD npm install - $STD npm run build - cd ../frontend - $STD npm install - $STD npm run build - echo "${RELEASE}" >"/opt/pingvin_version.txt" - rm -rf /opt/v${RELEASE}.zip - rm -rf /opt/pingvin-share-${RELEASE} - msg_ok "Updated Pingvin Share to v${RELEASE}" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/pingvin-share ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi - msg_info "Starting Pingvin Share" - systemctl start pm2-root.service - msg_ok "Started Pingvin Share" + RELEASE=$(curl -fsSL https://api.github.com/repos/stonith404/pingvin-share/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ ! -f /opt/pingvin_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/pingvin_version.txt)" ]]; then - msg_ok "Updated Successfully" - exit + msg_info "Stopping Pingvin Share" + systemctl stop pm2-root.service + msg_ok "Stopped Pingvin Share" + + msg_info "Updating Pingvin Share to v${RELEASE}" + cd /opt +curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip") + unzip -q v${RELEASE}.zip + cp -rf pingvin-share-${RELEASE}/* /opt/pingvin-share + cd /opt/pingvin-share + cd backend + $STD npm install + $STD npm run build + cd ../frontend + $STD npm install + $STD npm run build + echo "${RELEASE}" >"/opt/pingvin_version.txt" + rm -rf /opt/v${RELEASE}.zip + rm -rf /opt/pingvin-share-${RELEASE} + msg_ok "Updated Pingvin Share to v${RELEASE}" + + msg_info "Starting Pingvin Share" + systemctl start pm2-root.service + msg_ok "Started Pingvin Share" + + msg_ok "Updated Successfully" + exit else msg_ok "No update required. Pingvin Share is already at v${RELEASE}." fi } - start build_container description @@ -71,4 +70,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/plant-it.sh b/ct/plant-it.sh index c95e12ba9..d83909893 100644 --- a/ct/plant-it.sh +++ b/ct/plant-it.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,16 +29,16 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/MDeLuise/plant-it/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/MDeLuise/plant-it/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping $APP" systemctl stop plant-it msg_ok "Stopped $APP" msg_info "Updating $APP to v${RELEASE}" - wget -q -O /opt/plant-it/server.jar "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar" +curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar" -o "/opt/plant-it/server.jar" cd /opt/plant-it/frontend - wget -q https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz +curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz" -O $(basename "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz") tar -xzf client.tar.gz rm -f client.tar.gz echo "${RELEASE}" >/opt/${APP}_version.txt @@ -61,4 +61,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/plex.sh b/ct/plex.sh index f742e127d..d321797c8 100644 --- a/ct/plex.sh +++ b/ct/plex.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -40,7 +40,7 @@ function update_script() { fi if [ "$UPD" == "2" ]; then set +e - bash -c "$(wget -qO - https://raw.githubusercontent.com/mrworf/plexupdate/master/extras/installer.sh)" + bash -c "$(curl -fsSL https://raw.githubusercontent.com/mrworf/plexupdate/master/extras/installer.sh)" exit fi } diff --git a/ct/pocketbase.sh b/ct/pocketbase.sh index c3ca11533..84b36ab38 100644 --- a/ct/pocketbase.sh +++ b/ct/pocketbase.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -49,4 +49,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}:8080/_/${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/_/${CL}" \ No newline at end of file diff --git a/ct/pocketid.sh b/ct/pocketid.sh index d4d20b6e5..2722c6ec9 100755 --- a/ct/pocketid.sh +++ b/ct/pocketid.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Snarkenfaugister # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -45,12 +45,12 @@ function update_script() { cp /opt/pocket-id/backend/.env /opt/backend.env cp /opt/pocket-id/frontend/.env /opt/frontend.env rm -r /opt/pocket-id - wget -q "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" +curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv pocket-id-${RELEASE} /opt/pocket-id mv /opt/data /opt/pocket-id/backend/data - mv /opt/backend.env /opt/pocket-id/backend/.env - mv /opt/frontend.env /opt/pocket-id/frontend/.env + mv /opt/backend.env /opt/pocket-id/backend/.env + mv /opt/frontend.env /opt/pocket-id/frontend/.env cd /opt/pocket-id/backend/cmd go build -o ../pocket-id-backend @@ -87,4 +87,4 @@ msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Configure your reverse proxy to point to:${BGN} ${IP}:80${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}https://{PUBLIC_URL}/login/setup${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://{PUBLIC_URL}/login/setup${CL}" \ No newline at end of file diff --git a/ct/podman-homeassistant.sh b/ct/podman-homeassistant.sh index 0f7b3ea3c..c42d5dc31 100644 --- a/ct/podman-homeassistant.sh +++ b/ct/podman-homeassistant.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,66 +14,69 @@ var_os="debian" var_version="12" var_unprivileged="1" -header_info "$APP" +header_info "$APP" variables color catch_errors function update_script() { -header_info -check_container_storage -check_container_resources - if [[ ! -f /etc/systemd/system/homeassistant.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi + header_info + check_container_storage + check_container_resources + if [[ ! -f /etc/systemd/system/homeassistant.service ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \ - "1" "Update system and containers" ON \ - "2" "Install HACS" OFF \ - "3" "Install FileBrowser" OFF \ - "4" "Remove ALL Unused Images" OFF \ - 3>&1 1>&2 2>&3) + "1" "Update system and containers" ON \ + "2" "Install HACS" OFF \ + "3" "Install FileBrowser" OFF \ + "4" "Remove ALL Unused Images" OFF \ + 3>&1 1>&2 2>&3) -if [ "$UPD" == "1" ]; then - msg_info "Updating ${APP} LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated Successfully" + if [ "$UPD" == "1" ]; then + msg_info "Updating ${APP} LXC" + $STD apt-get update + $STD apt-get -y upgrade + msg_ok "Updated Successfully" - msg_info "Updating All Containers\n" - CONTAINER_LIST="${1:-$(podman ps -q)}" - for container in ${CONTAINER_LIST}; do - CONTAINER_IMAGE="$(podman inspect --format "{{.Config.Image}}" --type container ${container})" - RUNNING_IMAGE="$(podman inspect --format "{{.Image}}" --type container "${container}")" - podman pull "${CONTAINER_IMAGE}" - LATEST_IMAGE="$(podman inspect --format "{{.Id}}" --type image "${CONTAINER_IMAGE}")" - if [[ "${RUNNING_IMAGE}" != "${LATEST_IMAGE}" ]]; then - echo "Updating ${container} image ${CONTAINER_IMAGE}" - systemctl restart homeassistant - fi - done - msg_ok "All containers updated." - exit -fi -if [ "$UPD" == "2" ]; then - msg_info "Installing Home Assistant Community Store (HACS)" - $STD apt update - $STD apt install unzip - cd /var/lib/containers/storage/volumes/hass_config/_data - $STD bash <(curl -fsSL https://get.hacs.xyz) - msg_ok "Installed Home Assistant Community Store (HACS)" - echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n" - exit -fi -if [ "$UPD" == "3" ]; then - IP=$(hostname -I | awk '{print $1}') - msg_info "Installing FileBrowser" - $STD curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash - $STD filebrowser config init -a '0.0.0.0' - $STD filebrowser config set -a '0.0.0.0' - $STD filebrowser users add admin helper-scripts.com --perm.admin - msg_ok "Installed FileBrowser" + msg_info "Updating All Containers\n" + CONTAINER_LIST="${1:-$(podman ps -q)}" + for container in ${CONTAINER_LIST}; do + CONTAINER_IMAGE="$(podman inspect --format "{{.Config.Image}}" --type container ${container})" + RUNNING_IMAGE="$(podman inspect --format "{{.Image}}" --type container "${container}")" + podman pull "${CONTAINER_IMAGE}" + LATEST_IMAGE="$(podman inspect --format "{{.Id}}" --type image "${CONTAINER_IMAGE}")" + if [[ "${RUNNING_IMAGE}" != "${LATEST_IMAGE}" ]]; then + echo "Updating ${container} image ${CONTAINER_IMAGE}" + systemctl restart homeassistant + fi + done + msg_ok "All containers updated." + exit + fi + if [ "$UPD" == "2" ]; then + msg_info "Installing Home Assistant Community Store (HACS)" + $STD apt update + $STD apt install unzip + cd /var/lib/containers/storage/volumes/hass_config/_data + $STD bash <(curl -fsSL https://get.hacs.xyz) + msg_ok "Installed Home Assistant Community Store (HACS)" + echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n" + exit + fi + if [ "$UPD" == "3" ]; then + IP=$(hostname -I | awk '{print $1}') + msg_info "Installing FileBrowser" + $STD curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash + $STD filebrowser config init -a '0.0.0.0' + $STD filebrowser config set -a '0.0.0.0' + $STD filebrowser users add admin helper-scripts.com --perm.admin + msg_ok "Installed FileBrowser" - msg_info "Creating Service" - service_path="/etc/systemd/system/filebrowser.service" - echo "[Unit] + msg_info "Creating Service" + service_path="/etc/systemd/system/filebrowser.service" + echo "[Unit] Description=Filebrowser After=network-online.target [Service] @@ -89,14 +92,14 @@ if [ "$UPD" == "3" ]; then msg_ok "Completed Successfully!\n" echo -e "FileBrowser should be reachable by going to the following URL. ${BL}http://$IP:8080${CL} admin|helper-scripts.com\n" - exit -fi -if [ "$UPD" == "4" ]; then - msg_info "Removing ALL Unused Images" - podman image prune -a -f - msg_ok "Removed ALL Unused Images" - exit -fi + exit + fi + if [ "$UPD" == "4" ]; then + msg_info "Removing ALL Unused Images" + podman image prune -a -f + msg_ok "Removed ALL Unused Images" + exit + fi } diff --git a/ct/podman.sh b/ct/podman.sh index cf885e062..6ae648ad9 100644 --- a/ct/podman.sh +++ b/ct/podman.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/postgresql.sh b/ct/postgresql.sh index fb79e5f59..9f7fdde22 100644 --- a/ct/postgresql.sh +++ b/ct/postgresql.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/privatebin.sh b/ct/privatebin.sh index d44d99897..300d09f2c 100644 --- a/ct/privatebin.sh +++ b/ct/privatebin.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: NΓ­colas Pastorello (opastorello) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,12 +27,12 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/PrivateBin/PrivateBin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/PrivateBin/PrivateBin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating ${APP} to v${RELEASE}" echo "${RELEASE}" >/opt/${APP}_version.txt cp -f /opt/privatebin/cfg/conf.php /tmp/privatebin_conf.bak - wget -q "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" +curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip rm -rf /opt/privatebin/* mv PrivateBin-${RELEASE}/* /opt/privatebin/ @@ -56,4 +56,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}https://${IP}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}" \ No newline at end of file diff --git a/ct/projectsend.sh b/ct/projectsend.sh index bf8e3d91b..7015adba0 100644 --- a/ct/projectsend.sh +++ b/ct/projectsend.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/projectsend/projectsend/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/projectsend/projectsend/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 msg_info "Stopping Service" systemctl stop apache2 @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - wget -q "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" +curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -O $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") unzip -o -q "projectsend-r${RELEASE}.zip" -d projectsend chown -R www-data:www-data /opt/projectsend chmod -R 775 /opt/projectsend @@ -63,4 +63,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/prometheus-alertmanager.sh b/ct/prometheus-alertmanager.sh index 47180a93e..1b248df94 100755 --- a/ct/prometheus-alertmanager.sh +++ b/ct/prometheus-alertmanager.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Andy Grunwald (andygrunwald) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/prometheus/alertmanager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/alertmanager/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 msg_info "Stopping ${APP}" systemctl stop prometheus-alertmanager @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - wget -q https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz +curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -O $(basename "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz") tar -xf alertmanager-${RELEASE}.linux-amd64.tar.gz cp -rf alertmanager-${RELEASE}.linux-amd64/alertmanager alertmanager-${RELEASE}.linux-amd64/amtool /usr/local/bin/ rm -rf alertmanager-${RELEASE}.linux-amd64 alertmanager-${RELEASE}.linux-amd64.tar.gz diff --git a/ct/prometheus-paperless-ngx-exporter.sh b/ct/prometheus-paperless-ngx-exporter.sh index e01a79e70..27c145785 100755 --- a/ct/prometheus-paperless-ngx-exporter.sh +++ b/ct/prometheus-paperless-ngx-exporter.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Andy Grunwald (andygrunwald) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/hansmi/prometheus-paperless-exporter/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/hansmi/prometheus-paperless-exporter/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 msg_info "Stopping ${APP}" systemctl stop prometheus-paperless-ngx-exporter @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - wget -q https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz +curl -fsSL "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz") tar -xf prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz cp -rf prometheus-paperless-exporter_${RELEASE}_linux_amd64/prometheus-paperless-exporter /usr/local/bin/ rm -rf prometheus-paperless-exporter_${RELEASE}_linux_amd64/ prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz diff --git a/ct/prometheus-pve-exporter.sh b/ct/prometheus-pve-exporter.sh index 78b034aa3..c21a08aef 100644 --- a/ct/prometheus-pve-exporter.sh +++ b/ct/prometheus-pve-exporter.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Andy Grunwald (andygrunwald) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/prometheus.sh b/ct/prometheus.sh index d072f46ed..29d7c19ad 100644 --- a/ct/prometheus.sh +++ b/ct/prometheus.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/prometheus/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 msg_info "Stopping ${APP}" systemctl stop prometheus @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - wget -q https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz +curl -fsSL "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz" -O $(basename "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz") tar -xf prometheus-${RELEASE}.linux-amd64.tar.gz cp -rf prometheus-${RELEASE}.linux-amd64/prometheus prometheus-${RELEASE}.linux-amd64/promtool /usr/local/bin/ rm -rf prometheus-${RELEASE}.linux-amd64 prometheus-${RELEASE}.linux-amd64.tar.gz diff --git a/ct/prowlarr.sh b/ct/prowlarr.sh index 5dbbfc267..3b4309e2b 100644 --- a/ct/prowlarr.sh +++ b/ct/prowlarr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/proxmox-backup-server.sh b/ct/proxmox-backup-server.sh index e51a68d98..cd51b8c44 100644 --- a/ct/proxmox-backup-server.sh +++ b/ct/proxmox-backup-server.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -23,11 +23,14 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -e /usr/sbin/proxmox-backup-manager ]]; then msg_error "No ${APP} Installation Found!"; exit; fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated $APP LXC" + if [[ ! -e /usr/sbin/proxmox-backup-manager ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating $APP LXC" + $STD apt-get update + $STD apt-get -y upgrade + msg_ok "Updated $APP LXC" exit } @@ -38,4 +41,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}https://${IP}:8007${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8007${CL}" \ No newline at end of file diff --git a/ct/proxmox-datacenter-manager.sh b/ct/proxmox-datacenter-manager.sh index ea3627bad..c8adda7e9 100644 --- a/ct/proxmox-datacenter-manager.sh +++ b/ct/proxmox-datacenter-manager.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: CrazyWolf13 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -23,11 +23,14 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -e /usr/sbin/proxmox-datacenter-manager-admin ]]; then msg_error "No ${APP} Installation Found!"; exit; fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated $APP LXC" + if [[ ! -e /usr/sbin/proxmox-datacenter-manager-admin ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating $APP LXC" + $STD apt-get update + $STD apt-get -y upgrade + msg_ok "Updated $APP LXC" exit } @@ -38,4 +41,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}https://${IP}:8443${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}" \ No newline at end of file diff --git a/ct/proxmox-mail-gateway.sh b/ct/proxmox-mail-gateway.sh index 30b1656a3..07f66ba4a 100644 --- a/ct/proxmox-mail-gateway.sh +++ b/ct/proxmox-mail-gateway.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: thost96 (thost96) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -23,7 +23,10 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -e /usr/bin/pmgproxy ]]; then msg_error "No ${APP} Installation Found!"; exit; fi + if [[ ! -e /usr/bin/pmgproxy ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi msg_info "Updating ${APP}" $STD apt-get update $STD apt-get -y upgrade @@ -38,4 +41,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}https://${IP}:8006/${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8006/${CL}" \ No newline at end of file diff --git a/ct/ps5-mqtt.sh b/ct/ps5-mqtt.sh index 8978e4ee9..f91cb2bc2 100644 --- a/ct/ps5-mqtt.sh +++ b/ct/ps5-mqtt.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: liecno # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/FunkeyFlo/ps5-mqtt/releases/latest | jq -r '.tag_name') + RELEASE=$(curl -fsSL https://api.github.com/repos/FunkeyFlo/ps5-mqtt/releases/latest | jq -r '.tag_name') if [[ "${RELEASE}" != "$(cat /opt/ps5-mqtt_version.txt)" ]]; then msg_info "Stopping service" @@ -37,12 +37,12 @@ function update_script() { msg_ok "Stopped service" msg_info "Updating PS5-MQTT to ${RELEASE}" - wget -P /tmp -q https://github.com/FunkeyFlo/ps5-mqtt/archive/refs/tags/${RELEASE}.tar.gz + curl -fsSL https://github.com/FunkeyFlo/ps5-mqtt/archive/refs/tags/${RELEASE}.tar.gz -o /tmp/${RELEASE}.tar.gz rm -rf /opt/ps5-mqtt tar zxf /tmp/${RELEASE}.tar.gz -C /opt mv /opt/ps5-mqtt-* /opt/ps5-mqtt rm /tmp/${RELEASE}.tar.gz - echo ${RELEASE} > /opt/ps5-mqtt_version.txt + echo ${RELEASE} >/opt/ps5-mqtt_version.txt msg_ok "Updated PS5-MQTT" msg_info "Building new PS5-MQTT version" @@ -55,7 +55,7 @@ function update_script() { systemctl start ps5-mqtt msg_ok "Started service" else - msg_ok "No update required. ${APP} is already at ${RELEASE}" + msg_ok "No update required. ${APP} is already at ${RELEASE}" fi exit diff --git a/ct/pterodactyl-panel.sh b/ct/pterodactyl-panel.sh index b637f083d..d28b51704 100644 --- a/ct/pterodactyl-panel.sh +++ b/ct/pterodactyl-panel.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/pterodactyl/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/pterodactyl/panel/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 msg_info "Stopping Service" cd /opt/pterodactyl-panel @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cp -r /opt/pterodactyl-panel/.env /opt/ rm -rf * .* - wget -q "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" +curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -O $(basename "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" mv /opt/.env /opt/pterodactyl-panel/ $STD composer install --no-dev --optimize-autoloader --no-interaction @@ -71,4 +71,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/pterodactyl-wings.sh b/ct/pterodactyl-wings.sh index 509d3bdb4..3a1aa6526 100644 --- a/ct/pterodactyl-wings.sh +++ b/ct/pterodactyl-wings.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +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 @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/pterodactyl/wings/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/pterodactyl/wings/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 msg_info "Stopping Service" systemctl stop wings @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" rm /usr/local/bin/wings - wget -q -O /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/download/v${RELEASE}/wings_linux_amd64" +curl -fsSL "https://github.com/pterodactyl/wings/releases/download/v${RELEASE}/wings_linux_amd64" -o "/usr/local/bin/wings" chmod u+x /usr/local/bin/wings echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated $APP to v${RELEASE}" @@ -55,4 +55,4 @@ build_container description msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" \ No newline at end of file diff --git a/ct/qbittorrent.sh b/ct/qbittorrent.sh index 7d2bbbccf..cbf333bde 100644 --- a/ct/qbittorrent.sh +++ b/ct/qbittorrent.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: tteck (tteckster) | Co-Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -36,7 +36,7 @@ function update_script() { sed -i 's@ExecStart=/usr/bin/qbittorrent-nox@ExecStart=/opt/qbittorrent/qbittorrent-nox@g' /etc/systemd/system/qbittorrent-nox.service systemctl daemon-reload fi - FULLRELEASE=$(curl -s https://api.github.com/repos/userdocs/qbittorrent-nox-static/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + FULLRELEASE=$(curl -fsSL https://api.github.com/repos/userdocs/qbittorrent-nox-static/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(echo $FULLRELEASE | cut -c 9-13) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping Service" @@ -67,4 +67,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}:8090${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}" \ No newline at end of file diff --git a/ct/rabbitmq.sh b/ct/rabbitmq.sh index 317fc0e63..164a3eb52 100644 --- a/ct/rabbitmq.sh +++ b/ct/rabbitmq.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck | Co-Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/radarr.sh b/ct/radarr.sh index 43db75ed0..946bcee51 100644 --- a/ct/radarr.sh +++ b/ct/radarr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/radicale.sh b/ct/radicale.sh index 5589abbf9..d34b8dd8c 100644 --- a/ct/radicale.sh +++ b/ct/radicale.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: tremor021 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/rdtclient.sh b/ct/rdtclient.sh index 1737e5b81..d2eb394c1 100755 --- a/ct/rdtclient.sh +++ b/ct/rdtclient.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -38,7 +38,7 @@ function update_script() { fi mkdir -p rdtc-backup cp -R /opt/rdtc/appsettings.json rdtc-backup/ - wget -q https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip +curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -O $(basename "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") unzip -oqq RealDebridClient.zip -d /opt/rdtc cp -R rdtc-backup/appsettings.json /opt/rdtc/ msg_ok "Updated ${APP}" diff --git a/ct/readarr.sh b/ct/readarr.sh index 0bb63efe6..45683b738 100644 --- a/ct/readarr.sh +++ b/ct/readarr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/readeck.sh b/ct/readeck.sh index 44c3023cd..918356efd 100644 --- a/ct/readeck.sh +++ b/ct/readeck.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,11 +28,11 @@ function update_script() { exit fi msg_info "Updating ${APP}" - LATEST=$(curl -s https://codeberg.org/readeck/readeck/releases/ | grep -oP '(?<=Version )\d+\.\d+\.\d+' | head -1) + LATEST=$(curl -fsSL https://codeberg.org/readeck/readeck/releases/ | grep -oP '(?<=Version )\d+\.\d+\.\d+' | head -1) systemctl stop readeck.service rm -rf /opt/readeck/readeck cd /opt/readeck - wget -q -O readeck https://codeberg.org/readeck/readeck/releases/download/${LATEST}/readeck-${LATEST}-linux-amd64 +curl -fsSL "https://codeberg.org/readeck/readeck/releases/download/${LATEST}/readeck-${LATEST}-linux-amd64" -o "readeck" chmod a+x readeck systemctl start readeck.service msg_ok "Updated ${APP}" diff --git a/ct/recyclarr.sh b/ct/recyclarr.sh index b1f5eede4..ac6216d67 100644 --- a/ct/recyclarr.sh +++ b/ct/recyclarr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MrYadro # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { fi msg_info "Updating ${APP}" - wget -q $(curl -s https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4) +curl -fsSL "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)") tar -C /usr/local/bin -xJf recyclarr*.tar.xz rm -rf recyclarr*.tar.xz msg_ok "Updated ${APP}" diff --git a/ct/redis.sh b/ct/redis.sh index a4f562cb2..f2165d81d 100644 --- a/ct/redis.sh +++ b/ct/redis.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/revealjs.sh b/ct/revealjs.sh index 5870d581c..ac7247255 100644 --- a/ct/revealjs.sh +++ b/ct/revealjs.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/hakimel/reveal.js/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/hakimel/reveal.js/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping $APP" systemctl stop revealjs @@ -36,10 +36,10 @@ function update_script() { msg_info "Updating $APP to ${RELEASE}" temp_file=$(mktemp) - wget -q "https://github.com/hakimel/reveal.js/archive/refs/tags/${RELEASE}.tar.gz" -O $temp_file +curl -fsSL "https://github.com/hakimel/reveal.js/archive/refs/tags/${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file rm -rf /opt/revealjs/node_modules/* - cp /opt/revealjs/index.html /opt + cp /opt/revealjs/index.html /opt cp -rf reveal.js-${RELEASE}/* /opt/revealjs cd /opt/revealjs $STD npm install @@ -71,4 +71,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}:8000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}" \ No newline at end of file diff --git a/ct/rtsptoweb.sh b/ct/rtsptoweb.sh index 98cb65b6a..6aaf09b61 100644 --- a/ct/rtsptoweb.sh +++ b/ct/rtsptoweb.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/runtipi.sh b/ct/runtipi.sh index 3a7fff532..65baf5a08 100644 --- a/ct/runtipi.sh +++ b/ct/runtipi.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/rustdeskserver.sh b/ct/rustdeskserver.sh index 16e306126..b83dfc016 100644 --- a/ct/rustdeskserver.sh +++ b/ct/rustdeskserver.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ "${RELEASE}" != "$(cat /opt/rustdesk_version.txt)" ]] || [[ ! -f /opt/rustdesk_version.txt ]]; then msg_info "Stopping $APP" systemctl stop rustdesk-hbbr @@ -37,9 +37,9 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" TEMPDIR=$(mktemp -d) - wget -q "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR - wget -q "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR - wget -q "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR" -O $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR" -O $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR" -O $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR") $STD dpkg -i $TEMPDIR/*.deb msg_ok "Updated $APP to v${RELEASE}" @@ -62,4 +62,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}${IP}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}${IP}${CL}" \ No newline at end of file diff --git a/ct/sabnzbd.sh b/ct/sabnzbd.sh index 71455afbf..6676354a8 100644 --- a/ct/sabnzbd.sh +++ b/ct/sabnzbd.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/sabnzbd/sabnzbd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/sabnzbd/sabnzbd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating $APP to ${RELEASE}" systemctl stop sabnzbd.service @@ -52,4 +52,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}:7777${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7777${CL}" \ No newline at end of file diff --git a/ct/seafile.sh b/ct/seafile.sh index d6d13a737..e3faf1c29 100644 --- a/ct/seafile.sh +++ b/ct/seafile.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: dave-yap (dave-yap) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/searxng.sh b/ct/searxng.sh index 769aa3497..4596f67d8 100644 --- a/ct/searxng.sh +++ b/ct/searxng.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - if cd /usr/local/searxng/searxng-src && git pull | grep -q 'Already up to date'; then + if cd /usr/local/searxng/searxng-src && git pull | grep -q 'Already up to date'; then msg_ok "There is currently no update available." fi exit @@ -39,4 +39,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}:8888${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8888${CL}" \ No newline at end of file diff --git a/ct/seelf.sh b/ct/seelf.sh index 40d0a47a0..84feae0e5 100644 --- a/ct/seelf.sh +++ b/ct/seelf.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: tremor021 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { exit fi - RELEASE=$(curl -s https://api.github.com/repos/YuukanOO/seelf/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/YuukanOO/seelf/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 msg_info "Updating $APP" @@ -40,7 +40,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}. Patience" export PATH=$PATH:/usr/local/go/bin source ~/.bashrc - wget -q "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" +curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz cp -r seelf-${RELEASE}/ /opt/seelf cd /opt/seelf @@ -72,4 +72,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}:8080${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" \ No newline at end of file diff --git a/ct/semaphore.sh b/ct/semaphore.sh index 2dcf880fc..365ef72f8 100644 --- a/ct/semaphore.sh +++ b/ct/semaphore.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/semaphoreui/semaphore/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/semaphoreui/semaphore/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 msg_info "Stopping Service" systemctl stop semaphore @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - wget -q https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb +curl -fsSL "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb" -O $(basename "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb") $STD dpkg -i semaphore_${RELEASE}_linux_amd64.deb echo "${RELEASE}" >"/opt/${APP}_version.txt" msg_ok "Updated ${APP} to v${RELEASE}" diff --git a/ct/sftpgo.sh b/ct/sftpgo.sh index b1cb00553..54866fdfa 100644 --- a/ct/sftpgo.sh +++ b/ct/sftpgo.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/shinobi.sh b/ct/shinobi.sh index 158f6fefa..a2f29f3df 100644 --- a/ct/shinobi.sh +++ b/ct/shinobi.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/silverbullet.sh b/ct/silverbullet.sh index cdfddbd99..b34a694df 100644 --- a/ct/silverbullet.sh +++ b/ct/silverbullet.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Dominik Siebel (dsiebel) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -22,15 +22,18 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d /opt/silverbullet ]]; then msg_error "No ${APP} Installation Found!"; exit; fi - RELEASE=$(curl -s https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ ! -d /opt/silverbullet ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ ! -f "/opt/${APP}_version.txt" || "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ${APP}" systemctl stop silverbullet msg_ok "Stopped ${APP}" msg_info "Updating ${APP} to v${RELEASE}" - wget -q https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip +curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -O $(basename "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") unzip -q silverbullet-server-linux-x86_64.zip mv silverbullet /opt/silverbullet/bin/ chmod +x /opt/silverbullet/bin/silverbullet @@ -53,4 +56,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/smokeping.sh b/ct/smokeping.sh index 848f8004e..c9ddb1272 100644 --- a/ct/smokeping.sh +++ b/ct/smokeping.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/snipeit.sh b/ct/snipeit.sh index 366ea2867..27e511d6f 100644 --- a/ct/snipeit.sh +++ b/ct/snipeit.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,21 +27,21 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/snipe/snipe-it/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "v([^"]+).*/\1/') + RELEASE=$(curl -fsSL https://api.github.com/repos/snipe/snipe-it/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "v([^"]+).*/\1/') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping Services" systemctl stop nginx msg_ok "Services Stopped" - + msg_info "Updating ${APP} to v${RELEASE}" $STD apt-get update $STD apt-get -y upgrade mv /opt/snipe-it /opt/snipe-it-backup temp_file=$(mktemp) - wget -q "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file + curl -fsSL "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file mv snipe-it-${RELEASE} /opt/snipe-it - $STD wget -q "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip" + $STD curl -fsSL "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip" -O unzip -q v${RELEASE}.zip mv snipe-it-${RELEASE} /opt/snipe-it cp /opt/snipe-it-backup/.env /opt/snipe-it/.env @@ -61,7 +61,7 @@ function update_script() { rm -rf /opt/v${RELEASE}.zip rm -rf /opt/snipe-it-backup msg_ok "Updated ${APP}" - + msg_info "Starting Service" systemctl start nginx msg_ok "Started Service" diff --git a/ct/sonarr.sh b/ct/sonarr.sh index 1b0fe4b2c..7e7260b80 100644 --- a/ct/sonarr.sh +++ b/ct/sonarr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { fi msg_info "Updating $APP v4" systemctl stop sonarr.service - wget -q -O SonarrV4.tar.gz 'https://services.sonarr.tv/v1/download/main/latest?version=4&os=linux&arch=x64' +curl -fsSL "'https://services.sonarr.tv/v1/download/main/latest?version=4&os=linux&arch=x64'" -o "SonarrV4.tar.gz" tar -xzf SonarrV4.tar.gz rm -rf /opt/Sonarr mv Sonarr /opt diff --git a/ct/spoolman.sh b/ct/spoolman.sh index a587e360e..32e249f6b 100644 --- a/ct/spoolman.sh +++ b/ct/spoolman.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(wget -q https://github.com/Donkie/Spoolman/releases/latest -O - | grep "title>Release" | cut -d " " -f 4) + RELEASE=$(curl -fsSL https://github.com/Donkie/Spoolman/releases/latest | grep "title>Release" | cut -d " " -f 4) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ${APP} Service" @@ -38,11 +38,11 @@ function update_script() { cd /opt rm -rf spoolman_bak mv spoolman spoolman_bak - wget -q https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip + curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip" -O $(basename "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip") unzip -q spoolman.zip -d spoolman cd spoolman $STD pip3 install -r requirements.txt - wget -q https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example -O .env + curl -fsSL "https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example" -o ".env" echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated ${APP} to ${RELEASE}" @@ -68,4 +68,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}:7912${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7912${CL}" diff --git a/ct/sqlserver2022.sh b/ct/sqlserver2022.sh index bf5d2c74d..7b76c7037 100644 --- a/ct/sqlserver2022.sh +++ b/ct/sqlserver2022.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Kristian Skov # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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 IP:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}${IP}:1433${CL}" +echo -e "${TAB}${GATEWAY}${BGN}${IP}:1433${CL}" \ No newline at end of file diff --git a/ct/stirling-pdf.sh b/ct/stirling-pdf.sh index fd89aba99..708425952 100644 --- a/ct/stirling-pdf.sh +++ b/ct/stirling-pdf.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -33,8 +33,8 @@ function update_script() { $STD apt-get remove -y ocrmypdf $STD apt-get install -y qpdf fi - RELEASE=$(curl -s https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - wget -q https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz + RELEASE=$(curl -fsSL https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz" -O $(basename "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz") tar -xzf v$RELEASE.tar.gz cd Stirling-PDF-$RELEASE chmod +x ./gradlew diff --git a/ct/suwayomiserver.sh b/ct/suwayomiserver.sh index 3d3c7b809..e451e4d9a 100644 --- a/ct/suwayomiserver.sh +++ b/ct/suwayomiserver.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: tremor021 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,7 +28,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ "${RELEASE}" != "$(cat /opt/suwayomi-server_version.txt)" ]] || [[ ! -f /opt/suwayomi-server_version.txt ]]; then msg_info "Updating $APP" msg_info "Stopping $APP" @@ -36,8 +36,8 @@ function update_script() { msg_ok "Stopped $APP" msg_info "Updating $APP to v${RELEASE}" cd /tmp - URL=$(curl -s https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "browser_download_url" | awk '{print substr($2, 2, length($2)-2) }' | tail -n+2 | head -n 1) - wget -q $URL + URL=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "browser_download_url" | awk '{print substr($2, 2, length($2)-2) }' | tail -n+2 | head -n 1) +curl -fsSL "$URL" -O $(basename "$URL") $STD dpkg -i /tmp/*.deb msg_ok "Updated $APP to v${RELEASE}" msg_info "Starting $APP" @@ -61,4 +61,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}:4567${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4567${CL}" \ No newline at end of file diff --git a/ct/syncthing.sh b/ct/syncthing.sh index b7497921e..ef8b0d7d0 100644 --- a/ct/syncthing.sh +++ b/ct/syncthing.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/tandoor.sh b/ct/tandoor.sh index 0508c759a..83cc6c14e 100644 --- a/ct/tandoor.sh +++ b/ct/tandoor.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -55,4 +55,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}:8002${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8002${CL}" \ No newline at end of file diff --git a/ct/tasmoadmin.sh b/ct/tasmoadmin.sh index f091c58ef..a17749d64 100644 --- a/ct/tasmoadmin.sh +++ b/ct/tasmoadmin.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/tasmocompiler.sh b/ct/tasmocompiler.sh index 6bbc0b498..858fa510a 100644 --- a/ct/tasmocompiler.sh +++ b/ct/tasmocompiler.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/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 msg_info "Stopping $APP" systemctl stop tasmocompiler @@ -35,8 +35,8 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" cd /opt rm -rf /opt/tasmocompiler - RELEASE=$(curl -s https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - wget -q https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz + RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz") tar xzf v${RELEASE}.tar.gz mv tasmocompiler-${RELEASE}/ /opt/tasmocompiler/ cd /opt/tasmocompiler @@ -66,4 +66,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/tautulli.sh b/ct/tautulli.sh index 8ed7bb49b..30ae89607 100644 --- a/ct/tautulli.sh +++ b/ct/tautulli.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/tdarr.sh b/ct/tdarr.sh index 1dcc8eb67..4fc9b2926 100644 --- a/ct/tdarr.sh +++ b/ct/tdarr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/technitiumdns.sh b/ct/technitiumdns.sh index 483d5eb34..d72235d92 100644 --- a/ct/technitiumdns.sh +++ b/ct/technitiumdns.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -30,7 +30,7 @@ function update_script() { msg_info "Updating ${APP}" if ! dpkg -s aspnetcore-runtime-8.0 >/dev/null 2>&1; then - wget -q https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb +curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -O $(basename "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb") $STD dpkg -i packages-microsoft-prod.deb $STD apt-get update $STD apt-get install -y aspnetcore-runtime-8.0 diff --git a/ct/teddycloud.sh b/ct/teddycloud.sh index 1e68196dc..68c765fda 100644 --- a/ct/teddycloud.sh +++ b/ct/teddycloud.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Dominik Siebel (dsiebel) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -22,8 +22,11 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d /opt/teddycloud ]]; then msg_error "No ${APP} Installation Found!"; exit; fi - RELEASE="$(curl -s https://api.github.com/repos/toniebox-reverse-engineering/teddycloud/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')" + if [[ ! -d /opt/teddycloud ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE="$(curl -fsSL https://api.github.com/repos/toniebox-reverse-engineering/teddycloud/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')" VERSION="${RELEASE#tc_v}" if [[ ! -f "/opt/${APP}_version.txt" || "${VERSION}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ${APP}" @@ -33,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${VERSION}" cd /opt mv /opt/teddycloud /opt/teddycloud_bak - wget -q "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" +curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -O $(basename "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") unzip -q -d /opt/teddycloud teddycloud.amd64.release_v${VERSION}.zip cp -R /opt/teddycloud_bak/certs /opt/teddycloud_bak/config /opt/teddycloud_bak/data /opt/teddycloud echo "${VERSION}" >"/opt/${APP}_version.txt" @@ -60,4 +63,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}${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" \ No newline at end of file diff --git a/ct/the-lounge.sh b/ct/the-lounge.sh index 8c77bef0b..e677a1a34 100644 --- a/ct/the-lounge.sh +++ b/ct/the-lounge.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: kristocopani # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -34,7 +34,7 @@ function update_script() { if ! npm list -g node-gyp >/dev/null 2>&1; then $STD npm install -g node-gyp fi - RELEASE=$(curl -s https://api.github.com/repos/thelounge/thelounge-deb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/thelounge/thelounge-deb/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 msg_info "Stopping Service" systemctl stop thelounge @@ -43,7 +43,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" $STD apt-get install --only-upgrade nodejs cd /opt - wget -q https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb + curl -fsSL "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb" -O $(basename "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb") dpkg -i ./thelounge_${RELEASE}_all.deb msg_ok "Updated ${APP} to v${RELEASE}" diff --git a/ct/threadfin.sh b/ct/threadfin.sh index dcff874fa..713a3196a 100644 --- a/ct/threadfin.sh +++ b/ct/threadfin.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -29,7 +29,7 @@ function update_script() { fi msg_info "Updating $APP" systemctl stop threadfin.service - wget -q -O /opt/threadfin/threadfin 'https://github.com/Threadfin/Threadfin/releases/latest/download/Threadfin_linux_amd64' +curl -fsSL "'https://github.com/Threadfin/Threadfin/releases/latest/download/Threadfin_linux_amd64'" -o "/opt/threadfin/threadfin" chmod +x /opt/threadfin/threadfin systemctl start threadfin.service msg_ok "Updated $APP" diff --git a/ct/tianji.sh b/ct/tianji.sh index 43e21eede..12c9e7285 100644 --- a/ct/tianji.sh +++ b/ct/tianji.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -26,7 +26,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - if command -v node >/dev/null; then + if command -v node >/dev/null; then NODE_MAJOR=$(/usr/bin/env node -v | grep -oP '^v\K[0-9]+') if [[ "$NODE_MAJOR" != "22" ]]; then $STD apt-get purge -y nodejs @@ -42,17 +42,17 @@ function update_script() { $STD apt-get update $STD apt-get install -y nodejs $STD npm install -g pnpm@9.7.1 - RELEASE=$(curl -s https://api.github.com/repos/msgbyte/tianji/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/msgbyte/tianji/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 msg_info "Stopping ${APP} Service" systemctl stop tianji msg_ok "Stopped ${APP} Service" - + msg_info "Updating ${APP} to v${RELEASE}" cd /opt cp /opt/tianji/src/server/.env /opt/.env mv /opt/tianji /opt/tianji_bak - wget -q "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" + curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv tianji-${RELEASE} /opt/tianji cd tianji @@ -68,11 +68,11 @@ function update_script() { $STD pnpm db:migrate:apply echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated ${APP} to v${RELEASE}" - + msg_info "Starting ${APP}" systemctl start tianji msg_ok "Started ${APP}" - + msg_info "Cleaning up" rm -R /opt/v${RELEASE}.zip rm -rf /opt/tianji_bak diff --git a/ct/traccar.sh b/ct/traccar.sh index bdeaeeb64..ef09e90d3 100644 --- a/ct/traccar.sh +++ b/ct/traccar.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/traefik.sh b/ct/traefik.sh index c75d83dcc..40d1ab9e7 100644 --- a/ct/traefik.sh +++ b/ct/traefik.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,10 +27,10 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1) + RELEASE=$(curl -fsSL https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1) msg_info "Updating $APP LXC" if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - wget -q https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz +curl -fsSL "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz") tar -C /tmp -xzf traefik*.tar.gz mv /tmp/traefik /usr/bin/ rm -rf traefik*.tar.gz diff --git a/ct/transmission.sh b/ct/transmission.sh index a1bf17919..51ae89393 100644 --- a/ct/transmission.sh +++ b/ct/transmission.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/trilium.sh b/ct/trilium.sh index 84103e515..260623153 100644 --- a/ct/trilium.sh +++ b/ct/trilium.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,16 +20,16 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/trilium ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi - RELEASE=$(curl -s https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ "v${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/trilium ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi + RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "v${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping ${APP}" systemctl stop trilium sleep 1 @@ -40,7 +40,7 @@ function update_script() { mv /opt/trilium/{db,dump-db} /opt/trilium_backup/ rm -rf /opt/trilium cd /tmp - wget -q https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz +curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -O $(basename "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz") tar -xf TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz mv TriliumNextNotes-Server-$RELEASE-linux-x64 /opt/trilium cp -r /opt/trilium_backup/{db,dump-db} /opt/trilium/ @@ -70,4 +70,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}:8080${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" \ No newline at end of file diff --git a/ct/typesense.sh b/ct/typesense.sh index 677f8107c..4bd695d95 100644 --- a/ct/typesense.sh +++ b/ct/typesense.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: tlissak | Co-Author MickLesk # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/typesense/typesense/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/typesense/typesense/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 msg_info "Updating ${APP} LXC" $STD apt-get update @@ -46,4 +46,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 IP:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}${IP}:8108${CL}" +echo -e "${TAB}${GATEWAY}${BGN}${IP}:8108${CL}" \ No newline at end of file diff --git a/ct/ubuntu.sh b/ct/ubuntu.sh index c49f7eda4..9958d0d78 100644 --- a/ct/ubuntu.sh +++ b/ct/ubuntu.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/umami.sh b/ct/umami.sh index 8c9274144..d333f052a 100644 --- a/ct/umami.sh +++ b/ct/umami.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/umbrel.sh b/ct/umbrel.sh index 92878d5f2..2ddb797ff 100644 --- a/ct/umbrel.sh +++ b/ct/umbrel.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/unbound.sh b/ct/unbound.sh index 23626bb2b..f1c06329e 100644 --- a/ct/unbound.sh +++ b/ct/unbound.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: wimb0 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/unifi.sh b/ct/unifi.sh index fe36c5798..861f33a1a 100644 --- a/ct/unifi.sh +++ b/ct/unifi.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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}https://${IP}:8443${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}" \ No newline at end of file diff --git a/ct/unmanic.sh b/ct/unmanic.sh index dc74a952f..929c3e5a5 100644 --- a/ct/unmanic.sh +++ b/ct/unmanic.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/uptimekuma.sh b/ct/uptimekuma.sh index b13bccc06..903a8d2cc 100644 --- a/ct/uptimekuma.sh +++ b/ct/uptimekuma.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -34,7 +34,7 @@ function update_script() { echo "Installed NPM..." fi fi - LATEST=$(curl -sL https://api.github.com/repos/louislam/uptime-kuma/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + LATEST=$(curl -fsSLL https://api.github.com/repos/louislam/uptime-kuma/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Stopping ${APP}" $STD sudo systemctl stop uptime-kuma msg_ok "Stopped ${APP}" @@ -65,4 +65,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}:3001${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3001${CL}" \ No newline at end of file diff --git a/ct/urbackupserver.sh b/ct/urbackupserver.sh index d60372faf..798b38ccf 100644 --- a/ct/urbackupserver.sh +++ b/ct/urbackupserver.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Kristian Skov # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -44,4 +44,4 @@ pct reboot $CTID 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}:55414${CL}" +echo -e "${TAB}${GATEWAY}${BGN}${IP}:55414${CL}" \ No newline at end of file diff --git a/ct/vaultwarden.sh b/ct/vaultwarden.sh index 3228a398f..27b0a4a40 100644 --- a/ct/vaultwarden.sh +++ b/ct/vaultwarden.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -28,10 +28,10 @@ function update_script() { exit fi - VAULT=$(curl -s https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest | + VAULT=$(curl -fsSL https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - WVRELEASE=$(curl -s https://api.github.com/repos/dani-garcia/bw_web_builds/releases/latest | + WVRELEASE=$(curl -fsSL https://api.github.com/repos/dani-garcia/bw_web_builds/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') @@ -112,4 +112,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}:8000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}" \ No newline at end of file diff --git a/ct/victoriametrics.sh b/ct/victoriametrics.sh index 10ef77c40..0da6f86c1 100644 --- a/ct/victoriametrics.sh +++ b/ct/victoriametrics.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,7 +14,7 @@ var_os="debian" var_version="12" var_unprivileged="1" -header_info "$APP" +header_info "$APP" variables color catch_errors @@ -27,35 +27,35 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + 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 msg_info "Stopping $APP" systemctl stop victoriametrics msg_ok "Stopped $APP" - + msg_info "Updating ${APP} to v${RELEASE}" temp_dir=$(mktemp -d) cd $temp_dir - wget -q https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/victoria-metrics-linux-amd64-v${RELEASE}.tar.gz - wget -q https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/vmutils-linux-amd64-v${RELEASE}.tar.gz +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 chmod +x /opt/victoriametrics/* echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated $APP to v${RELEASE}" - + msg_info "Starting $APP" systemctl start victoriametrics msg_ok "Started $APP" - + msg_info "Cleaning Up" rm -rf $temp_dir msg_ok "Cleaned" msg_ok "Updated Successfully" - else + else msg_ok "No update required. ${APP} is already at ${RELEASE}" - fi + fi exit } @@ -66,4 +66,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}:8428/vmui${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8428/vmui${CL}" \ No newline at end of file diff --git a/ct/vikunja.sh b/ct/vikunja.sh index a5075b62e..602406e13 100644 --- a/ct/vikunja.sh +++ b/ct/vikunja.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://dl.vikunja.io/vikunja/ | grep -oP 'href="/vikunja/\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1) + RELEASE=$(curl -fsSL https://dl.vikunja.io/vikunja/ | grep -oP 'href="/vikunja/\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ${APP}" systemctl stop vikunja @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cd /opt rm -rf /opt/vikunja/vikunja - wget -q "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" +curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -O $(basename "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb") export DEBIAN_FRONTEND=noninteractive $STD dpkg -i vikunja-$RELEASE-amd64.deb echo "${RELEASE}" >/opt/${APP}_version.txt @@ -63,4 +63,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}:3456${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3456${CL}" \ No newline at end of file diff --git a/ct/wallos.sh b/ct/wallos.sh index e2ec95070..012389f6a 100644 --- a/ct/wallos.sh +++ b/ct/wallos.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,11 +27,11 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/ellite/Wallos/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/ellite/Wallos/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 msg_info "Updating ${APP} to ${RELEASE}" cd /opt - wget -q "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" +curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip") mkdir -p /opt/logos mv /opt/wallos/db/wallos.db /opt/wallos.db mv /opt/wallos/images/uploads/logos /opt/logos/ diff --git a/ct/wastebin.sh b/ct/wastebin.sh index 49d0c73da..cfe41ecc0 100644 --- a/ct/wastebin.sh +++ b/ct/wastebin.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') # Dirty-Fix 03/2025 for missing APP_version.txt on old installations, set to pre-latest release msg_info "Running Migration" if [[ ! -f /opt/${APP}_version.txt ]]; then @@ -64,7 +64,7 @@ EOF msg_info "Updating Wastebin" temp_file=$(mktemp) - wget -q https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.zip -O $temp_file +curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.zip" -o "$temp_file" unzip -o -q $temp_file cp -f wastebin /opt/wastebin/ chmod +x /opt/wastebin/wastebin @@ -92,4 +92,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}:8088${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8088${CL}" \ No newline at end of file diff --git a/ct/watcharr.sh b/ct/watcharr.sh index 73daf7fc3..34969189e 100644 --- a/ct/watcharr.sh +++ b/ct/watcharr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/sbondCo/Watcharr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/sbondCo/Watcharr/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 msg_info "Updating $APP" @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" temp_file=$(mktemp) temp_folder=$(mktemp -d) - wget -q "https://github.com/sbondCo/Watcharr/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file" +curl -fsSL "https://github.com/sbondCo/Watcharr/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" tar -xzf "$temp_file" -C "$temp_folder" rm -f /opt/watcharr/server/watcharr rm -rf /opt/watcharr/server/ui @@ -77,4 +77,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}:3080${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3080${CL}" \ No newline at end of file diff --git a/ct/watchyourlan.sh b/ct/watchyourlan.sh index e6df3ee76..f6d54cf51 100644 --- a/ct/watchyourlan.sh +++ b/ct/watchyourlan.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -30,8 +30,8 @@ function update_script() { msg_info "Updating $APP" systemctl stop watchyourlan.service cp -R /data/config.yaml config.yaml - RELEASE=$(curl -s https://api.github.com/repos/aceberg/WatchYourLAN/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d '"' -f 4) - wget -q https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb + RELEASE=$(curl -fsSL https://api.github.com/repos/aceberg/WatchYourLAN/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d '"' -f 4) +curl -fsSL "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb" -O $(basename "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb") dpkg -i watchyourlan_${RELEASE}_linux_amd64.deb cp -R config.yaml /data/config.yaml sed -i 's|/etc/watchyourlan/config.yaml|/data/config.yaml|' /lib/systemd/system/watchyourlan.service diff --git a/ct/wavelog.sh b/ct/wavelog.sh index 862d5b944..6a90b3d1b 100644 --- a/ct/wavelog.sh +++ b/ct/wavelog.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Don Locke (DonLocke) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/wavelog/wavelog/releases/latest | grep "tag_name" | cut -d '"' -f 4) + RELEASE=$(curl -fsSL https://api.github.com/repos/wavelog/wavelog/releases/latest | grep "tag_name" | cut -d '"' -f 4) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping Services" systemctl stop apache2 @@ -40,7 +40,7 @@ function update_script() { if [[ -f /opt/wavelog/assets/js/sections/custom.js ]]; then cp /opt/wavelog/assets/js/sections/custom.js /opt/custom.js fi - wget -q "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" +curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip rm -rf /opt/wavelog mv wavelog-${RELEASE}/ /opt/wavelog diff --git a/ct/wazuh.sh b/ct/wazuh.sh index f139028a9..18c34ea5d 100644 --- a/ct/wazuh.sh +++ b/ct/wazuh.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2025 community-scripts ORG # Author: Omar Minaya # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -41,4 +41,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}https://${IP}:443${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:443${CL}" \ No newline at end of file diff --git a/ct/web-check.sh b/ct/web-check.sh index fe4428fd4..f9a8391ba 100644 --- a/ct/web-check.sh +++ b/ct/web-check.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: CrazyWolf13 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -38,4 +38,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/wger.sh b/ct/wger.sh index 09f92918f..bcf885068 100644 --- a/ct/wger.sh +++ b/ct/wger.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: SlaviΕ‘a AreΕΎina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/wger-project/wger/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') + RELEASE=$(curl -fsSL https://api.github.com/repos/wger-project/wger/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping $APP" systemctl stop wger @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" temp_file=$(mktemp) cd $temp_file - wget -q "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -O $temp_file +curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -o "$temp_file" tar xzf $temp_file cp -rf wger-$RELEASE/* /home/wger/src cd /home/wger/src @@ -69,4 +69,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/whisparr.sh b/ct/whisparr.sh index 42a9d270e..ee19a45f6 100644 --- a/ct/whisparr.sh +++ b/ct/whisparr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/whoogle.sh b/ct/whoogle.sh index 514d655c2..cf0de9473 100644 --- a/ct/whoogle.sh +++ b/ct/whoogle.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/wikijs.sh b/ct/wikijs.sh index 056381f90..e05520c94 100644 --- a/ct/wikijs.sh +++ b/ct/wikijs.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/Requarks/wiki/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/Requarks/wiki/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 msg_info "Verifying whether ${APP}' new release is v3.x+ and current install uses SQLite." SQLITE_INSTALL=$([ -f /opt/wikijs/db.sqlite ] && echo "true" || echo "false") @@ -50,7 +50,7 @@ function update_script() { msg_info "Updating ${APP}" rm -rf /opt/wikijs/* cd /opt/wikijs - wget -q "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz" +curl -fsSL "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz" -O $(basename "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz") tar -xzf wiki-js.tar.gz msg_ok "Updated ${APP}" diff --git a/ct/wireguard.sh b/ct/wireguard.sh index 66518d009..0d1cc7985 100644 --- a/ct/wireguard.sh +++ b/ct/wireguard.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -43,4 +43,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} WGDashboard Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:10086${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:10086${CL}" \ No newline at end of file diff --git a/ct/wordpress.sh b/ct/wordpress.sh index e509027ec..8903524ca 100644 --- a/ct/wordpress.sh +++ b/ct/wordpress.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 communtiy-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -14,7 +14,7 @@ var_ram="2048" var_os="debian" var_version="12" -header_info "$APP" +header_info "$APP" variables color catch_errors diff --git a/ct/yt-dlp-webui.sh b/ct/yt-dlp-webui.sh index 30141d49f..e0a1db71f 100644 --- a/ct/yt-dlp-webui.sh +++ b/ct/yt-dlp-webui.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: CrazyWolf13 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -31,16 +31,16 @@ function update_script() { msg_info "Updating yt-dlp" $STD yt-dlp -U msg_ok "Updated yt-dlp" - RELEASE=$(curl -s https://api.github.com/repos/marcopiovanello/yt-dlp-web-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/marcopiovanello/yt-dlp-web-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ "${RELEASE}" != "$(cat /opt/yt-dlp-webui_version.txt)" ]] || [[ ! -f /opt/yt-dlp-webui_version.txt ]]; then - + msg_info "Stopping $APP" systemctl stop yt-dlp-webui msg_ok "Stopped $APP" msg_info "Updating $APP to v${RELEASE}" rm -rf /usr/local/bin/yt-dlp-webui - wget -q "https://github.com/marcopiovanello/yt-dlp-web-ui/releases/download/v${RELEASE}/yt-dlp-webui_linux-amd64" -O /usr/local/bin/yt-dlp-webui +curl -fsSL "https://github.com/marcopiovanello/yt-dlp-web-ui/releases/download/v${RELEASE}/yt-dlp-webui_linux-amd64" -o "/usr/local/bin/yt-dlp-webui" chmod +x /usr/local/bin/yt-dlp-webui msg_ok "Updated $APP LXC" @@ -60,4 +60,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}:3033${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3033${CL}" \ No newline at end of file diff --git a/ct/yunohost.sh b/ct/yunohost.sh index 3e3d5e5e7..54a620965 100644 --- a/ct/yunohost.sh +++ b/ct/yunohost.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/zabbix.sh b/ct/zabbix.sh index 84229c8c0..958d35800 100644 --- a/ct/zabbix.sh +++ b/ct/zabbix.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -39,7 +39,7 @@ function update_script() { #cp -R /usr/share/zabbix-* /opt/zabbix-backup/ Remove temporary rm -Rf /etc/apt/sources.list.d/zabbix.list cd /tmp - wget -q https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb +curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -O $(basename "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb") $STD dpkg -i zabbix-release_latest+debian12_all.deb $STD apt-get update $STD apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-* @@ -63,4 +63,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}/zabbix${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/zabbix${CL}" \ No newline at end of file diff --git a/ct/zammad.sh b/ct/zammad.sh index 43f219e5f..a39b63764 100644 --- a/ct/zammad.sh +++ b/ct/zammad.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Michel Roegl-Brunner (michelroegl-brunner) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/zerotier-one.sh b/ct/zerotier-one.sh index ecbd8ac0e..d9f104ea8 100644 --- a/ct/zerotier-one.sh +++ b/ct/zerotier-one.sh @@ -1,11 +1,10 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: tremor021 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.zerotier.com/ - APP="Zerotier-One" var_tags="networking" var_cpu="1" @@ -50,4 +49,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 IP:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:3443${CL}" +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:3443${CL}" \ No newline at end of file diff --git a/ct/zigbee2mqtt.sh b/ct/zigbee2mqtt.sh index eaa5f8346..75d03acfd 100644 --- a/ct/zigbee2mqtt.sh +++ b/ct/zigbee2mqtt.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping Service" systemctl stop zigbee2mqtt @@ -38,32 +38,32 @@ function update_script() { msg_ok "Updated pnpm" msg_info "Creating Backup" - rm -rf /opt/${APP}_backup*.tar.gz - mkdir -p /opt/z2m_backup - $STD tar -czf /opt/z2m_backup/${APP}_backup_$(date +%Y%m%d%H%M%S).tar.gz -C /opt zigbee2mqtt - mv /opt/zigbee2mqtt/data /opt/z2m_backup + rm -rf /opt/${APP}_backup*.tar.gz + mkdir -p /opt/z2m_backup + $STD tar -czf /opt/z2m_backup/${APP}_backup_$(date +%Y%m%d%H%M%S).tar.gz -C /opt zigbee2mqtt + mv /opt/zigbee2mqtt/data /opt/z2m_backup msg_ok "Backup Created" msg_info "Updating ${APP} to v${RELEASE}" - cd /opt - wget -q "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" - unzip -q ${RELEASE}.zip - rm -rf /opt/zigbee2mqtt - mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt - rm -rf /opt/zigbee2mqtt/data - mv /opt/z2m_backup/data /opt/zigbee2mqtt - cd /opt/zigbee2mqtt - $STD pnpm install --frozen-lockfile - $STD pnpm build + cd /opt +curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") + unzip -q ${RELEASE}.zip + rm -rf /opt/zigbee2mqtt + mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt + rm -rf /opt/zigbee2mqtt/data + mv /opt/z2m_backup/data /opt/zigbee2mqtt + cd /opt/zigbee2mqtt + $STD pnpm install --frozen-lockfile + $STD pnpm build msg_ok "Updated Zigbee2MQTT" msg_info "Starting Service" - systemctl start zigbee2mqtt + systemctl start zigbee2mqtt msg_ok "Started Service" msg_info "Cleaning up" - rm -rf /opt/z2m_backup - rm -rf /opt/${RELEASE}.zip + rm -rf /opt/z2m_backup + rm -rf /opt/${RELEASE}.zip msg_ok "Cleaned up" echo "${RELEASE}" >/opt/${APP}_version.txt else @@ -79,4 +79,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}:9442${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9442${CL}" \ No newline at end of file diff --git a/ct/zipline.sh b/ct/zipline.sh index b02f044be..1e07e2e5a 100644 --- a/ct/zipline.sh +++ b/ct/zipline.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -26,13 +26,13 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - if ! command -v pnpm &>/dev/null; then + if ! command -v pnpm &>/dev/null; then msg_info "Installing pnpm" #export NODE_OPTIONS=--openssl-legacy-provider $STD npm install -g pnpm@latest msg_ok "Installed pnpm" fi - RELEASE=$(curl -s https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/diced/zipline/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 msg_info "Stopping ${APP}" systemctl stop zipline @@ -41,7 +41,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cp /opt/zipline/.env /opt/ rm -R /opt/zipline - wget -q "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" +curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv zipline-${RELEASE} /opt/zipline cd /opt/zipline @@ -72,4 +72,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}:3000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file diff --git a/ct/zitadel.sh b/ct/zitadel.sh index f3f99c361..2d0c9c7bf 100644 --- a/ct/zitadel.sh +++ b/ct/zitadel.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: dave-yap (dave-yap) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,15 +27,15 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -si https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r') + RELEASE=$(curl -fsSLi https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r') if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt | grep -oP '\d+\.\d+\.\d+')" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping $APP" systemctl stop zitadel msg_ok "Stopped $APP" - + msg_info "Updating $APP to ${RELEASE}" cd /tmp - wget -qc https://github.com/zitadel/zitadel/releases/download/$RELEASE/zitadel-linux-amd64.tar.gz -O - | tar -xz + curl -fsSL https://github.com/zitadel/zitadel/releases/download/$RELEASE/zitadel-linux-amd64.tar.gz | tar -xz mv zitadel-linux-amd64/zitadel /usr/local/bin $STD zitadel setup --masterkeyFile /opt/zitadel/.masterkey --config /opt/zitadel/config.yaml --init-projections=true echo "${RELEASE}" >/opt/${APP}_version.txt @@ -49,7 +49,7 @@ function update_script() { rm -rf /tmp/zitadel-linux-amd64 msg_ok "Cleanup Completed" msg_ok "Update Successful" - else + else msg_ok "No update required. ${APP} is already at ${RELEASE}" fi exit diff --git a/ct/zoraxy.sh b/ct/zoraxy.sh index 2eb43a1c4..e5c959e0c 100644 --- a/ct/zoraxy.sh +++ b/ct/zoraxy.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,11 +27,11 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating $APP to ${RELEASE}" systemctl stop zoraxy - wget -q "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" +curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -O $(basename "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64") rm -rf /opt/zoraxy/zoraxy mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy chmod +x /opt/zoraxy/zoraxy diff --git a/ct/zwave-js-ui.sh b/ct/zwave-js-ui.sh index 86500e5ba..be2711a01 100644 --- a/ct/zwave-js-ui.sh +++ b/ct/zwave-js-ui.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping Service" systemctl stop zwave-js-ui @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating Z-Wave JS UI" rm -rf /opt/zwave-js-ui/* cd /opt/zwave-js-ui - wget -q https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip +curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -O $(basename "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") unzip -q zwave-js-ui-${RELEASE}-linux.zip msg_ok "Updated Z-Wave JS UI" diff --git a/frontend/public/json/cron-update-lxcs.json b/frontend/public/json/cron-update-lxcs.json index eeb6311f2..fd7e1dac5 100644 --- a/frontend/public/json/cron-update-lxcs.json +++ b/frontend/public/json/cron-update-lxcs.json @@ -36,7 +36,7 @@ "type": "info" }, { - "text": "To exclude LXCs from updating, edit the crontab using `crontab -e` and add CTID as shown in the example below:\n\n\n\n`0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c '$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/update-lxcs-cron.sh)' -s 103 111 >>/var/log/update-lxcs-cron.log 2>/dev/null`", + "text": "To exclude LXCs from updating, edit the crontab using `crontab -e` and add CTID as shown in the example below:\n\n\n\n`0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c '$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/update-lxcs-cron.sh)' -s 103 111 >>/var/log/update-lxcs-cron.log 2>/dev/null`", "type": "info" } diff --git a/frontend/src/app/scripts/_components/ScriptItems/InstallCommand.tsx b/frontend/src/app/scripts/_components/ScriptItems/InstallCommand.tsx index 26d941cf3..647b1403d 100644 --- a/frontend/src/app/scripts/_components/ScriptItems/InstallCommand.tsx +++ b/frontend/src/app/scripts/_components/ScriptItems/InstallCommand.tsx @@ -4,82 +4,86 @@ import { basePath } from "@/config/siteConfig"; import { Script } from "@/lib/types"; import { getDisplayValueFromType } from "../ScriptInfoBlocks"; -const getInstallCommand = (scriptPath?: string, isAlpine = false) => { - return `bash -c "$(wget -q${isAlpine ? "" : "L"}O - https://github.com/community-scripts/${basePath}/raw/main/${scriptPath})"`; +const getInstallCommand = (scriptPath = "", isAlpine = false) => { + const url = `https://raw.githubusercontent.com/community-scripts/${basePath}/main/${scriptPath}`; + return isAlpine + ? `bash -c "$(curl -fsSL ${url})"` + : `bash -c "$(curl -fsSL ${url})"`; }; + export default function InstallCommand({ item }: { item: Script }) { - const alpineScript = item.install_methods.find( - (method) => method.type === "alpine", - ); + const alpineScript = item.install_methods.find( + (method) => method.type === "alpine", + ); - const defaultScript = item.install_methods.find( - (method) => method.type === "default", - ); + const defaultScript = item.install_methods.find( + (method) => method.type === "default", + ); - const renderInstructions = (isAlpine = false) => ( - <> -

- {isAlpine ? ( - <> - As an alternative option, you can use Alpine Linux and the{" "} - {item.name} package to create a {item.name}{" "} - {getDisplayValueFromType(item.type)} container with faster creation - time and minimal system resource usage. You are also obliged to - adhere to updates provided by the package maintainer. - - ) : item.type == "misc" ? ( - <> - To use the {item.name} script, run the command below in the shell. - - ) : ( - <> - {" "} - To create a new Proxmox VE {item.name}{" "} - {getDisplayValueFromType(item.type)}, run the command below in the - Proxmox VE Shell. - - )} -

- {isAlpine && ( -

- To create a new Proxmox VE Alpine-{item.name}{" "} - {getDisplayValueFromType(item.type)}, run the command below in the - Proxmox VE Shell -

- )} - - ); - - return ( -
- {alpineScript ? ( - - - Default - Alpine Linux - - - {renderInstructions()} - - {getInstallCommand(defaultScript?.script)} - - - - {renderInstructions(true)} - - {getInstallCommand(alpineScript.script, true)} - - - - ) : defaultScript?.script ? ( + const renderInstructions = (isAlpine = false) => ( <> - {renderInstructions()} - - {getInstallCommand(defaultScript.script)} - +

+ {isAlpine ? ( + <> + As an alternative option, you can use Alpine Linux and the{" "} + {item.name} package to create a {item.name}{" "} + {getDisplayValueFromType(item.type)} container with faster creation + time and minimal system resource usage. You are also obliged to + adhere to updates provided by the package maintainer. + + ) : item.type == "misc" ? ( + <> + To use the {item.name} script, run the command below in the shell. + + ) : ( + <> + {" "} + To create a new Proxmox VE {item.name}{" "} + {getDisplayValueFromType(item.type)}, run the command below in the + Proxmox VE Shell. + + )} +

+ {isAlpine && ( +

+ To create a new Proxmox VE Alpine-{item.name}{" "} + {getDisplayValueFromType(item.type)}, run the command below in the + Proxmox VE Shell +

+ )} - ) : null} -
- ); -} + ); + + return ( +
+ {alpineScript ? ( + + + Default + Alpine Linux + + + {renderInstructions()} + + {getInstallCommand(defaultScript?.script)} + + + + {renderInstructions(true)} + + {getInstallCommand(alpineScript.script, true)} + + + + ) : defaultScript?.script ? ( + <> + {renderInstructions()} + + {getInstallCommand(defaultScript.script)} + + + ) : null} +
+ ); +} \ No newline at end of file diff --git a/install/2fauth-install.sh b/install/2fauth-install.sh index 4f843e306..85fef6b67 100644 --- a/install/2fauth-install.sh +++ b/install/2fauth-install.sh @@ -46,8 +46,8 @@ $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH msg_ok "Set up Database" msg_info "Setup 2FAuth" -RELEASE=$(curl -s https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "2FAuth-${RELEASE//v/}/" /opt/2fauth diff --git a/install/actualbudget-install.sh b/install/actualbudget-install.sh index 7403c5196..da24b535f 100644 --- a/install/actualbudget-install.sh +++ b/install/actualbudget-install.sh @@ -34,8 +34,8 @@ msg_ok "Installed Node.js" msg_info "Installing Actual Budget" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz +RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz mv actual-${RELEASE} /opt/actualbudget diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index dbaaf823e..e813e5268 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -67,8 +67,8 @@ DJANGO_ADMIN_USER="djangoadmin" DJANGO_ADMIN_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" LOCAL_IP="$(hostname -I | awk '{print $1}')" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv AdventureLog-${RELEASE} /opt/adventurelog cat </opt/adventurelog/backend/server/.env diff --git a/install/agentdvr-install.sh b/install/agentdvr-install.sh index 58272816f..e7d7f085d 100644 --- a/install/agentdvr-install.sh +++ b/install/agentdvr-install.sh @@ -24,9 +24,9 @@ msg_ok "Installed Dependencies" msg_info "Installing AgentDVR" mkdir -p /opt/agentdvr/agent -RELEASE=$(curl -s "https://www.ispyconnect.com/api/Agent/DownloadLocation4?platform=Linux64&fromVersion=0" | grep -o 'https://.*\.zip') +RELEASE=$(curl -fsSL "https://www.ispyconnect.com/api/Agent/DownloadLocation4?platform=Linux64&fromVersion=0" | grep -o 'https://.*\.zip') cd /opt/agentdvr/agent -wget -q $RELEASE +curl -fsSL "$RELEASE" -O $(basename "$RELEASE") $STD unzip Agent_Linux64*.zip rm -rf Agent_Linux64*.zip chmod +x ./Agent diff --git a/install/alpine-docker-install.sh b/install/alpine-docker-install.sh index 3330d7dde..559970a3c 100644 --- a/install/alpine-docker-install.sh +++ b/install/alpine-docker-install.sh @@ -29,7 +29,7 @@ $STD rc-update add docker default msg_ok "Installed Docker" get_latest_release() { - curl -sL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } PORTAINER_LATEST_VERSION=$(get_latest_release "portainer/portainer") DOCKER_COMPOSE_LATEST_VERSION=$(get_latest_release "docker/compose") @@ -67,7 +67,7 @@ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then msg_info "Installing Docker Compose $DOCKER_COMPOSE_LATEST_VERSION" DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins - curl -sSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose + curl -fsSLSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose msg_ok "Installed Docker Compose $DOCKER_COMPOSE_LATEST_VERSION" fi diff --git a/install/alpine-it-tools-install.sh b/install/alpine-it-tools-install.sh index d8bb390c8..1a444a33b 100644 --- a/install/alpine-it-tools-install.sh +++ b/install/alpine-it-tools-install.sh @@ -23,7 +23,7 @@ $STD apk add \ msg_ok "Installed Dependencies" msg_info "Installing IT-Tools" -RELEASE=$(curl -s https://api.github.com/repos/CorentinTh/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4) +RELEASE=$(curl -fsSL https://api.github.com/repos/CorentinTh/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4) DOWNLOAD_URL="https://github.com/CorentinTh/it-tools/releases/download/${RELEASE}/it-tools-${RELEASE#v}.zip" curl -fsSL -o it-tools.zip "$DOWNLOAD_URL" diff --git a/install/apache-cassandra-install.sh b/install/apache-cassandra-install.sh index 0c784345b..91f7af54d 100644 --- a/install/apache-cassandra-install.sh +++ b/install/apache-cassandra-install.sh @@ -19,14 +19,14 @@ $STD apt-get install -y gpg msg_ok "Installed Dependencies" msg_info "Installing Eclipse Temurin (Patience)" -wget -qO- https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg +curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/adoptium.gpg] https://packages.adoptium.net/artifactory/deb bookworm main' >/etc/apt/sources.list.d/adoptium.list $STD apt-get update $STD apt-get install -y temurin-11-jdk msg_ok "Installed Eclipse Temurin" msg_info "Installing Apache Cassandra" -wget -qO- https://downloads.apache.org/cassandra/KEYS | gpg --dearmor >/etc/apt/trusted.gpg.d/cassandra.gpg +curl -fsSL "https://downloads.apache.org/cassandra/KEYS" | gpg --dearmor >/etc/apt/trusted.gpg.d/cassandra.gpg echo "deb https://debian.cassandra.apache.org 41x main" >/etc/apt/sources.list.d/cassandra.sources.list $STD apt-get update $STD apt-get install -y cassandra cassandra-tools diff --git a/install/apache-guacamole-install.sh b/install/apache-guacamole-install.sh index fca785d45..b9fc2fe7a 100644 --- a/install/apache-guacamole-install.sh +++ b/install/apache-guacamole-install.sh @@ -40,10 +40,10 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Setup Apache Tomcat" -RELEASE=$(wget -qO- https://dlcdn.apache.org/tomcat/tomcat-9/ | grep -oP '(?<=href=")v[^"/]+(?=/")' | sed 's/^v//' | sort -V | tail -n1) +RELEASE=$(curl -fsSL https://dlcdn.apache.org/tomcat/tomcat-9/ | grep -oP '(?<=href=")v[^"/]+(?=/")' | sed 's/^v//' | sort -V | tail -n1) mkdir -p /opt/apache-guacamole/tomcat9 mkdir -p /opt/apache-guacamole/server -wget -qO- "https://dlcdn.apache.org/tomcat/tomcat-9/v${RELEASE}/bin/apache-tomcat-${RELEASE}.tar.gz" | tar -xz -C /opt/apache-guacamole/tomcat9 --strip-components=1 +curl -fsSL "https://dlcdn.apache.org/tomcat/tomcat-9/v${RELEASE}/bin/apache-tomcat-${RELEASE}.tar.gz" | tar -xz -C /opt/apache-guacamole/tomcat9 --strip-components=1 useradd -r -d /opt/apache-guacamole/tomcat9 -s /bin/false tomcat chown -R tomcat: /opt/apache-guacamole/tomcat9 chmod -R g+r /opt/apache-guacamole/tomcat9/conf @@ -52,21 +52,21 @@ msg_ok "Setup Apache Tomcat" msg_info "Setup Apache Guacamole" mkdir -p /etc/guacamole/{extensions,lib} -RELEASE_SERVER=$(curl -sL https://api.github.com/repos/apache/guacamole-server/tags | jq -r '.[0].name') -wget -qO- https://api.github.com/repos/apache/guacamole-server/tarball/refs/tags/${RELEASE_SERVER} | tar -xz --strip-components=1 -C /opt/apache-guacamole/server +RELEASE_SERVER=$(curl -fsSLL https://api.github.com/repos/apache/guacamole-server/tags | jq -r '.[0].name') +curl -fsSL "https://api.github.com/repos/apache/guacamole-server/tarball/refs/tags/${RELEASE_SERVER}" | tar -xz --strip-components=1 -C /opt/apache-guacamole/server cd /opt/apache-guacamole/server $STD autoreconf -fi $STD ./configure --with-init-dir=/etc/init.d --enable-allow-freerdp-snapshots $STD make $STD make install $STD ldconfig -RELEASE_CLIENT=$(curl -sL https://api.github.com/repos/apache/guacamole-client/tags | jq -r '.[0].name') -wget -q -O /opt/apache-guacamole/tomcat9/webapps/guacamole.war https://downloads.apache.org/guacamole/${RELEASE_CLIENT}/binary/guacamole-${RELEASE_CLIENT}.war +RELEASE_CLIENT=$(curl -fsSLL https://api.github.com/repos/apache/guacamole-client/tags | jq -r '.[0].name') +curl -fsSL "https://downloads.apache.org/guacamole/${RELEASE_CLIENT}/binary/guacamole-${RELEASE_CLIENT}.war" -o "/opt/apache-guacamole/tomcat9/webapps/guacamole.war" cd /root -wget -q --directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz +curl -fsSL "--directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz" -O $(basename "--directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz") $STD tar -xf ~/mysql-connector-java-8.0.26.tar.gz mv ~/mysql-connector-java-8.0.26/mysql-connector-java-8.0.26.jar /etc/guacamole/lib/ -wget -q --directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz +curl -fsSL "--directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz" -O $(basename "--directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz") $STD tar -xf ~/guacamole-auth-jdbc-1.5.5.tar.gz mv ~/guacamole-auth-jdbc-1.5.5/mysql/guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions/ msg_ok "Setup Apache Guacamole" diff --git a/install/apache-tika-install.sh b/install/apache-tika-install.sh index ab6955aa9..0d8a6593c 100644 --- a/install/apache-tika-install.sh +++ b/install/apache-tika-install.sh @@ -41,8 +41,8 @@ msg_ok "Setup OpenJDK" msg_info "Installing Apache Tika" mkdir -p /opt/apache-tika cd /opt/apache-tika -RELEASE="$(wget -qO- https://dlcdn.apache.org/tika/ | grep -oP '(?<=href=")[0-9]+\.[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1)" -wget -q "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar" +RELEASE="$(curl -fsSL https://dlcdn.apache.org/tika/ | grep -oP '(?<=href=")[0-9]+\.[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1)" +curl -fsSL "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar" -O $(basename "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar") mv tika-server-standard-${RELEASE}.jar tika-server-standard.jar echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Apache Tika" diff --git a/install/apache-tomcat-install.sh b/install/apache-tomcat-install.sh index 4a915be22..579531878 100644 --- a/install/apache-tomcat-install.sh +++ b/install/apache-tomcat-install.sh @@ -23,7 +23,7 @@ msg_ok "Installed Dependencies" msg_info "Setting up Adoptium Repository" mkdir -p /etc/apt/keyrings -wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg +curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" >/etc/apt/sources.list.d/adoptium.list $STD apt-get update msg_ok "Set up Adoptium Repository" @@ -115,9 +115,9 @@ case $version in esac msg_info "Installing Tomcat $TOMCAT_VERSION" -LATEST_VERSION=$(curl -s "https://dlcdn.apache.org/tomcat/tomcat-$TOMCAT_VERSION/" | grep -oP 'v[0-9]+\.[0-9]+\.[0-9]+(-M[0-9]+)?/' | sort -V | tail -n 1 | sed 's/\/$//; s/v//') +LATEST_VERSION=$(curl -fsSL "https://dlcdn.apache.org/tomcat/tomcat-$TOMCAT_VERSION/" | grep -oP 'v[0-9]+\.[0-9]+\.[0-9]+(-M[0-9]+)?/' | sort -V | tail -n 1 | sed 's/\/$//; s/v//') TOMCAT_URL="https://dlcdn.apache.org/tomcat/tomcat-$TOMCAT_VERSION/v$LATEST_VERSION/bin/apache-tomcat-$LATEST_VERSION.tar.gz" -wget -qO /tmp/tomcat.tar.gz "$TOMCAT_URL" +curl -fsSL "$TOMCAT_URL" -o "/tmp/tomcat.tar.gz" mkdir -p /opt/tomcat-$TOMCAT_VERSION tar --strip-components=1 -xzf /tmp/tomcat.tar.gz -C /opt/tomcat-$TOMCAT_VERSION chown -R root:root /opt/tomcat-$TOMCAT_VERSION diff --git a/install/aria2-install.sh b/install/aria2-install.sh index 571dc2684..13bcbd3ba 100644 --- a/install/aria2-install.sh +++ b/install/aria2-install.sh @@ -22,7 +22,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then msg_info "Installing AriaNG" $STD apt-get install -y nginx systemctl disable -q --now nginx - wget -q "$(curl -s https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)" + curl -fsSL "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)") $STD unzip AriaNg-*-AllInOne.zip -d /var/www rm /etc/nginx/sites-enabled/* cat </etc/nginx/conf.d/ariang.conf diff --git a/install/authelia-install.sh b/install/authelia-install.sh index cc97e8219..f35d7eed4 100644 --- a/install/authelia-install.sh +++ b/install/authelia-install.sh @@ -14,8 +14,8 @@ network_check update_os msg_info "Installing Authelia" -RELEASE=$(curl -s https://api.github.com/repos/authelia/authelia/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" +RELEASE=$(curl -fsSL https://api.github.com/repos/authelia/authelia/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" -O $(basename "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb") $STD dpkg -i "authelia_${RELEASE}_amd64.deb" msg_ok "Install Authelia completed" diff --git a/install/authentik-install.sh b/install/authentik-install.sh index 1f9d79f54..ef58a677e 100644 --- a/install/authentik-install.sh +++ b/install/authentik-install.sh @@ -38,15 +38,15 @@ msg_ok "Installed Dependencies" msg_info "Installing yq" cd /tmp -YQ_LATEST="$(wget -qO- "https://api.github.com/repos/mikefarah/yq/releases/latest" | grep -Po '"tag_name": "\K.*?(?=")')" -wget -q "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq +YQ_LATEST="$(curl -fsSL "https://api.github.com/repos/mikefarah/yq/releases/latest" | grep -Po '"tag_name": \K.*?(?=")')" +curl -fsSL "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq" -O $(basename "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq") chmod +x /usr/bin/yq msg_ok "Installed yq" msg_info "Installing GeoIP" cd /tmp -GEOIP_RELEASE=$(curl -s https://api.github.com/repos/maxmind/geoipupdate/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -qO geoipupdate.deb https://github.com/maxmind/geoipupdate/releases/download/v${GEOIP_RELEASE}/geoipupdate_${GEOIP_RELEASE}_linux_amd64.deb +GEOIP_RELEASE=$(curl -fsSL https://api.github.com/repos/maxmind/geoipupdate/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/maxmind/geoipupdate/releases/download/v${GEOIP_RELEASE}/geoipupdate_${GEOIP_RELEASE}_linux_amd64.deb" -o "geoipupdate.deb" $STD dpkg -i geoipupdate.deb cat </etc/GeoIP.conf #GEOIPUPDATE_EDITION_IDS="GeoLite2-City GeoLite2-ASN" @@ -58,7 +58,7 @@ msg_ok "Installed GeoIP" msg_info "Setting up Python 3" cd /tmp -wget -q https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz -O Python.tgz +curl -fsSL "https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz" -o "Python.tgz" tar -zxf Python.tgz cd Python-3.12.1 $STD ./configure --enable-optimizations @@ -81,8 +81,8 @@ msg_ok "Installed Node.js" msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) -golang_tarball=$(curl -s https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -wget -q https://golang.org/dl/"$golang_tarball" -O "$temp_file" +golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) +curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" @@ -107,9 +107,9 @@ $STD sudo -u postgres psql -c "ALTER USER $DB_USER WITH SUPERUSER;" msg_ok "Installed PostgreSQL" msg_info "Installing authentik" -RELEASE=$(curl -s https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}') +RELEASE=$(curl -fsSL https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}') mkdir -p /opt/authentik -wget -qO authentik.tar.gz "${RELEASE}" +curl -fsSL "${RELEASE}" -o "authentik.tar.gz" tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite cd /opt/authentik/website $STD npm install @@ -190,4 +190,4 @@ rm -rf authentik.tar.gz $STD apt-get -y remove yq $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" +msg_ok "Cleaned" \ No newline at end of file diff --git a/install/autobrr-install.sh b/install/autobrr-install.sh index 4fc19d1df..ccf356592 100644 --- a/install/autobrr-install.sh +++ b/install/autobrr-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Autobrr" -wget -q $(curl -s https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4) +curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)") tar -C /usr/local/bin -xzf autobrr*.tar.gz rm -rf autobrr*.tar.gz mkdir -p /root/.config/autobrr diff --git a/install/baikal-install.sh b/install/baikal-install.sh index 0a13a9b12..2f1122386 100644 --- a/install/baikal-install.sh +++ b/install/baikal-install.sh @@ -36,9 +36,9 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMP msg_ok "Set up PostgreSQL" msg_info "Installing Baikal" -RELEASE=$(curl -s https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt -wget -q "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" +curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -O $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") unzip -q "baikal-${RELEASE}.zip" cat </opt/baikal/config/baikal.yaml database: diff --git a/install/barcode-buddy-install.sh b/install/barcode-buddy-install.sh index 0c5763f83..5709462f6 100644 --- a/install/barcode-buddy-install.sh +++ b/install/barcode-buddy-install.sh @@ -22,9 +22,9 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Installing barcodebuddy" -RELEASE=$(curl -s https://api.github.com/repos/Forceu/barcodebuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/Forceu/barcodebuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -wget -q "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" +curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy chown -R www-data:www-data /opt/barcodebuddy/data diff --git a/install/bazarr-install.sh b/install/bazarr-install.sh index 2802de084..b2b71f592 100755 --- a/install/bazarr-install.sh +++ b/install/bazarr-install.sh @@ -23,7 +23,7 @@ msg_ok "Setup Python3" msg_info "Installing Bazarr" mkdir -p /var/lib/bazarr/ -wget -q https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip +curl -fsSL "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip" -O $(basename "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip") unzip -qq bazarr -d /opt/bazarr chmod 775 /opt/bazarr /var/lib/bazarr/ python3 -m pip install -q -r /opt/bazarr/requirements.txt diff --git a/install/beszel-install.sh b/install/beszel-install.sh index 0c508a289..e7eaecd2a 100644 --- a/install/beszel-install.sh +++ b/install/beszel-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Beszel" mkdir -p /opt/beszel -curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/armv6l/arm/' -e 's/armv7l/arm/' -e 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel | tee /opt/beszel/beszel >/dev/null +curl -fsSLL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/armv6l/arm/' -e 's/armv7l/arm/' -e 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel | tee /opt/beszel/beszel >/dev/null chmod +x /opt/beszel/beszel msg_ok "Installed Beszel" diff --git a/install/blocky-install.sh b/install/blocky-install.sh index b03174407..a6b464793 100644 --- a/install/blocky-install.sh +++ b/install/blocky-install.sh @@ -18,8 +18,8 @@ if systemctl is-active systemd-resolved >/dev/null 2>&1; then systemctl disable -q --now systemd-resolved fi mkdir /opt/blocky -RELEASE=$(curl -s https://api.github.com/repos/0xERR0R/blocky/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -qO- https://github.com/0xERR0R/blocky/releases/download/v${RELEASE}/blocky_v${RELEASE}_Linux_x86_64.tar.gz | tar -xzf - -C /opt/blocky/ +RELEASE=$(curl -fsSL https://api.github.com/repos/0xERR0R/blocky/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/0xERR0R/blocky/releases/download/v${RELEASE}/blocky_v${RELEASE}_Linux_x86_64.tar.gz" | tar -xzf - -C /opt/blocky/ cat </opt/blocky/config.yml # configuration documentation: https://0xerr0r.github.io/blocky/latest/configuration/ diff --git a/install/boltdiy-install.sh b/install/boltdiy-install.sh index 809191336..b007320cc 100644 --- a/install/boltdiy-install.sh +++ b/install/boltdiy-install.sh @@ -33,8 +33,8 @@ msg_ok "Setup Node.js" msg_info "Setup bolt.diy" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/stackblitz-labs/bolt.diy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/stackblitz-labs/bolt.diy/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/stackblitz-labs/bolt.diy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/stackblitz-labs/bolt.diy/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar xzf $temp_file mv bolt.diy-${RELEASE} /opt/bolt.diy cd /opt/bolt.diy diff --git a/install/bookstack-install.sh b/install/bookstack-install.sh index 4d5340e7b..b98a9adf9 100644 --- a/install/bookstack-install.sh +++ b/install/bookstack-install.sh @@ -42,8 +42,8 @@ msg_ok "Set up database" msg_info "Setup Bookstack (Patience)" LOCAL_IP="$(hostname -I | awk '{print $1}')" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/BookStackApp/BookStack/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/BookStackApp/BookStack/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv BookStack-${RELEASE} /opt/bookstack cd /opt/bookstack diff --git a/install/bunkerweb-install.sh b/install/bunkerweb-install.sh index c9bb6cb1a..2fa72ca15 100644 --- a/install/bunkerweb-install.sh +++ b/install/bunkerweb-install.sh @@ -20,13 +20,13 @@ $STD apt-get install -y lsb-release msg_ok "Installed Dependencies" msg_info "Installing Nginx" -wget -qO- https://nginx.org/keys/nginx_signing.key | gpg --dearmor >/usr/share/keyrings/nginx-archive-keyring.gpg +curl -fsSL "https://nginx.org/keys/nginx_signing.key" | gpg --dearmor >/usr/share/keyrings/nginx-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian $(lsb_release -cs) nginx" >/etc/apt/sources.list.d/nginx.list $STD apt-get update $STD apt-get install -y nginx=1.26.3* msg_ok "Installed Nginx" -RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing BunkerWeb v${RELEASE} (Patience)" curl -fsSL "https://repo.bunkerweb.io/bunkerity/bunkerweb/gpgkey" | gpg --dearmor >/etc/apt/keyrings/bunkerity_bunkerweb-archive-keyring.gpg echo "deb [signed-by=/etc/apt/keyrings/bunkerity_bunkerweb-archive-keyring.gpg] https://repo.bunkerweb.io/bunkerity/bunkerweb/debian/ bookworm main" >/etc/apt/sources.list.d/bunkerity_bunkerweb.list diff --git a/install/bytestash-install.sh b/install/bytestash-install.sh index 9f2b65988..6338d6fd4 100644 --- a/install/bytestash-install.sh +++ b/install/bytestash-install.sh @@ -32,8 +32,8 @@ msg_ok "Installed Node.js" msg_info "Installing ByteStash" JWT_SECRET=$(openssl rand -base64 32 | tr -d '/+=') temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/jordan-dalby/ByteStash/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/jordan-dalby/ByteStash/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/jordan-dalby/ByteStash/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/jordan-dalby/ByteStash/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file mv ByteStash-${RELEASE} /opt/bytestash cd /opt/bytestash/server diff --git a/install/caddy-install.sh b/install/caddy-install.sh index 9542a71e7..fd0fe35b7 100644 --- a/install/caddy-install.sh +++ b/install/caddy-install.sh @@ -33,8 +33,8 @@ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) - golang_tarball=$(curl -s https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) - wget -q https://golang.org/dl/"$golang_tarball" -O "$temp_file" + golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) +curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" @@ -43,8 +43,8 @@ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then msg_info "Setup xCaddy" cd /opt - RELEASE=$(curl -s https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - wget -q https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb + RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb" -O $(basename "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb") $STD dpkg -i xcaddy_${RELEASE:1}_linux_amd64.deb rm -rf /opt/xcaddy* $STD xcaddy build @@ -57,4 +57,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" +msg_ok "Cleaned" \ No newline at end of file diff --git a/install/calibre-web-install.sh b/install/calibre-web-install.sh index 0643cf9b7..91c5bd3d8 100644 --- a/install/calibre-web-install.sh +++ b/install/calibre-web-install.sh @@ -33,7 +33,7 @@ msg_ok "Installed Kepubify" msg_info "Installing Calibre-Web" mkdir -p /opt/calibre-web $STD apt-get install -y calibre -$STD wget https://github.com/janeczku/calibre-web/raw/master/library/metadata.db -P /opt/calibre-web +$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" diff --git a/install/checkmk-install.sh b/install/checkmk-install.sh index fabcc0ba8..56af8c8da 100644 --- a/install/checkmk-install.sh +++ b/install/checkmk-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Install Checkmk" RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -v '\-rc' | sort -V | tail -n 1) -wget -q https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb -O /opt/checkmk.deb +curl -fsSL "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb" -o "/opt/checkmk.deb" $STD apt-get install -y /opt/checkmk.deb echo "${RELEASE}" >"/opt/checkmk_version.txt" msg_ok "Installed Checkmk" diff --git a/install/commafeed-install.sh b/install/commafeed-install.sh index b4ec7f162..ef5372bc3 100644 --- a/install/commafeed-install.sh +++ b/install/commafeed-install.sh @@ -18,17 +18,17 @@ $STD apt-get install -y rsync msg_ok "Installed Dependencies" msg_info "Installing Azul Zulu" -wget -qO /etc/apt/trusted.gpg.d/zulu-repo.asc "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -wget -q https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb +curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -O $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu17-jdk msg_ok "Installed Azul Zulu" -RELEASE=$(curl -sL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +RELEASE=$(curl -fsSLL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Installing CommaFeed ${RELEASE}" mkdir /opt/commafeed -wget -q https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip +curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -O $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") unzip -q commafeed-${RELEASE}-h2-jvm.zip mv commafeed-${RELEASE}-h2/* /opt/commafeed/ echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/cosmos-install.sh b/install/cosmos-install.sh index f266a926c..40e5dc541 100644 --- a/install/cosmos-install.sh +++ b/install/cosmos-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Install mergerfs" MERGERFS_VERSION="2.40.2" -wget -q "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" +curl -fsSL "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" -O $(basename "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb") $STD dpkg -i "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" || $STD apt-get install -f -y rm "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" msg_ok "Installed mergerfs" @@ -35,9 +35,9 @@ msg_ok "Installed Docker" msg_info "Install Cosmos" mkdir -p /opt/cosmos -LATEST_RELEASE=$(curl -s https://api.github.com/repos/azukaar/Cosmos-Server/releases/latest | grep "tag_name" | cut -d '"' -f 4) +LATEST_RELEASE=$(curl -fsSL https://api.github.com/repos/azukaar/Cosmos-Server/releases/latest | grep "tag_name" | cut -d '"' -f 4) ZIP_FILE="cosmos-cloud-${LATEST_RELEASE#v}-amd64.zip" -curl -sL "https://github.com/azukaar/Cosmos-Server/releases/download/${LATEST_RELEASE}/${ZIP_FILE}" -o "/opt/cosmos/${ZIP_FILE}" +curl -fsSLL "https://github.com/azukaar/Cosmos-Server/releases/download/${LATEST_RELEASE}/${ZIP_FILE}" -o "/opt/cosmos/${ZIP_FILE}" cd /opt/cosmos unzip -o -q "${ZIP_FILE}" LATEST_RELEASE_NO_V=${LATEST_RELEASE#v} diff --git a/install/crafty-controller-install.sh b/install/crafty-controller-install.sh index 969b22354..faf628e70 100644 --- a/install/crafty-controller-install.sh +++ b/install/crafty-controller-install.sh @@ -25,7 +25,7 @@ msg_ok "Installed Dependencies" msg_info "Setting up TemurinJDK" mkdir -p /etc/apt/keyrings -wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc +curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | tee /etc/apt/keyrings/adoptium.asc echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list $STD apt-get update $STD apt-get install -y temurin-{8,11,17,21}-jre @@ -45,9 +45,9 @@ msg_info "Installing Craty-Controller (Patience)" useradd crafty -m -s /bin/bash cd /opt mkdir -p /opt/crafty-controller/crafty /opt/crafty-controller/server -RELEASE=$(curl -s "https://gitlab.com/api/v4/projects/20430749/releases" | grep -o '"tag_name":"v[^"]*"' | head -n 1 | sed 's/"tag_name":"v//;s/"//') +RELEASE=$(curl -fsSL "https://gitlab.com/api/v4/projects/20430749/releases" | grep -o '"tag_name":"v[^"]*"' | head -n 1 | sed 's/"tag_name":"v//;s/"//') echo "${RELEASE}" >"/opt/crafty-controller_version.txt" -wget -q "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" +curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -O $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") unzip -q crafty-4-v${RELEASE}.zip cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/ rm -rf crafty-4-v${RELEASE} diff --git a/install/cronicle-install.sh b/install/cronicle-install.sh index f46604520..958b3b27e 100644 --- a/install/cronicle-install.sh +++ b/install/cronicle-install.sh @@ -29,7 +29,7 @@ $STD apt-get install -y nodejs msg_ok "Installed Node.js" msg_info "Installing Cronicle Primary Server" -LATEST=$(curl -sL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +LATEST=$(curl -fsSLL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) IP=$(hostname -I | awk '{print $1}') mkdir -p /opt/cronicle cd /opt/cronicle diff --git a/install/cryptpad-install.sh b/install/cryptpad-install.sh index 9bf77192a..e19dee82d 100644 --- a/install/cryptpad-install.sh +++ b/install/cryptpad-install.sh @@ -34,8 +34,8 @@ read -p "Install OnlyOffice components instead of CKEditor? (Y/N): " onlyoffice msg_info "Setup ${APPLICATION}" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/cryptpad/cryptpad/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -O $temp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/cryptpad/cryptpad/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file mv cryptpad-$RELEASE /opt/cryptpad cd /opt/cryptpad diff --git a/install/daemonsync-install.sh b/install/daemonsync-install.sh index 9aa62e9f0..fcba3b959 100644 --- a/install/daemonsync-install.sh +++ b/install/daemonsync-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y g++-multilib msg_ok "Installed Dependencies" msg_info "Installing Daemon Sync Server" -wget -qL https://github.com/community-scripts/ProxmoxVE/raw/main/misc/daemonsync_2.2.0.0059_amd64.deb +curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/daemonsync_2.2.0.0059_amd64.deb -O $STD dpkg -i daemonsync_2.2.0.0059_amd64.deb msg_ok "Installed Daemon Sync Server" diff --git a/install/dashy-install.sh b/install/dashy-install.sh index 2611b179d..2796d1abd 100644 --- a/install/dashy-install.sh +++ b/install/dashy-install.sh @@ -28,10 +28,10 @@ $STD apt-get update $STD apt-get install -y nodejs msg_ok "Installed Node.js" -RELEASE=$(curl -s https://api.github.com/repos/Lissy93/dashy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') msg_info "Installing Dashy ${RELEASE} (Patience)" mkdir -p /opt/dashy -wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1 +curl -fsSL "https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz" | tar -xz -C /opt/dashy --strip-components=1 cd /opt/dashy $STD npm install $STD npm run build diff --git a/install/deconz-install.sh b/install/deconz-install.sh index e9d74c0d8..db317d5f5 100644 --- a/install/deconz-install.sh +++ b/install/deconz-install.sh @@ -21,7 +21,7 @@ msg_ok "Setup Phoscon Repository" msg_info "Installing deConz" libssl=$(curl -fsSL "http://security.ubuntu.com/ubuntu/pool/main/o/openssl/" | grep -o 'libssl1\.1_1\.1\.1f-1ubuntu2\.2[^"]*amd64\.deb' | head -n1) -wget -qL http://security.ubuntu.com/ubuntu/pool/main/o/openssl/$libssl +curl -fsSL "http://security.ubuntu.com/ubuntu/pool/main/o/openssl/$libssl" -O $STD dpkg -i $libssl $STD apt-get update $STD apt-get install -y deconz diff --git a/install/docker-install.sh b/install/docker-install.sh index 7a3615cae..f78a01676 100644 --- a/install/docker-install.sh +++ b/install/docker-install.sh @@ -14,7 +14,7 @@ network_check update_os get_latest_release() { - curl -sL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } DOCKER_LATEST_VERSION=$(get_latest_release "moby/moby") @@ -26,7 +26,7 @@ msg_info "Installing Docker $DOCKER_LATEST_VERSION" DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p $(dirname $DOCKER_CONFIG_PATH) echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json -$STD sh <(curl -sSL https://get.docker.com) +$STD sh <(curl -fsSLSL https://get.docker.com) msg_ok "Installed Docker $DOCKER_LATEST_VERSION" read -r -p "Would you like to add Portainer? " prompt diff --git a/install/dockge-install.sh b/install/dockge-install.sh index 4f6c5288d..c170ab1a4 100644 --- a/install/dockge-install.sh +++ b/install/dockge-install.sh @@ -14,7 +14,7 @@ network_check update_os get_latest_release() { - curl -sL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } DOCKER_LATEST_VERSION=$(get_latest_release "moby/moby") @@ -24,19 +24,19 @@ msg_info "Installing Docker $DOCKER_LATEST_VERSION" DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p $(dirname $DOCKER_CONFIG_PATH) echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json -$STD sh <(curl -sSL https://get.docker.com) +$STD sh <(curl -fsSLSL https://get.docker.com) msg_ok "Installed Docker $DOCKER_LATEST_VERSION" msg_info "Installing Docker Compose $DOCKER_COMPOSE_LATEST_VERSION" DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins -curl -sSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose +curl -fsSLSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose msg_ok "Installed Docker Compose $DOCKER_COMPOSE_LATEST_VERSION" msg_info "Installing Dockge" mkdir -p /opt/{dockge,stacks} -wget -q -O /opt/dockge/compose.yaml https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml +curl -fsSL "https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml" -o "/opt/dockge/compose.yaml" cd /opt/dockge $STD docker compose up -d msg_ok "Installed Dockge" @@ -45,9 +45,8 @@ read -r -p "Would you like to add Immich? " prompt if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then msg_info "Adding Immich compose.yaml" mkdir -p /opt/stacks/immich - wget -q -O /opt/stacks/immich/compose.yaml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml - wget -q -O /opt/stacks/immich/.env https://github.com/immich-app/immich/releases/latest/download/example.env - #wget -q -O /opt/stacks/immich/hwaccel.ml.yml https://github.com/immich-app/immich/releases/latest/download/hwaccel.ml.yml + curl -fsSL "https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml" -o "/opt/stacks/immich/compose.yaml" + curl -fsSL "https://github.com/immich-app/immich/releases/latest/download/example.env" -o "/opt/stacks/immich/.env" msg_ok "Added Immich compose.yaml" fi diff --git a/install/docmost-install.sh b/install/docmost-install.sh index 12f59842e..3c6cee72d 100644 --- a/install/docmost-install.sh +++ b/install/docmost-install.sh @@ -52,8 +52,8 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Docmost (Patience)" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/docmost/docmost/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/docmost/docmost/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file" +RELEASE=$(curl -fsSL https://api.github.com/repos/docmost/docmost/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/docmost/docmost/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" tar -xzf "$temp_file" mv docmost-${RELEASE} /opt/docmost cd /opt/docmost diff --git a/install/dolibarr-install.sh b/install/dolibarr-install.sh index 323eada89..d629ce284 100644 --- a/install/dolibarr-install.sh +++ b/install/dolibarr-install.sh @@ -31,9 +31,9 @@ msg_ok "Set up database" msg_info "Setup Dolibarr" BASE="https://sourceforge.net/projects/dolibarr/files/Dolibarr%20installer%20for%20Debian-Ubuntu%20(DoliDeb)/" -RELEASE=$(curl -s "$BASE" | grep -oP '(?<=/Dolibarr%20installer%20for%20Debian-Ubuntu%20%28DoliDeb%29/)[^/"]+' | head -n1) -FILE=$(curl -s "${BASE}${RELEASE}/" | grep -oP 'dolibarr_[^"]+_all.deb' | head -n1) -wget -q "https://netcologne.dl.sourceforge.net/project/dolibarr/Dolibarr%20installer%20for%20Debian-Ubuntu%20(DoliDeb)/${RELEASE}/${FILE}?viasf=1" -O "$FILE" +RELEASE=$(curl -fsSL "$BASE" | grep -oP '(?<=/Dolibarr%20installer%20for%20Debian-Ubuntu%20%28DoliDeb%29/)[^/"]+' | head -n1) +FILE=$(curl -fsSL "${BASE}${RELEASE}/" | grep -oP 'dolibarr_[^"]+_all.deb' | head -n1) +curl -fsSL "https://netcologne.dl.sourceforge.net/project/dolibarr/Dolibarr%20installer%20for%20Debian-Ubuntu%20(DoliDeb)/${RELEASE}/${FILE}?viasf=1" -o ""$FILE"" echo "dolibarr dolibarr/reconfigure-webserver multiselect apache2" | debconf-set-selections $STD apt-get install ./$FILE -y $STD apt install -f diff --git a/install/duplicati-install.sh b/install/duplicati-install.sh index b51ea566c..bdcfe9ec0 100644 --- a/install/duplicati-install.sh +++ b/install/duplicati-install.sh @@ -21,8 +21,8 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Setting up Duplicati" -RELEASE=$(curl -s https://api.github.com/repos/duplicati/duplicati/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') -wget -q "https://github.com/duplicati/duplicati/releases/download/v${RELEASE}/duplicati-${RELEASE}-linux-x64-gui.deb" +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 $(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/Duplicati_version.txt msg_ok "Finished setting up Duplicati" diff --git a/install/elementsynapse-install.sh b/install/elementsynapse-install.sh index 2c288fee0..7a462c9a5 100644 --- a/install/elementsynapse-install.sh +++ b/install/elementsynapse-install.sh @@ -23,7 +23,7 @@ msg_ok "Installed Dependencies" read -p "Please enter the name for your server: " servername msg_info "Installing Element Synapse" -wget -q -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg +curl -fsSL "https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg" -o "/usr/share/keyrings/matrix-org-archive-keyring.gpg" echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" >/etc/apt/sources.list.d/matrix-org.list $STD apt-get update echo "matrix-synapse-py3 matrix-synapse/server-name string $servername" | debconf-set-selections diff --git a/install/emby-install.sh b/install/emby-install.sh index 1e0a59945..b34d91dbc 100644 --- a/install/emby-install.sh +++ b/install/emby-install.sh @@ -24,10 +24,10 @@ if [[ "$CTTYPE" == "0" ]]; then fi msg_ok "Set Up Hardware Acceleration" -LATEST=$(curl -sL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +LATEST=$(curl -fsSLL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Installing Emby" -wget -q https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb +curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -O $(basename "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb") $STD dpkg -i emby-server-deb_${LATEST}_amd64.deb if [[ "$CTTYPE" == "0" ]]; then sed -i -e 's/^ssl-cert:x:104:$/render:x:104:root,emby/' -e 's/^render:x:108:root,emby$/ssl-cert:x:108:/' /etc/group diff --git a/install/ersatztv-install.sh b/install/ersatztv-install.sh index b6786f63e..1f0fcf977 100644 --- a/install/ersatztv-install.sh +++ b/install/ersatztv-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing FFmpeg (Patience)" cd /usr/local/bin -wget -q https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz +curl -fsSL "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz" -O $(basename "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz") $STD tar -xvf ffmpeg-release-amd64-static.tar.xz rm -f ffmpeg-*.tar.xz cd ffmpeg-* @@ -37,8 +37,8 @@ msg_ok "Set Up Hardware Acceleration" msg_info "Installing ErsatzTV" temp_file=$(mktemp) cd /opt -RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1) -wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" -O "$temp_file" +RELEASE=$(curl -fsSL https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1) +curl -fsSL "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" -o "$temp_file" tar -xzf "$temp_file" mv /opt/ErsatzTV-${RELEASE}-linux-x64 /opt/ErsatzTV echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/excalidraw-install.sh b/install/excalidraw-install.sh index 5d273e713..461d8259b 100644 --- a/install/excalidraw-install.sh +++ b/install/excalidraw-install.sh @@ -33,8 +33,8 @@ msg_ok "Setup Node.js" msg_info "Setup Excalidraw" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/excalidraw/excalidraw/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/excalidraw/excalidraw/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/excalidraw/excalidraw/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/excalidraw/excalidraw/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar xzf $temp_file mv excalidraw-${RELEASE} /opt/excalidraw cd /opt/excalidraw diff --git a/install/fenrus-install.sh b/install/fenrus-install.sh index d9b8b986f..ce300c416 100644 --- a/install/fenrus-install.sh +++ b/install/fenrus-install.sh @@ -22,7 +22,7 @@ msg_info "Installing ASP.NET Core 7 SDK" var_os=$(grep "^ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"') var_version=$(grep "^VERSION_ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"') if [ "${var_os}" = "debian" ]; then - wget -q "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb" + curl -fsSL "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb" -O $(basename "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb") $STD dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb fi diff --git a/install/fhem-install.sh b/install/fhem-install.sh index c5057c0c9..5f86d8fa0 100644 --- a/install/fhem-install.sh +++ b/install/fhem-install.sh @@ -19,7 +19,7 @@ $STD apt-get install -y gnupg2 msg_ok "Installed Dependencies" msg_info "Setting up Fhem Repository" -curl -sSf https://debian.fhem.de/archive.key | gpg --dearmor >/etc/apt/trusted.gpg.d/debianfhemde-archive-keyring.gpg +curl -fsSLSf https://debian.fhem.de/archive.key | gpg --dearmor >/etc/apt/trusted.gpg.d/debianfhemde-archive-keyring.gpg echo 'deb [signed-by=/etc/apt/trusted.gpg.d/debianfhemde-archive-keyring.gpg] https://debian.fhem.de/nightly/ /' >/etc/apt/sources.list.d/fhem.list msg_ok "Set up Fhem Repository" diff --git a/install/fileflows-install.sh b/install/fileflows-install.sh index 0419aceed..477635ea8 100644 --- a/install/fileflows-install.sh +++ b/install/fileflows-install.sh @@ -6,7 +6,7 @@ # Source: https://fileflows.com/ # Import Functions und Setup -source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors diff --git a/install/firefly-install.sh b/install/firefly-install.sh index 023732348..d87a4ec64 100644 --- a/install/firefly-install.sh +++ b/install/firefly-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg +curl -fsSLSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list $STD apt-get update $STD apt-get install -y \ @@ -42,9 +42,9 @@ mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVI msg_ok "Set up database" msg_info "Installing Firefly III (Patience)" -RELEASE=$(curl -s https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') +RELEASE=$(curl -fsSL https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') cd /opt -wget -q "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" +curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -O $(basename "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz") mkdir -p /opt/firefly tar -xzf FireflyIII-v${RELEASE}.tar.gz -C /opt/firefly chown -R www-data:www-data /opt/firefly diff --git a/install/flaresolverr-install.sh b/install/flaresolverr-install.sh index 82909e62a..3c5ca4f38 100644 --- a/install/flaresolverr-install.sh +++ b/install/flaresolverr-install.sh @@ -21,15 +21,15 @@ $STD apt-get install -y xvfb msg_ok "Installed Dependencies" msg_info "Installing Chrome" -wget -qO- https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg +curl -fsSL "https://dl.google.com/linux/linux_signing_key.pub" | gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main" >/etc/apt/sources.list.d/google-chrome.list $STD apt update $STD apt install -y google-chrome-stable msg_ok "Installed Chrome" msg_info "Installing FlareSolverr" -RELEASE=$(wget -q https://github.com/FlareSolverr/FlareSolverr/releases/latest -O - | grep "title>Release" | cut -d " " -f 4) -$STD wget -q https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz +RELEASE=$(curl -fsSL https://github.com/FlareSolverr/FlareSolverr/releases/latest | grep "title>Release" | cut -d " " -f 4) +$STD curl -fsSL "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz" -O $STD tar -xzf flaresolverr_linux_x64.tar.gz -C /opt $STD rm flaresolverr_linux_x64.tar.gz echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/flowiseai-install.sh b/install/flowiseai-install.sh index 86a0dbd6e..2dfde4806 100644 --- a/install/flowiseai-install.sh +++ b/install/flowiseai-install.sh @@ -32,7 +32,7 @@ $STD npm install -g flowise \ @opentelemetry/sdk-trace-node \ langchainhub mkdir -p /opt/flowiseai -wget -q https://raw.githubusercontent.com/FlowiseAI/Flowise/main/packages/server/.env.example -O /opt/flowiseai/.env +curl -fsSL "https://raw.githubusercontent.com/FlowiseAI/Flowise/main/packages/server/.env.example" -o "/opt/flowiseai/.env" msg_ok "Installed FlowiseAI" msg_info "Creating Service" diff --git a/install/fluid-calendar-install.sh b/install/fluid-calendar-install.sh index ed5c83b17..c1dc64ab0 100644 --- a/install/fluid-calendar-install.sh +++ b/install/fluid-calendar-install.sh @@ -47,8 +47,8 @@ msg_ok "Set up Postgresql Database" msg_info "Setup ${APPLICATION}" tmp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/dotnetfactory/fluid-calendar/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/dotnetfactory/fluid-calendar/archive/refs/tags/v${RELEASE}.zip" -O $tmp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/dotnetfactory/fluid-calendar/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/dotnetfactory/fluid-calendar/archive/refs/tags/v${RELEASE}.zip" -o "$tmp_file" unzip -q $tmp_file mv ${APPLICATION}-${RELEASE}/ /opt/${APPLICATION} echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/forgejo-install.sh b/install/forgejo-install.sh index dcd4d044f..595790393 100644 --- a/install/forgejo-install.sh +++ b/install/forgejo-install.sh @@ -20,8 +20,8 @@ msg_ok "Installed Dependencies" msg_info "Installing Forgejo" mkdir -p /opt/forgejo -RELEASE=$(curl -s https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//') -wget -qO /opt/forgejo/forgejo-$RELEASE-linux-amd64 "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" +RELEASE=$(curl -fsSL https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//') +curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" -o "/opt/forgejo/forgejo-$RELEASE-linux-amd64" chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64 ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo msg_ok "Installed Forgejo" diff --git a/install/freshrss-install.sh b/install/freshrss-install.sh index cd287846b..da4de9746 100644 --- a/install/freshrss-install.sh +++ b/install/freshrss-install.sh @@ -36,9 +36,9 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMP msg_ok "Set up PostgreSQL" msg_info "Installing FreshRSS" -RELEASE=$(curl -s https://api.github.com/repos/FreshRSS/FreshRSS/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/FreshRSS/FreshRSS/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt -wget -q "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip" +curl -fsSL "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "/opt/FreshRSS-${RELEASE}" /opt/freshrss cd /opt/freshrss diff --git a/install/frigate-install.sh b/install/frigate-install.sh index 91a2bc79d..bd4128711 100644 --- a/install/frigate-install.sh +++ b/install/frigate-install.sh @@ -34,7 +34,7 @@ msg_ok "Installed Node.js" msg_info "Installing go2rtc" mkdir -p /usr/local/go2rtc/bin cd /usr/local/go2rtc/bin -wget -qO go2rtc "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64" +curl -fsSL "https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64" -o "go2rtc" chmod +x go2rtc $STD ln -svf /usr/local/go2rtc/bin/go2rtc /usr/local/bin/go2rtc msg_ok "Installed go2rtc" @@ -48,13 +48,13 @@ if [[ "$CTTYPE" == "0" ]]; then fi msg_ok "Set Up Hardware Acceleration" -#RELEASE=$(curl -s https://api.github.com/repos/blakeblackshear/frigate/releases/latest | jq -r '.tag_name') +#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 -wget -q https://github.com/blakeblackshear/frigate/archive/refs/tags/v0.14.1.tar.gz -O frigate.tar.gz +curl -fsSL "https://github.com/blakeblackshear/frigate/archive/refs/tags/v0.14.1.tar.gz" -o "frigate.tar.gz" tar -xzf frigate.tar.gz -C /opt/frigate --strip-components 1 rm -rf frigate.tar.gz cd /opt/frigate @@ -114,7 +114,7 @@ if grep -q -o -m1 -E 'avx[^ ]*' /proc/cpuinfo; then $STD /usr/local/bin/omz_converter --name ssdlite_mobilenet_v2 --precision FP16 --mo /usr/local/bin/mo cd / cp -r /opt/frigate/models/public/ssdlite_mobilenet_v2 openvino-model - wget -q https://github.com/openvinotoolkit/open_model_zoo/raw/master/data/dataset_classes/coco_91cl_bkgr.txt -O openvino-model/coco_91cl_bkgr.txt + curl -fsSL "https://github.com/openvinotoolkit/open_model_zoo/raw/master/data/dataset_classes/coco_91cl_bkgr.txt" -o "openvino-model/coco_91cl_bkgr.txt" sed -i 's/truck/car/g' openvino-model/coco_91cl_bkgr.txt cat <>/config/config.yml detectors: @@ -142,7 +142,7 @@ msg_info "Installing Coral Object Detection Model (Patience)" cd /opt/frigate export CCACHE_DIR=/root/.ccache export CCACHE_MAXSIZE=2G -wget -q https://github.com/libusb/libusb/archive/v1.0.26.zip +curl -fsSL "https://github.com/libusb/libusb/archive/v1.0.26.zip" -O $(basename "https://github.com/libusb/libusb/archive/v1.0.26.zip") unzip -q v1.0.26.zip rm v1.0.26.zip cd libusb-1.0.26 @@ -156,16 +156,16 @@ mkdir -p /usr/local/include/libusb-1.0 $STD /usr/bin/install -c -m 644 libusb.h '/usr/local/include/libusb-1.0' ldconfig cd / -wget -qO edgetpu_model.tflite https://github.com/google-coral/test_data/raw/release-frogfish/ssdlite_mobiledet_coco_qat_postprocess_edgetpu.tflite -wget -qO cpu_model.tflite https://github.com/google-coral/test_data/raw/release-frogfish/ssdlite_mobiledet_coco_qat_postprocess.tflite +curl -fsSL "https://github.com/google-coral/test_data/raw/release-frogfish/ssdlite_mobiledet_coco_qat_postprocess_edgetpu.tflite" -o "edgetpu_model.tflite" +curl -fsSL "https://github.com/google-coral/test_data/raw/release-frogfish/ssdlite_mobiledet_coco_qat_postprocess.tflite" -o "cpu_model.tflite" cp /opt/frigate/labelmap.txt /labelmap.txt -wget -qO yamnet-tflite-classification-tflite-v1.tar.gz https://www.kaggle.com/api/v1/models/google/yamnet/tfLite/classification-tflite/1/download +curl -fsSL "https://www.kaggle.com/api/v1/models/google/yamnet/tfLite/classification-tflite/1/download" -o "yamnet-tflite-classification-tflite-v1.tar.gz" tar xzf yamnet-tflite-classification-tflite-v1.tar.gz rm -rf yamnet-tflite-classification-tflite-v1.tar.gz mv 1.tflite cpu_audio_model.tflite cp /opt/frigate/audio-labelmap.txt /audio-labelmap.txt mkdir -p /media/frigate -wget -qO /media/frigate/person-bicycle-car-detection.mp4 https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4 +curl -fsSL "https://github.com/intel-iot-devkit/sample-videos/raw/master/person-bicycle-car-detection.mp4" -o "/media/frigate/person-bicycle-car-detection.mp4" msg_ok "Installed Coral Object Detection Model" msg_info "Building Nginx with Custom Modules" diff --git a/install/gitea-install.sh b/install/gitea-install.sh index 64dabb738..719cdb1d9 100644 --- a/install/gitea-install.sh +++ b/install/gitea-install.sh @@ -20,8 +20,8 @@ $STD apt-get install -y sqlite3 msg_ok "Installed Dependencies" msg_info "Installing Gitea" -RELEASE=$(wget -q https://github.com/go-gitea/gitea/releases/latest -O - | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//') -wget -q https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64 +RELEASE=$(curl -fsSL https://github.com/go-gitea/gitea/releases/latest | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//') +curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -O $(basename "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64") mv gitea* /usr/local/bin/gitea chmod +x /usr/local/bin/gitea adduser --system --group --disabled-password --shell /bin/bash --home /etc/gitea gitea >/dev/null diff --git a/install/glance-install.sh b/install/glance-install.sh index 442a454c1..f1887f850 100644 --- a/install/glance-install.sh +++ b/install/glance-install.sh @@ -14,9 +14,9 @@ network_check update_os msg_info "Installing Glance" -RELEASE=$(curl -s https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -wget -q https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz +curl -fsSL "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz" -O $(basename "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz") mkdir -p /opt/glance tar -xzf glance-linux-amd64.tar.gz -C /opt/glance cat </opt/glance/glance.yml diff --git a/install/glpi-install.sh b/install/glpi-install.sh index 6f49a782d..2ce96eeac 100644 --- a/install/glpi-install.sh +++ b/install/glpi-install.sh @@ -42,8 +42,8 @@ msg_ok "Set up database" msg_info "Installing GLPi" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') -wget -q "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz" +RELEASE=$(curl -fsSL https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') +curl -fsSL "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz" -O $(basename "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz") $STD tar -xzvf glpi-${RELEASE}.tgz cd /opt/glpi $STD php bin/console db:install --db-name=$DB_NAME --db-user=$DB_USER --db-password=$DB_PASS --no-interaction diff --git a/install/go2rtc-install.sh b/install/go2rtc-install.sh index b70b505a4..6ca7fa048 100644 --- a/install/go2rtc-install.sh +++ b/install/go2rtc-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing go2rtc" mkdir -p /opt/go2rtc cd /opt/go2rtc -wget -q https://github.com/AlexxIT/go2rtc/releases/latest/download/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 msg_ok "Installed go2rtc" diff --git a/install/gokapi-install.sh b/install/gokapi-install.sh index f167cf9c8..dc6ef6f44 100644 --- a/install/gokapi-install.sh +++ b/install/gokapi-install.sh @@ -14,9 +14,9 @@ network_check update_os msg_info "Installing Gokapi" -LATEST=$(curl -sL https://api.github.com/repos/Forceu/Gokapi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +LATEST=$(curl -fsSLL https://api.github.com/repos/Forceu/Gokapi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) mkdir -p /opt/gokapi/{data,config} -wget -q https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip +curl -fsSL "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip" -O $(basename "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip") unzip -q gokapi-linux_amd64.zip -d /opt/gokapi rm gokapi-linux_amd64.zip chmod +x /opt/gokapi/gokapi-linux_amd64 diff --git a/install/gotify-install.sh b/install/gotify-install.sh index 17de14229..1df880aca 100644 --- a/install/gotify-install.sh +++ b/install/gotify-install.sh @@ -14,10 +14,10 @@ network_check update_os msg_info "Installing Gotify" -RELEASE=$(curl -s https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /opt/gotify cd /opt/gotify -wget -q https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip +curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -O $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") unzip -q gotify-linux-amd64.zip rm -rf gotify-linux-amd64.zip chmod +x gotify-linux-amd64 diff --git a/install/grafana-install.sh b/install/grafana-install.sh index 4a532b8e8..46caaf5d4 100644 --- a/install/grafana-install.sh +++ b/install/grafana-install.sh @@ -20,7 +20,7 @@ $STD apt-get install -y software-properties-common msg_ok "Installed Dependencies" msg_info "Setting up Grafana Repository" -wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key +curl -fsSL "https://apt.grafana.com/gpg.key" -o "/usr/share/keyrings/grafana.key" sh -c 'echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" > /etc/apt/sources.list.d/grafana.list' msg_ok "Set up Grafana Repository" diff --git a/install/graylog-install.sh b/install/graylog-install.sh index 4f89ad7b6..4a9009142 100644 --- a/install/graylog-install.sh +++ b/install/graylog-install.sh @@ -28,7 +28,7 @@ msg_ok "Setup MongoDB" msg_info "Setup Graylog Data Node" PASSWORD_SECRET=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16) -wget -q https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb +curl -fsSL "https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb" -O $(basename "https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb") $STD dpkg -i graylog-6.1-repository_latest.deb $STD apt-get update $STD apt-get install graylog-datanode -y diff --git a/install/grist-install.sh b/install/grist-install.sh index e41493f47..3a43b28cc 100644 --- a/install/grist-install.sh +++ b/install/grist-install.sh @@ -32,11 +32,11 @@ $STD npm install -g yarn msg_ok "Installed Node.js" msg_info "Installing Grist" -RELEASE=$(curl -s https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') export CYPRESS_INSTALL_BINARY=0 export NODE_OPTIONS="--max-old-space-size=2048" cd /opt -wget -q https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip +curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") unzip -q v$RELEASE.zip mv grist-core-${RELEASE} grist cd grist diff --git a/install/grocy-install.sh b/install/grocy-install.sh index af0ea3104..bde660482 100644 --- a/install/grocy-install.sh +++ b/install/grocy-install.sh @@ -19,7 +19,7 @@ msg_ok "Installed Dependencies" msg_info "Installing PHP8.2" VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" -curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg +curl -fsSLSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg echo -e "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $VERSION main" >/etc/apt/sources.list.d/php.list $STD apt-get update $STD apt-get install -y php8.2 @@ -31,8 +31,8 @@ $STD apt-get install -y php8.2-mbstring msg_ok "Installed PHP8.2" msg_info "Installing grocy" -latest=$(curl -s https://api.github.com/repos/grocy/grocy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip +latest=$(curl -fsSL https://api.github.com/repos/grocy/grocy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip" -O $(basename "https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip") $STD unzip grocy_${latest}.zip -d /var/www/html chown -R www-data:www-data /var/www/html cp /var/www/html/config-dist.php /var/www/html/data/config.php diff --git a/install/habitica-install.sh b/install/habitica-install.sh index 443a33c9b..14a3b5537 100644 --- a/install/habitica-install.sh +++ b/install/habitica-install.sh @@ -19,7 +19,7 @@ $STD apt-get install -y \ gnupg \ build-essential \ git -wget -q http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb +curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -O $(basename "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb") $STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb msg_ok "Installed Dependencies" @@ -36,8 +36,8 @@ msg_ok "Setup Node.js" msg_info "Setup ${APPLICATION}" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/HabitRPG/habitica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/HabitRPG/habitica/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/HabitRPG/habitica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/HabitRPG/habitica/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file mv habitica-${RELEASE}/ /opt/habitica cd /opt/habitica diff --git a/install/headscale-install.sh b/install/headscale-install.sh index 9a523f4df..4d93b15df 100644 --- a/install/headscale-install.sh +++ b/install/headscale-install.sh @@ -13,9 +13,9 @@ setting_up_container network_check update_os -RELEASE=$(curl -s https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +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}" -wget -q https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb +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") $STD dpkg -i headscale_${RELEASE}_linux_amd64.deb systemctl enable -q --now headscale echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/heimdall-dashboard-install.sh b/install/heimdall-dashboard-install.sh index dfc80d4f3..47864dc06 100644 --- a/install/heimdall-dashboard-install.sh +++ b/install/heimdall-dashboard-install.sh @@ -19,12 +19,12 @@ $STD apt-get install -y composer $STD apt-get install -y php8.2-{bz2,curl,sqlite3,zip,xml} msg_ok "Installed Dependencies" -RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') +RELEASE=$(curl -fsSLX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_info "Installing Heimdall Dashboard ${RELEASE}" -wget -q https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz +curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -O $(basename "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") tar xzf ${RELEASE}.tar.gz -VER=$(curl -s https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +VER=$(curl -fsSL https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') rm -rf ${RELEASE}.tar.gz mv Heimdall-${VER} /opt/Heimdall cd /opt/Heimdall diff --git a/install/hev-socks5-server-install.sh b/install/hev-socks5-server-install.sh index 68e24fd21..8600442f2 100644 --- a/install/hev-socks5-server-install.sh +++ b/install/hev-socks5-server-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Setup ${APPLICATION}" -RELEASE=$(curl -s https://api.github.com/repos/heiher/${APPLICATION}/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/heiher/${APPLICATION}/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') curl -L -o "${APPLICATION}" "https://github.com/heiher/${APPLICATION}/releases/download/${RELEASE}/hev-socks5-server-linux-x86_64" mv ${APPLICATION} /opt/${APPLICATION} chmod +x /opt/${APPLICATION} diff --git a/install/hivemq-install.sh b/install/hivemq-install.sh index 45bfab281..abac64895 100644 --- a/install/hivemq-install.sh +++ b/install/hivemq-install.sh @@ -18,15 +18,15 @@ $STD apt-get install -y gpg msg_ok "Installed Dependencies" msg_info "Installing OpenJDK" -wget -qO- https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg +curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/adoptium.gpg] https://packages.adoptium.net/artifactory/deb bookworm main' >/etc/apt/sources.list.d/adoptium.list $STD apt-get update $STD apt-get install -y temurin-17-jre msg_ok "Installed OpenJDK" msg_info "Installing HiveMQ CE" -RELEASE=$(curl -s https://api.github.com/repos/hivemq/hivemq-community-edition/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip +RELEASE=$(curl -fsSL https://api.github.com/repos/hivemq/hivemq-community-edition/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip" -O $(basename "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip") unzip -q hivemq-ce-${RELEASE}.zip mkdir -p /opt/hivemq mv hivemq-ce-${RELEASE}/* /opt/hivemq diff --git a/install/hoarder-install.sh b/install/hoarder-install.sh index e1e6e2a52..d90da3fd4 100644 --- a/install/hoarder-install.sh +++ b/install/hoarder-install.sh @@ -27,17 +27,17 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Installing Additional Tools" -wget -q https://github.com/Y2Z/monolith/releases/latest/download/monolith-gnu-linux-x86_64 -O /usr/bin/monolith +curl -fsSL "https://github.com/Y2Z/monolith/releases/latest/download/monolith-gnu-linux-x86_64" -o "/usr/bin/monolith" chmod +x /usr/bin/monolith -wget -q https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux -O /usr/bin/yt-dlp +curl -fsSL "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux" -o "/usr/bin/yt-dlp" chmod +x /usr/bin/yt-dlp msg_ok "Installed Additional Tools" msg_info "Installing Meilisearch" cd /tmp -wget -q https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb +curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -O $(basename "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb") $STD dpkg -i meilisearch.deb -wget -q https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml -O /etc/meilisearch.toml +curl -fsSL "https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml" -o "/etc/meilisearch.toml" MASTER_KEY=$(openssl rand -base64 12) sed -i \ -e 's|^env =.*|env = "production"|' \ @@ -60,8 +60,8 @@ msg_ok "Installed Node.js" msg_info "Installing Hoarder" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv hoarder-${RELEASE} /opt/hoarder cd /opt/hoarder diff --git a/install/homarr-install.sh b/install/homarr-install.sh index f6bca857e..3805adc6b 100644 --- a/install/homarr-install.sh +++ b/install/homarr-install.sh @@ -40,8 +40,8 @@ msg_ok "Installed Node.js/pnpm" msg_info "Installing Homarr (Patience)" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv homarr-${RELEASE} /opt/homarr mkdir -p /opt/homarr_db diff --git a/install/homeassistant-install.sh b/install/homeassistant-install.sh index eb1b24af2..dd61bb6b0 100644 --- a/install/homeassistant-install.sh +++ b/install/homeassistant-install.sh @@ -27,7 +27,7 @@ $STD pip install runlike msg_ok "Installed runlike" get_latest_release() { - curl -sL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } DOCKER_LATEST_VERSION=$(get_latest_release "moby/moby") @@ -38,7 +38,7 @@ msg_info "Installing Docker $DOCKER_LATEST_VERSION" DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p $(dirname $DOCKER_CONFIG_PATH) echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json -$STD sh <(curl -sSL https://get.docker.com) +$STD sh <(curl -fsSLSL https://get.docker.com) msg_ok "Installed Docker $DOCKER_LATEST_VERSION" msg_info "Pulling Portainer $PORTAINER_LATEST_VERSION Image" diff --git a/install/homebox-install.sh b/install/homebox-install.sh index 8c0df5955..2e3361889 100644 --- a/install/homebox-install.sh +++ b/install/homebox-install.sh @@ -15,8 +15,8 @@ network_check update_os msg_info "Installing Homebox" -RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -qO- https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz | tar -xzf - -C /opt +RELEASE=$(curl -fsSL https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz" | tar -xzf - -C /opt chmod +x /opt/homebox cat </opt/.env # For possible environment variables check here: https://homebox.software/en/configure-homebox diff --git a/install/homebridge-install.sh b/install/homebridge-install.sh index cc0013e08..a99ace193 100644 --- a/install/homebridge-install.sh +++ b/install/homebridge-install.sh @@ -19,7 +19,7 @@ $STD apt-get install -y gnupg2 msg_ok "Installed Dependencies" msg_info "Setting up Homebridge Repository" -curl -sSf https://repo.homebridge.io/KEY.gpg | gpg --dearmor >/etc/apt/trusted.gpg.d/homebridge.gpg +curl -fsSLSf https://repo.homebridge.io/KEY.gpg | gpg --dearmor >/etc/apt/trusted.gpg.d/homebridge.gpg echo 'deb [signed-by=/etc/apt/trusted.gpg.d/homebridge.gpg] https://repo.homebridge.io stable main' >/etc/apt/sources.list.d/homebridge.list msg_ok "Set up Homebridge Repository" diff --git a/install/homepage-install.sh b/install/homepage-install.sh index 1b7ba5a73..4fdf6fdf1 100644 --- a/install/homepage-install.sh +++ b/install/homepage-install.sh @@ -30,7 +30,7 @@ $STD npm install -g pnpm msg_ok "Installed Node.js" LOCAL_IP=$(hostname -I | awk '{print $1}') -RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing Homepage v${RELEASE} (Patience)" curl -fsSL "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz") $STD tar -xzf v${RELEASE}.tar.gz diff --git a/install/homer-install.sh b/install/homer-install.sh index 36b393224..a9cfd457b 100644 --- a/install/homer-install.sh +++ b/install/homer-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Homer" mkdir -p /opt/homer cd /opt/homer -wget -q https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip +curl -fsSL "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip" -O $(basename "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip") $STD unzip homer.zip rm -rf homer.zip cp assets/config.yml.dist assets/config.yml diff --git a/install/hyperion-install.sh b/install/hyperion-install.sh index 2abf73d3c..495234ed7 100644 --- a/install/hyperion-install.sh +++ b/install/hyperion-install.sh @@ -22,7 +22,7 @@ $STD apt-get install -y libpython3.11 msg_ok "Installed Dependencies" msg_info "Installing Hyperion" -wget -qO- https://releases.hyperion-project.org/hyperion.pub.key | gpg --dearmor -o /usr/share/keyrings/hyperion.pub.gpg +curl -fsSL "https://releases.hyperion-project.org/hyperion.pub.key" | gpg --dearmor -o /usr/share/keyrings/hyperion.pub.gpg echo "deb [signed-by=/usr/share/keyrings/hyperion.pub.gpg] https://apt.releases.hyperion-project.org/ $(lsb_release -cs) main" >/etc/apt/sources.list.d/hyperion.list $STD apt-get update $STD apt-get install -y hyperion diff --git a/install/influxdb-install.sh b/install/influxdb-install.sh index cadfe3c37..8b71a248c 100644 --- a/install/influxdb-install.sh +++ b/install/influxdb-install.sh @@ -20,7 +20,7 @@ $STD apt-get install -y gnupg2 msg_ok "Installed Dependencies" msg_info "Setting up InfluxDB Repository" -wget -qO- https://repos.influxdata.com/influxdata-archive_compat.key | gpg --dearmor >/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg +curl -fsSL "https://repos.influxdata.com/influxdata-archive_compat.key" | gpg --dearmor >/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg echo "deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main" >/etc/apt/sources.list.d/influxdata.list msg_ok "Set up InfluxDB Repository" @@ -37,7 +37,7 @@ if [[ $INFLUX == "2" ]]; then $STD apt-get install -y influxdb2 else $STD apt-get install -y influxdb - wget -q https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb + curl -fsSL "https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb" -O $(basename "https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb") $STD dpkg -i chronograf_1.10.1_amd64.deb fi $STD systemctl enable --now influxdb diff --git a/install/inspircd-install.sh b/install/inspircd-install.sh index d0c6ba250..e69dd6610 100644 --- a/install/inspircd-install.sh +++ b/install/inspircd-install.sh @@ -14,9 +14,9 @@ network_check update_os msg_info "Installing InspIRCd" -RELEASE=$(curl -s https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -wget -q https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb +curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -O $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb") $STD apt-get install "./inspircd_${RELEASE}.deb12u1_amd64.deb" -y &>/dev/null cat </etc/inspircd/inspircd.conf diff --git a/install/inventree-install.sh b/install/inventree-install.sh index a51c1555e..261c4ebf1 100644 --- a/install/inventree-install.sh +++ b/install/inventree-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y gnupg temp_file=$(mktemp) -wget -q http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb -O $temp_file +curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o "$temp_file" $STD dpkg -i $temp_file msg_ok "Installed Dependencies" diff --git a/install/iventoy-install.sh b/install/iventoy-install.sh index ba25fdd4d..452771ba3 100644 --- a/install/iventoy-install.sh +++ b/install/iventoy-install.sh @@ -13,10 +13,10 @@ setting_up_container network_check update_os -RELEASE=$(curl -s https://api.github.com/repos/ventoy/pxe/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/ventoy/pxe/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing iVentoy v${RELEASE}" mkdir -p /opt/iventoy/{data,iso} -wget -q https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz +curl -fsSL "https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz" -O $(basename "https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz") tar -C /tmp -xzf iventoy*.tar.gz mv /tmp/iventoy*/* /opt/iventoy/ rm -rf iventoy*.tar.gz diff --git a/install/jackett-install.sh b/install/jackett-install.sh index 3c93ef694..3a80cdf7b 100644 --- a/install/jackett-install.sh +++ b/install/jackett-install.sh @@ -14,8 +14,8 @@ network_check update_os msg_info "Installing Jackett" -RELEASE=$(wget -q https://github.com/Jackett/Jackett/releases/latest -O - | grep "title>Release" | cut -d " " -f 4) -wget -q https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz +RELEASE=$(curl -fsSL https://github.com/Jackett/Jackett/releases/latest | grep "title>Release" | cut -d " " -f 4) +curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -O $(basename "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/jenkins-install.sh b/install/jenkins-install.sh index 55d4398c6..f7e980729 100644 --- a/install/jenkins-install.sh +++ b/install/jenkins-install.sh @@ -17,7 +17,7 @@ $STD apt-get install -y openjdk-17-jre msg_ok "Installed Dependencies" msg_info "Setup Jenkins" -wget -qO /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian/jenkins.io-2023.key +curl -fsSL "https://pkg.jenkins.io/debian/jenkins.io-2023.key" -o "/usr/share/keyrings/jenkins-keyring.asc" echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc]" https://pkg.jenkins.io/debian binary/ >/etc/apt/sources.list.d/jenkins.list $STD apt-get update $STD apt-get install -y jenkins diff --git a/install/kavita-install.sh b/install/kavita-install.sh index 0e98a210f..0c2b1a059 100644 --- a/install/kavita-install.sh +++ b/install/kavita-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Kavita" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') $STD tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner msg_ok "Installed Kavita" diff --git a/install/keycloak-install.sh b/install/keycloak-install.sh index 472187d44..b59506095 100644 --- a/install/keycloak-install.sh +++ b/install/keycloak-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y gnupg msg_ok "Installed Dependencies" msg_info "Installing OpenJDK" -wget -qO- https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg +curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/adoptium.gpg] https://packages.adoptium.net/artifactory/deb bookworm main' >/etc/apt/sources.list.d/adoptium.list $STD apt-get update $STD apt-get install -y temurin-21-jre @@ -26,8 +26,8 @@ msg_ok "Installed OpenJDK" msg_info "Installing Keycloak" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz -O $temp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz" -o "$temp_file" tar xzf $temp_file mv keycloak-$RELEASE /opt/keycloak msg_ok "Installed Keycloak" diff --git a/install/kimai-install.sh b/install/kimai-install.sh index de282959e..8ad22f2c6 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -25,7 +25,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Setup PHP8.4 Repository" -$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb +$STD curl -fsSLSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update @@ -57,8 +57,8 @@ mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVI msg_ok "Set up database" msg_info "Installing Kimai (Patience)" -RELEASE=$(curl -s https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv kimai-${RELEASE} /opt/kimai cd /opt/kimai diff --git a/install/koillection-install.sh b/install/koillection-install.sh index 8a844b50a..3f2af63fd 100644 --- a/install/koillection-install.sh +++ b/install/koillection-install.sh @@ -21,7 +21,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Setup PHP8.4 Repository" -$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb +$STD curl -fsSLSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update @@ -60,9 +60,9 @@ $STD npm install -g yarn msg_ok "Installed Node.js/Yarn" msg_info "Installing Koillection" -RELEASE=$(curl -s https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt -wget -q "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" +curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "/opt/koillection-${RELEASE}" /opt/koillection cd /opt/koillection diff --git a/install/kometa-install.sh b/install/kometa-install.sh index 540629f81..5a3378792 100644 --- a/install/kometa-install.sh +++ b/install/kometa-install.sh @@ -20,8 +20,8 @@ msg_ok "Setup Python 3" msg_info "Setup Kometa" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/Kometa-Team/Kometa/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/Kometa-Team/Kometa/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file" +RELEASE=$(curl -fsSL https://api.github.com/repos/Kometa-Team/Kometa/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/Kometa-Team/Kometa/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" tar -xzf "$temp_file" mv Kometa-${RELEASE} /opt/kometa cd /opt/kometa diff --git a/install/komga-install.sh b/install/komga-install.sh index 63db9397a..4d63d8b67 100644 --- a/install/komga-install.sh +++ b/install/komga-install.sh @@ -18,8 +18,8 @@ $STD apt-get install -y openjdk-17-jre msg_ok "Installed Dependencies" msg_info "Installing Komga" -RELEASE=$(curl -s https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar +RELEASE=$(curl -fsSL https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -O $(basename "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") mkdir -p /opt/komga mv -f komga-${RELEASE}.jar /opt/komga/komga.jar echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/komodo-install.sh b/install/komodo-install.sh index 659ed7c3f..d482655b3 100644 --- a/install/komodo-install.sh +++ b/install/komodo-install.sh @@ -61,10 +61,10 @@ case $DB_CHOICE in esac mkdir -p /opt/komodo cd /opt/komodo -wget -q "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$DB_COMPOSE_FILE" +curl -fsSL "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$DB_COMPOSE_FILE" -O $(basename "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$DB_COMPOSE_FILE") msg_info "Setup Komodo Environment" -wget -q -O /opt/komodo/compose.env https://raw.githubusercontent.com/mbecker20/komodo/main/compose/compose.env +curl -fsSL "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/compose.env" -o "/opt/komodo/compose.env" DB_PASSWORD=$(openssl rand -base64 16 | tr -d '/+=') PASSKEY=$(openssl rand -base64 24 | tr -d '/+=') WEBHOOK_SECRET=$(openssl rand -base64 24 | tr -d '/+=') diff --git a/install/kubo-install.sh b/install/kubo-install.sh index c7471927a..e21570a77 100644 --- a/install/kubo-install.sh +++ b/install/kubo-install.sh @@ -19,8 +19,8 @@ $STD apt-get install -y gpg msg_ok "Installed Dependencies" msg_info "Installing IPFS" -RELEASE=$(wget -q https://github.com/ipfs/kubo/releases/latest -O - | grep "title>Release" | cut -d " " -f 4) -$STD wget -q "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" +RELEASE=$(curl -fsSL https://github.com/ipfs/kubo/releases/latest | grep "title>Release" | cut -d " " -f 4) +$STD curl -fsSL "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" -O tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local $STD ln -s /usr/local/kubo/ipfs /usr/local/bin/ipfs $STD ipfs init diff --git a/install/lidarr-install.sh b/install/lidarr-install.sh index 301c21011..5d9b0a489 100644 --- a/install/lidarr-install.sh +++ b/install/lidarr-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Lidarr" mkdir -p /var/lib/lidarr/ chmod 775 /var/lib/lidarr/ -$STD wget --content-disposition 'https://lidarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' +$STD curl -fJL 'https://lidarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' $STD tar -xvzf Lidarr.master.*.tar.gz mv Lidarr /opt chmod 775 /opt/Lidarr diff --git a/install/linkwarden-install.sh b/install/linkwarden-install.sh index 91f6483cb..d4698785b 100644 --- a/install/linkwarden-install.sh +++ b/install/linkwarden-install.sh @@ -37,7 +37,7 @@ $STD npm install -g yarn msg_ok "Installed Node.js/Yarn" msg_info "Installing Rust" -wget -qL https://sh.rustup.rs +curl -fsSL https://sh.rustup.rs -O $STD bash index.html -y --profile minimal echo 'export PATH=~/.cargo/bin:$PATH' >>~/.bashrc export PATH=~/.cargo/bin:$PATH @@ -91,8 +91,8 @@ fi msg_info "Installing Linkwarden (Patience)" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv linkwarden-${RELEASE:1} /opt/linkwarden cd /opt/linkwarden diff --git a/install/listmonk-install.sh b/install/listmonk-install.sh index 4896af051..42e9abe88 100644 --- a/install/listmonk-install.sh +++ b/install/listmonk-install.sh @@ -35,8 +35,8 @@ msg_info "Installing listmonk" cd /opt mkdir /opt/listmonk mkdir /opt/listmonk/uploads -RELEASE=$(curl -s https://api.github.com/repos/knadh/listmonk/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" +RELEASE=$(curl -fsSL https://api.github.com/repos/knadh/listmonk/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz") tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk $STD /opt/listmonk/listmonk --new-config --config /opt/listmonk/config.toml diff --git a/install/lubelogger-install.sh b/install/lubelogger-install.sh index 43323e725..e45935933 100644 --- a/install/lubelogger-install.sh +++ b/install/lubelogger-install.sh @@ -20,10 +20,10 @@ msg_ok "Installed Dependencies" msg_info "Installing LubeLogger" cd /opt mkdir -p /opt/lubelogger -RELEASE=$(curl -s https://api.github.com/repos/hargata/lubelog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/hargata/lubelog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE_TRIMMED=$(echo "${RELEASE}" | tr -d ".") cd /opt/lubelogger -wget -q https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip +curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -O $(basename "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") unzip -q LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip chmod 700 /opt/lubelogger/CarCareTracker cp /opt/lubelogger/appsettings.json /opt/lubelogger/appsettings_bak.json diff --git a/install/mafl-install.sh b/install/mafl-install.sh index daa3a4e21..4bcd01654 100644 --- a/install/mafl-install.sh +++ b/install/mafl-install.sh @@ -34,12 +34,12 @@ $STD npm install -g npm@latest $STD npm install -g yarn msg_ok "Installed Node.js" -RELEASE=$(curl -s https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing Mafl v${RELEASE}" -wget -q https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz +curl -fsSL "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz mkdir -p /opt/mafl/data -wget -q -O /opt/mafl/data/config.yml https://raw.githubusercontent.com/hywax/mafl/main/.example/config.yml +curl -fsSL "https://raw.githubusercontent.com/hywax/mafl/main/.example/config.yml" -o "/opt/mafl/data/config.yml" mv mafl-${RELEASE}/* /opt/mafl rm -rf mafl-${RELEASE} cd /opt/mafl diff --git a/install/magicmirror-install.sh b/install/magicmirror-install.sh index 58345e8b4..59d582352 100644 --- a/install/magicmirror-install.sh +++ b/install/magicmirror-install.sh @@ -30,8 +30,8 @@ msg_ok "Installed Node.js" msg_info "Setup MagicMirror" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/MagicMirrorOrg/MagicMirror/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file" +RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/MagicMirrorOrg/MagicMirror/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" tar -xzf "$temp_file" mv MagicMirror-${RELEASE} /opt/magicmirror cd /opt/magicmirror diff --git a/install/mariadb-install.sh b/install/mariadb-install.sh index 94bcb6c76..07796c75f 100644 --- a/install/mariadb-install.sh +++ b/install/mariadb-install.sh @@ -32,7 +32,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then php-json \ php-curl - wget -q "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" + curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -O $(basename "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz") mkdir -p /var/www/html/phpMyAdmin tar xf phpMyAdmin-5.2.1-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php diff --git a/install/mattermost-install.sh b/install/mattermost-install.sh index d94703778..0a364654b 100644 --- a/install/mattermost-install.sh +++ b/install/mattermost-install.sh @@ -38,8 +38,8 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Mattermost" IPADDRESS=$(hostname -I | awk '{print $1}') -curl -sL -o /usr/share/keyrings/mattermost-archive-keyring.gpg https://deb.packages.mattermost.com/pubkey.gpg -sh -c 'curl -sL https://deb.packages.mattermost.com/repo-setup.sh | sudo bash -s mattermost' >/dev/null +curl -fsSLL -o /usr/share/keyrings/mattermost-archive-keyring.gpg https://deb.packages.mattermost.com/pubkey.gpg +sh -c 'curl -fsSLL https://deb.packages.mattermost.com/repo-setup.sh | sudo bash -s mattermost' >/dev/null $STD apt-get update $STD apt-get install -y mattermost $STD install -C -m 600 -o mattermost -g mattermost /opt/mattermost/config/config.defaults.json /opt/mattermost/config/config.json diff --git a/install/mediamtx-install.sh b/install/mediamtx-install.sh index 1e951579e..3e424ee81 100644 --- a/install/mediamtx-install.sh +++ b/install/mediamtx-install.sh @@ -18,10 +18,10 @@ $STD apt-get install -y ffmpeg msg_ok "Installed Dependencies" msg_info "Installing MediaMTX" -RELEASE=$(curl -s https://api.github.com/repos/bluenviron/mediamtx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/bluenviron/mediamtx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') mkdir -p /opt/mediamtx cd /opt/mediamtx -wget -q https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz +curl -fsSL "https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz") tar xzf mediamtx_${RELEASE}_linux_amd64.tar.gz rm -rf mediamtx_${RELEASE}_linux_amd64.tar.gz msg_ok "Installed MediaMTX" diff --git a/install/memos-install.sh b/install/memos-install.sh index 0fe256a97..5b0b018e2 100644 --- a/install/memos-install.sh +++ b/install/memos-install.sh @@ -39,8 +39,8 @@ msg_ok "Installed pnpm" msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) -golang_tarball=$(curl -s https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -wget -q https://golang.org/dl/"$golang_tarball" -O "$temp_file" +golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) +curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" @@ -87,4 +87,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" +msg_ok "Cleaned" \ No newline at end of file diff --git a/install/minio-install.sh b/install/minio-install.sh index e6e57c95d..27415b5ea 100644 --- a/install/minio-install.sh +++ b/install/minio-install.sh @@ -14,8 +14,8 @@ network_check update_os msg_info "Setup MinIO" -RELEASE=$(curl -s https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}') -wget -q https://dl.min.io/server/minio/release/linux-amd64/minio +RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}') +curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -O $(basename "https://dl.min.io/server/minio/release/linux-amd64/minio") mv minio /usr/local/bin/ chmod +x /usr/local/bin/minio useradd -r minio-user -s /sbin/nologin diff --git a/install/mongodb-install.sh b/install/mongodb-install.sh index 478d54835..3bb8fc704 100644 --- a/install/mongodb-install.sh +++ b/install/mongodb-install.sh @@ -25,7 +25,7 @@ else fi msg_info "Installing MongoDB $MONGODB_VERSION" -wget -qO- https://www.mongodb.org/static/pgp/server-${MONGODB_VERSION}.asc | gpg --dearmor >/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg +curl -fsSL "https://www.mongodb.org/static/pgp/server-${MONGODB_VERSION}.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg echo "deb [signed-by=/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg] http://repo.mongodb.org/apt/debian $(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2)/mongodb-org/${MONGODB_VERSION} main" >/etc/apt/sources.list.d/mongodb-org-${MONGODB_VERSION}.list $STD apt-get update $STD apt-get install -y mongodb-org diff --git a/install/monica-install.sh b/install/monica-install.sh index 8b2232169..cc8c0740e 100644 --- a/install/monica-install.sh +++ b/install/monica-install.sh @@ -48,9 +48,9 @@ $STD npm install -g yarn msg_ok "Installed Node.js/Yarn" msg_info "Installing monica" -RELEASE=$(curl -s https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -wget -q "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" +curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -O $(basename "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") tar -xjf "monica-v${RELEASE}.tar.bz2" mv "/opt/monica-v${RELEASE}" /opt/monica cd /opt/monica diff --git a/install/motioneye-install.sh b/install/motioneye-install.sh index d6242bc2a..47b6f8ff7 100644 --- a/install/motioneye-install.sh +++ b/install/motioneye-install.sh @@ -42,12 +42,12 @@ $STD pip install git+https://github.com/motioneye-project/motioneye.git@dev mkdir -p /etc/motioneye chown -R root:root /etc/motioneye chmod -R 777 /etc/motioneye -wget -qO /etc/motioneye/motioneye.conf https://raw.githubusercontent.com/motioneye-project/motioneye/dev/motioneye/extra/motioneye.conf.sample +curl -fsSL "https://raw.githubusercontent.com/motioneye-project/motioneye/dev/motioneye/extra/motioneye.conf.sample" -o "/etc/motioneye/motioneye.conf" mkdir -p /var/lib/motioneye msg_ok "Installed MotionEye" msg_info "Creating Service" -wget -qO /etc/systemd/system/motioneye.service https://raw.githubusercontent.com/motioneye-project/motioneye/dev/motioneye/extra/motioneye.systemd +curl -fsSL "https://raw.githubusercontent.com/motioneye-project/motioneye/dev/motioneye/extra/motioneye.systemd" -o "/etc/systemd/system/motioneye.service" systemctl enable -q --now motioneye msg_ok "Created Service" diff --git a/install/mylar3-install.sh b/install/mylar3-install.sh index 14cc2ef20..e5477752b 100644 --- a/install/mylar3-install.sh +++ b/install/mylar3-install.sh @@ -30,8 +30,8 @@ msg_ok "Setup Python3" msg_info "Installing ${APPLICATION}" mkdir -p /opt/mylar3 mkdir -p /opt/mylar3-data -RELEASE=$(curl -s https://api.github.com/repos/mylar3/mylar3/releases/latest | jq -r '.tag_name') -wget -qO- https://github.com/mylar3/mylar3/archive/refs/tags/${RELEASE}.tar.gz | tar -xz --strip-components=1 -C /opt/mylar3 +RELEASE=$(curl -fsSL https://api.github.com/repos/mylar3/mylar3/releases/latest | jq -r '.tag_name') +curl -fsSL "https://github.com/mylar3/mylar3/archive/refs/tags/${RELEASE}.tar.gz" | tar -xz --strip-components=1 -C /opt/mylar3 $STD pip install --no-cache-dir -r /opt/mylar3/requirements.txt echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed ${APPLICATION}" diff --git a/install/myspeed-install.sh b/install/myspeed-install.sh index da14494ca..05220e30a 100644 --- a/install/myspeed-install.sh +++ b/install/myspeed-install.sh @@ -35,9 +35,9 @@ $STD apt-get install -y nodejs msg_ok "Installed Node.js" msg_info "Installing MySpeed" -RELEASE=$(wget -q https://github.com/gnmyt/myspeed/releases/latest -O - | grep "title>Release" | cut -d " " -f 5) +RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5) cd /opt -wget -q https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip +curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -O $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") unzip -q MySpeed-$RELEASE.zip -d myspeed cd myspeed $STD npm install diff --git a/install/mysql-install.sh b/install/mysql-install.sh index c6899ae43..26edbbc40 100644 --- a/install/mysql-install.sh +++ b/install/mysql-install.sh @@ -63,7 +63,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then php-json \ php-curl - wget -q "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" + curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -O $(basename "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz") mkdir -p /var/www/html/phpMyAdmin tar xf phpMyAdmin-5.2.1-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php diff --git a/install/navidrome-install.sh b/install/navidrome-install.sh index 721ccd6dd..cbd55a6b5 100644 --- a/install/navidrome-install.sh +++ b/install/navidrome-install.sh @@ -18,10 +18,10 @@ $STD apt-get install -y ffmpeg msg_ok "Installed Dependencies" msg_info "Installing Navidrome" -RELEASE=$(curl -s https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') install -d -o root -g root /opt/navidrome install -d -o root -g root /var/lib/navidrome -wget -q https://github.com/navidrome/navidrome/releases/download/v${RELEASE}/navidrome_${RELEASE}_linux_amd64.tar.gz -O Navidrome.tar.gz +curl -fsSL "https://github.com/navidrome/navidrome/releases/download/v${RELEASE}/navidrome_${RELEASE}_linux_amd64.tar.gz" -o "Navidrome.tar.gz" $STD tar -xvzf Navidrome.tar.gz -C /opt/navidrome/ chown -R root:root /opt/navidrome chmod +x /opt/navidrome/navidrome diff --git a/install/neo4j-install.sh b/install/neo4j-install.sh index fdc0c1c17..acbe5ec16 100644 --- a/install/neo4j-install.sh +++ b/install/neo4j-install.sh @@ -19,7 +19,7 @@ $STD apt-get install -y gpg msg_ok "Installed Dependencies" msg_info "Installing Neo4j (patience)" -wget -qO- https://debian.neo4j.com/neotechnology.gpg.key | gpg --dearmor -o /etc/apt/keyrings/neotechnology.gpg +curl -fsSL "https://debian.neo4j.com/neotechnology.gpg.key" | gpg --dearmor -o /etc/apt/keyrings/neotechnology.gpg echo 'deb [signed-by=/etc/apt/keyrings/neotechnology.gpg] https://debian.neo4j.com stable latest' >/etc/apt/sources.list.d/neo4j.list $STD apt-get update $STD apt-get install -y neo4j diff --git a/install/netbox-install.sh b/install/netbox-install.sh index 40773acd7..f9d193d7d 100644 --- a/install/netbox-install.sh +++ b/install/netbox-install.sh @@ -47,8 +47,8 @@ msg_ok "Set up PostgreSQL" msg_info "Installing NetBox (Patience)" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/netbox-community/netbox/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/netbox-community/netbox/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv /opt/netbox-${RELEASE}/ /opt/netbox diff --git a/install/nextpvr-install.sh b/install/nextpvr-install.sh index 4a4647d0e..f483521ce 100644 --- a/install/nextpvr-install.sh +++ b/install/nextpvr-install.sh @@ -29,7 +29,7 @@ msg_ok "Installed Dependencies" msg_info "Setup NextPVR (Patience)" cd /opt -wget -q https://nextpvr.com/nextpvr-helper.deb +curl -fsSL "https://nextpvr.com/nextpvr-helper.deb" -O $(basename "https://nextpvr.com/nextpvr-helper.deb") $STD dpkg -i nextpvr-helper.deb msg_ok "Installed NextPVR" diff --git a/install/nginxproxymanager-install.sh b/install/nginxproxymanager-install.sh index 8627bf159..af3414b49 100644 --- a/install/nginxproxymanager-install.sh +++ b/install/nginxproxymanager-install.sh @@ -44,7 +44,7 @@ msg_ok "Installed Python Dependencies" VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" msg_info "Installing Openresty" -wget -qO - https://openresty.org/package/pubkey.gpg | gpg --dearmor -o /etc/apt/trusted.gpg.d/openresty-archive-keyring.gpg +curl -fsSL "https://openresty.org/package/pubkey.gpg" | gpg --dearmor -o /etc/apt/trusted.gpg.d/openresty-archive-keyring.gpg echo -e "deb http://openresty.org/package/debian bullseye openresty" >/etc/apt/sources.list.d/openresty.list $STD apt-get update $STD apt-get -y install openresty @@ -61,19 +61,19 @@ msg_info "Installing pnpm" $STD npm install -g pnpm@8.15 msg_ok "Installed pnpm" -RELEASE=$(curl -s https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest | +RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') read -r -p "Would you like to install an older version (v2.10.4)? " prompt if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then msg_info "Downloading Nginx Proxy Manager v2.10.4" - wget -q https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v2.10.4 -O - | tar -xz + curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v2.10.4" -o "- | tar -xz" cd ./nginx-proxy-manager-2.10.4 msg_ok "Downloaded Nginx Proxy Manager v2.10.4" else msg_info "Downloading Nginx Proxy Manager v${RELEASE}" - wget -q https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE} -O - | tar -xz + curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE}" -o "- | tar -xz" cd ./nginx-proxy-manager-${RELEASE} msg_ok "Downloaded Nginx Proxy Manager v${RELEASE}" fi diff --git a/install/nocodb-install.sh b/install/nocodb-install.sh index 2ee8866b2..a16e05a09 100644 --- a/install/nocodb-install.sh +++ b/install/nocodb-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing NocoDB" mkdir -p /opt/nocodb cd /opt/nocodb -curl -s http://get.nocodb.com/linux-x64 -o nocodb -L +curl -fsSL http://get.nocodb.com/linux-x64 -o nocodb -L chmod +x nocodb msg_ok "Installed NocoDB" diff --git a/install/nodebb-install.sh b/install/nodebb-install.sh index 3318ede46..5d8aac035 100644 --- a/install/nodebb-install.sh +++ b/install/nodebb-install.sh @@ -86,8 +86,8 @@ msg_ok "MongoDB successfully configurated" msg_info "Install NodeBB" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/NodeBB/NodeBB/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/NodeBB/NodeBB/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv NodeBB-${RELEASE} /opt/nodebb cd /opt/nodebb diff --git a/install/notifiarr-install.sh b/install/notifiarr-install.sh index e17f66cbb..f65c60bf7 100644 --- a/install/notifiarr-install.sh +++ b/install/notifiarr-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Notifiarr" $STD groupadd notifiarr $STD useradd -g notifiarr notifiarr -wget -qO- https://packagecloud.io/golift/pkgs/gpgkey | gpg --dearmor >/usr/share/keyrings/golift-archive-keyring.gpg +curl -fsSL "https://packagecloud.io/golift/pkgs/gpgkey" | gpg --dearmor >/usr/share/keyrings/golift-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/golift-archive-keyring.gpg] https://packagecloud.io/golift/pkgs/ubuntu focal main" >/etc/apt/sources.list.d/golift.list $STD apt-get update $STD apt-get install -y notifiarr diff --git a/install/npmplus-install.sh b/install/npmplus-install.sh index 66cdc9f8f..ca15c0462 100644 --- a/install/npmplus-install.sh +++ b/install/npmplus-install.sh @@ -26,18 +26,18 @@ $STD rc-service docker start $STD rc-update add docker default get_latest_release() { - curl -sL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } DOCKER_COMPOSE_LATEST_VERSION=$(get_latest_release "docker/compose") DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins -curl -sSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose +curl -fsSLSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose msg_ok "Installed Docker & Compose" msg_info "Fetching NPMplus" cd /opt -wget -q https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml +curl -fsSL "https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml" -O $(basename "https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml") msg_ok "Fetched NPMplus" attempts=0 diff --git a/install/nxwitness-install.sh b/install/nxwitness-install.sh index c5728d430..7e1fafd97 100644 --- a/install/nxwitness-install.sh +++ b/install/nxwitness-install.sh @@ -27,10 +27,10 @@ msg_ok "Installed Dependencies" msg_info "Setup Nx Witness" cd /tmp BASE_URL="https://updates.networkoptix.com/default/index.html" -RELEASE=$(curl -s "$BASE_URL" | grep -oP '(?<=)[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?=)' | head -n 1) -DETAIL_PAGE=$(curl -s "$BASE_URL#note_$RELEASE") +RELEASE=$(curl -fsSL "$BASE_URL" | grep -oP '(?<=)[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?=)' | head -n 1) +DETAIL_PAGE=$(curl -fsSL "$BASE_URL#note_$RELEASE") DOWNLOAD_URL=$(echo "$DETAIL_PAGE" | grep -oP "https://updates.networkoptix.com/default/$RELEASE/linux/nxwitness-server-[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+-linux_x64\.deb" | head -n 1) -wget -q "$DOWNLOAD_URL" -O "nxwitness-server-$RELEASE-linux_x64.deb" +curl -fsSL "$DOWNLOAD_URL" -o ""nxwitness-server-$RELEASE-linux_x64.deb"" export DEBIAN_FRONTEND=noninteractive $STD dpkg -i nxwitness-server-$RELEASE-linux_x64.deb echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/ollama-install.sh b/install/ollama-install.sh index 296800c49..8cf97f6dd 100644 --- a/install/ollama-install.sh +++ b/install/ollama-install.sh @@ -25,8 +25,8 @@ msg_ok "Installed Dependencies" msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) -golang_tarball=$(curl -s https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -wget -q https://golang.org/dl/"$golang_tarball" -O "$temp_file" +golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) +curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" @@ -94,4 +94,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" +msg_ok "Cleaned" \ No newline at end of file diff --git a/install/omada-install.sh b/install/omada-install.sh index 78ccf8b9a..b0d9d4644 100644 --- a/install/omada-install.sh +++ b/install/omada-install.sh @@ -30,8 +30,8 @@ else fi msg_info "Installing Azul Zulu Java" -wget -qO /etc/apt/trusted.gpg.d/zulu-repo.asc "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -wget -q https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb +curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -O $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu21-jre-headless @@ -39,7 +39,7 @@ msg_ok "Installed Azul Zulu Java" msg_info "Installing libssl (if needed)" if ! dpkg -l | grep -q 'libssl1.1'; then - wget -qO /tmp/libssl.deb "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u2_amd64.deb" + curl -fsSL "https://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u2_amd64.deb" -o "/tmp/libssl.deb" $STD dpkg -i /tmp/libssl.deb rm -f /tmp/libssl.deb msg_ok "Installed libssl1.1" @@ -48,17 +48,17 @@ else fi msg_info "Installing MongoDB $MONGODB_VERSION" -wget -qO- https://www.mongodb.org/static/pgp/server-${MONGODB_VERSION}.asc | gpg --dearmor >/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg +curl -fsSL "https://www.mongodb.org/static/pgp/server-${MONGODB_VERSION}.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg echo "deb [signed-by=/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg] http://repo.mongodb.org/apt/debian $(grep '^VERSION_CODENAME=' /etc/os-release | cut -d'=' -f2)/mongodb-org/${MONGODB_VERSION} main" >/etc/apt/sources.list.d/mongodb-org-${MONGODB_VERSION}.list $STD apt-get update $STD apt-get install -y mongodb-org msg_ok "Installed MongoDB $MONGODB_VERSION" msg_info "Installing Omada Controller" -latest_url=$(curl -s "https://support.omadanetworks.com/en/download/software/omada-controller/" | grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | head -n 1) +latest_url=$(curl -fsSL "https://support.omadanetworks.com/en/download/software/omada-controller/" | grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' | head -n 1) latest_version=$(basename "$latest_url") -wget -qL ${latest_url} +curl -fsSL "${latest_url}" -O $STD dpkg -i ${latest_version} msg_ok "Installed Omada Controller" diff --git a/install/ombi-install.sh b/install/ombi-install.sh index fe1ca3378..1c466bfc3 100644 --- a/install/ombi-install.sh +++ b/install/ombi-install.sh @@ -14,8 +14,8 @@ network_check update_os msg_info "Installing Ombi" -RELEASE=$(curl -sL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) -wget -q https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz +RELEASE=$(curl -fsSLL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -O $(basename "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/ombi tar -xzf linux-x64.tar.gz -C /opt/ombi diff --git a/install/omv-install.sh b/install/omv-install.sh index 7313b3b3e..d608fc7ac 100644 --- a/install/omv-install.sh +++ b/install/omv-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y gpg msg_ok "Installed Dependencies" msg_info "Installing OpenMediaVault (Patience)" -wget -qO- https://packages.openmediavault.org/public/archive.key | gpg --dearmor >"/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.gpg" +curl -fsSL "https://packages.openmediavault.org/public/archive.key" | gpg --dearmor >"/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.gpg" cat </etc/apt/sources.list.d/openmediavault.list deb [signed-by=/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.gpg] http://packages.openmediavault.org/public sandworm main EOF diff --git a/install/onedev-install.sh b/install/onedev-install.sh index 4c92d01f2..4e7cfef5e 100644 --- a/install/onedev-install.sh +++ b/install/onedev-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Installing OneDev" cd /opt -wget -q https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz +curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -O $(basename "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz") tar -xzf onedev-latest.tar.gz mv /opt/onedev-latest /opt/onedev $STD /opt/onedev/bin/server.sh install diff --git a/install/opengist-install.sh b/install/opengist-install.sh index ce0423778..818b201e4 100644 --- a/install/opengist-install.sh +++ b/install/opengist-install.sh @@ -18,9 +18,9 @@ $STD apt-get install -y git msg_ok "Installed Dependencies" msg_info "Install Opengist" -RELEASE=$(curl -s https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -wget -q "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" +curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -O $(basename "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") $STD tar -xzf opengist${RELEASE}-linux-amd64.tar.gz mv opengist /opt/opengist chmod +x /opt/opengist/opengist diff --git a/install/openhab-install.sh b/install/openhab-install.sh index 6a7919a9c..a86b97c68 100644 --- a/install/openhab-install.sh +++ b/install/openhab-install.sh @@ -19,8 +19,8 @@ $STD apt-get install -y apt-transport-https msg_ok "Installed Dependencies" msg_info "Installing Azul Zulu21" -wget -qO /etc/apt/trusted.gpg.d/zulu-repo.asc "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -wget -q https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb +curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -O $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu21-jdk diff --git a/install/openobserve-install.sh b/install/openobserve-install.sh index 2b3634813..838afb14a 100644 --- a/install/openobserve-install.sh +++ b/install/openobserve-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing OpenObserve" mkdir -p /opt/openobserve/data -LATEST=$(curl -sL https://api.github.com/repos/openobserve/openobserve/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +LATEST=$(curl -fsSLL https://api.github.com/repos/openobserve/openobserve/releases/latest | grep '"tag_name":' | cut -d'"' -f4) $STD tar zxvf <(curl -fsSL https://github.com/openobserve/openobserve/releases/download/$LATEST/openobserve-${LATEST}-linux-amd64.tar.gz) -C /opt/openobserve cat </opt/openobserve/data/.env diff --git a/install/outline-install.sh b/install/outline-install.sh index 5ac07bcc5..236b7b14e 100644 --- a/install/outline-install.sh +++ b/install/outline-install.sh @@ -54,8 +54,8 @@ msg_ok "Set up PostgreSQL" msg_info "Setup Outline (Patience)" temp_file=$(mktemp) LOCAL_IP="$(hostname -I | awk '{print $1}')" -RELEASE=$(curl -s https://api.github.com/repos/outline/outline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/outline/outline/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/outline/outline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/outline/outline/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file mv outline-${RELEASE} /opt/outline cd /opt/outline diff --git a/install/owncast-install.sh b/install/owncast-install.sh index 76bb010ec..0a9558953 100644 --- a/install/owncast-install.sh +++ b/install/owncast-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Owncast" mkdir /opt/owncast cd /opt/owncast -wget -q $(curl -s https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4) +curl -fsSL "$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4)") $STD unzip owncast*.zip rm owncast*.zip msg_ok "Installed Owncast" diff --git a/install/paperless-ai-install.sh b/install/paperless-ai-install.sh index c9513997e..2313c312d 100644 --- a/install/paperless-ai-install.sh +++ b/install/paperless-ai-install.sh @@ -35,8 +35,8 @@ msg_ok "Installed Node.js" msg_info "Setup Paperless-AI" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/clusterzx/paperless-ai/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/clusterzx/paperless-ai/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv paperless-ai-${RELEASE} /opt/paperless-ai cd /opt/paperless-ai diff --git a/install/paperless-gpt-install.sh b/install/paperless-gpt-install.sh index f8ed8b0f3..892f93c13 100644 --- a/install/paperless-gpt-install.sh +++ b/install/paperless-gpt-install.sh @@ -38,8 +38,8 @@ msg_ok "Installed Node.js" msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) -golang_tarball=$(curl -s https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -wget -q https://golang.org/dl/"$golang_tarball" -O "$temp_file" +golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) +curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" @@ -48,8 +48,8 @@ msg_ok "Installed Golang" msg_info "Setup Paperless-GPT" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/icereed/paperless-gpt/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/icereed/paperless-gpt/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/icereed/paperless-gpt/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/icereed/paperless-gpt/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file mv paperless-gpt-${RELEASE} /opt/paperless-gpt cd /opt/paperless-gpt/web-app @@ -130,4 +130,4 @@ msg_info "Cleaning up" rm -f $temp_file $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" +msg_ok "Cleaned" \ No newline at end of file diff --git a/install/paperless-ngx-install.sh b/install/paperless-ngx-install.sh index bb96469ce..1a2bfd6e1 100644 --- a/install/paperless-ngx-install.sh +++ b/install/paperless-ngx-install.sh @@ -59,7 +59,7 @@ $STD apt-get install -y \ tesseract-ocr-eng cd /tmp -wget -q https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz +curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -O $(basename "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") $STD tar -xzf ghostscript-10.04.0.tar.gz cd ghostscript-10.04.0 $STD ./configure @@ -78,16 +78,16 @@ rm -rf /opt/jbig2enc msg_ok "Installed JBIG2" msg_info "Installing Paperless-ngx (Patience)" -Paperlessngx=$(wget -q https://github.com/paperless-ngx/paperless-ngx/releases/latest -O - | grep "title>Release" | cut -d " " -f 5) +Paperlessngx=$(curl -fsSL https://github.com/paperless-ngx/paperless-ngx/releases/latest | grep "title>Release" | cut -d " " -f 5) cd /opt -$STD wget https://github.com/paperless-ngx/paperless-ngx/releases/download/$Paperlessngx/paperless-ngx-$Paperlessngx.tar.xz +$STD curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$Paperlessngx/paperless-ngx-$Paperlessngx.tar.xz" -O $STD tar -xf paperless-ngx-$Paperlessngx.tar.xz -C /opt/ mv paperless-ngx paperless rm paperless-ngx-$Paperlessngx.tar.xz cd /opt/paperless $STD pip install --upgrade pip $STD pip install -r requirements.txt -curl -s -o /opt/paperless/paperless.conf https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/paperless.conf.example +curl -fsSL -o /opt/paperless/paperless.conf https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/paperless.conf.example mkdir -p {consume,data,media,static} sed -i -e 's|#PAPERLESS_REDIS=redis://localhost:6379|PAPERLESS_REDIS=redis://localhost:6379|' /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_CONSUMPTION_DIR=../consume|PAPERLESS_CONSUMPTION_DIR=/opt/paperless/consume|" /opt/paperless/paperless.conf diff --git a/install/part-db-install.sh b/install/part-db-install.sh index 65059d9c9..6df95697e 100644 --- a/install/part-db-install.sh +++ b/install/part-db-install.sh @@ -57,8 +57,8 @@ msg_ok "Installed Node.js/Yarn" msg_info "Installing Part-DB (Patience)" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb diff --git a/install/paymenter-install.sh b/install/paymenter-install.sh index 53c6d5a52..4649385eb 100644 --- a/install/paymenter-install.sh +++ b/install/paymenter-install.sh @@ -25,15 +25,15 @@ $STD apt-get install -y \ mariadb-server \ nginx \ redis-server -$STD curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer +$STD curl -fsSLS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer msg_ok "Installed Dependencies" msg_info "Installing Paymenter" -RELEASE=$(curl -s https://api.github.com/repos/paymenter/paymenter/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') +RELEASE=$(curl -fsSL https://api.github.com/repos/paymenter/paymenter/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/paymenter cd /opt/paymenter -wget -q "https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz" +curl -fsSL "https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz" -O $(basename "https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz") $STD tar -xzvf paymenter.tar.gz chmod -R 755 storage/* bootstrap/cache/ msg_ok "Installed Paymenter" diff --git a/install/peanut-install.sh b/install/peanut-install.sh index c77fdaa57..9601b1196 100644 --- a/install/peanut-install.sh +++ b/install/peanut-install.sh @@ -31,8 +31,8 @@ $STD apt-get install -y nut-client msg_ok "Installed NUT" msg_info "Installing Peanut" -RELEASE=$(curl -sL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4) -wget -qO peanut.tar.gz https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE} +RELEASE=$(curl -fsSLL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +curl -fsSL "https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE}" -o "peanut.tar.gz" mkdir -p /opt/peanut tar -xzf peanut.tar.gz -C /opt/peanut --strip-components 1 rm peanut.tar.gz diff --git a/install/pelican-panel-install.sh b/install/pelican-panel-install.sh index 604683bf3..73b026d48 100644 --- a/install/pelican-panel-install.sh +++ b/install/pelican-panel-install.sh @@ -23,7 +23,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Adding PHP8.3 Repository" -$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb +$STD curl -fsSLSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update @@ -53,10 +53,10 @@ $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH msg_ok "Set up MariaDB" msg_info "Installing Pelican Panel" -RELEASE=$(curl -s https://api.github.com/repos/pelican-dev/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/pelican-dev/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir /opt/pelican-panel cd /opt/pelican-panel -wget -q "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" +curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -O $(basename "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" $STD composer install --no-dev --optimize-autoloader --no-interaction $STD php artisan p:environment:setup diff --git a/install/pelican-wings-install.sh b/install/pelican-wings-install.sh index 35dfc124a..a3be87407 100644 --- a/install/pelican-wings-install.sh +++ b/install/pelican-wings-install.sh @@ -17,13 +17,13 @@ msg_info "Installing Docker" DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p $(dirname $DOCKER_CONFIG_PATH) echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json -$STD sh <(curl -sSL https://get.docker.com) +$STD sh <(curl -fsSLSL https://get.docker.com) systemctl enable -q --now docker msg_ok "Installed Docker" msg_info "Installing Pelican Wings" -RELEASE=$(curl -s https://api.github.com/repos/pelican-dev/wings/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q -O /usr/local/bin/wings "https://github.com/pelican-dev/wings/releases/download/v${RELEASE}/wings_linux_amd64" +RELEASE=$(curl -fsSL https://api.github.com/repos/pelican-dev/wings/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/pelican-dev/wings/releases/download/v${RELEASE}/wings_linux_amd64" -o "/usr/local/bin/wings" chmod u+x /usr/local/bin/wings mkdir -p /etc/pelican /var/run/wings echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/petio-install.sh b/install/petio-install.sh index 442fad5e4..faaaadc49 100644 --- a/install/petio-install.sh +++ b/install/petio-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y gnupg msg_ok "Installed Dependencies" msg_info "Installing MongoDB 4.4" -wget -qO- https://www.mongodb.org/static/pgp/server-4.4.asc | gpg --dearmor >/usr/share/keyrings/mongodb-server-4.4.gpg +curl -fsSL "https://www.mongodb.org/static/pgp/server-4.4.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-4.4.gpg # Determine OS ID OS_ID=$(grep '^ID=' /etc/os-release | cut -d'=' -f2) @@ -37,7 +37,7 @@ msg_ok "MongoDB 4.4 Installed" msg_info "Installing Petio" useradd -M --shell=/bin/false petio mkdir /opt/Petio -wget -q https://petio.tv/releases/latest -O petio-latest.zip +curl -fsSL "https://petio.tv/releases/latest" -o "petio-latest.zip" $STD unzip -q petio-latest.zip -d /opt/Petio rm -rf petio-latest.zip chown -R petio:petio /opt/Petio diff --git a/install/pf2etools-install.sh b/install/pf2etools-install.sh index f6d0f7f1e..12c0b1cb3 100644 --- a/install/pf2etools-install.sh +++ b/install/pf2etools-install.sh @@ -34,8 +34,8 @@ msg_ok "Installed Node.js" msg_info "Setup Pf2eTools" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/Pf2eToolsOrg/Pf2eTools/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/Pf2eToolsOrg/Pf2eTools/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "Pf2eTools-${RELEASE:1}" /opt/Pf2eTools cd /opt/Pf2eTools diff --git a/install/photoprism-install.sh b/install/photoprism-install.sh index 75867330f..a02ac0cb3 100644 --- a/install/photoprism-install.sh +++ b/install/photoprism-install.sh @@ -35,9 +35,9 @@ msg_info "Installing PhotoPrism (Patience)" mkdir -p /opt/photoprism/{cache,config,photos,storage,temp} mkdir -p /opt/photoprism/photos/{originals,import} mkdir -p /opt/photoprism_backups -wget -q -cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1 -LIBHEIF_URL=$(wget -q -O - "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1) -wget -q -cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1 +curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1" -O $(basename "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1") +LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1) +curl -fsSL "-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1" -O $(basename "-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1") ldconfig chmod -R 755 /opt/photoprism/photos/originals cat </opt/photoprism/config/.env diff --git a/install/phpipam-install.sh b/install/phpipam-install.sh index 60e9e0856..c9e56d74a 100644 --- a/install/phpipam-install.sh +++ b/install/phpipam-install.sh @@ -38,9 +38,9 @@ $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH msg_ok "Set up MariaDB" msg_info "Installing phpIPAM" -RELEASE=$(curl -s https://api.github.com/repos/phpipam/phpipam/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/phpipam/phpipam/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -wget -q "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" +curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -O $(basename "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") unzip -q "phpipam-v${RELEASE}.zip" mysql -u root "${DB_NAME}" /dev/null 2>&1 +curl -fsSLL https://github.com/leiweibau/Pi.Alert/raw/main/tar/pialert_latest.tar | tar xvf - -C /opt >/dev/null 2>&1 rm -rf /var/lib/ieee-data /var/www/html/index.html sed -i -e 's#^sudo cp -n /usr/share/ieee-data/.* /var/lib/ieee-data/#\# &#' -e '/^sudo mkdir -p 2_backup$/s/^/# /' -e '/^sudo cp \*.txt 2_backup$/s/^/# /' -e '/^sudo cp \*.csv 2_backup$/s/^/# /' /opt/pialert/back/update_vendors.sh mv /var/www/html/index.lighttpd.html /var/www/html/index.lighttpd.html.old diff --git a/install/pihole-install.sh b/install/pihole-install.sh index 7c65a2e96..3ea462d74 100644 --- a/install/pihole-install.sh +++ b/install/pihole-install.sh @@ -5,7 +5,7 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://pi-hole.net/ -source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors @@ -46,7 +46,7 @@ sed -i -E ' /^\s*expandHosts =/ s|=.*|= true| ' /etc/pihole/pihole.toml -cat < /etc/dnsmasq.d/01-pihole.conf +cat </etc/dnsmasq.d/01-pihole.conf server=8.8.8.8 server=8.8.4.4 EOF @@ -131,7 +131,7 @@ forward-zone: #forward-addr: 2620:fe::9@853#dns.quad9.net EOF fi -cat < /etc/dnsmasq.d/01-pihole.conf + cat </etc/dnsmasq.d/01-pihole.conf server=127.0.0.1#5335 server=8.8.8.8 server=8.8.4.4 diff --git a/install/pingvin-install.sh b/install/pingvin-install.sh index f88f25f60..3b9da5729 100644 --- a/install/pingvin-install.sh +++ b/install/pingvin-install.sh @@ -6,7 +6,7 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://stonith404.github.io/pingvin-share/introduction -source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors @@ -34,9 +34,9 @@ msg_ok "Installed Node.js" msg_info "Installing Pingvin Share (Patience)" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/stonith404/pingvin-share/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/stonith404/pingvin-share/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -wget -q "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" +curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip echo "${RELEASE}" >"/opt/pingvin_version.txt" mv pingvin-share-${RELEASE} /opt/pingvin-share @@ -50,7 +50,7 @@ $STD npm install $STD npm run build $STD pm2 start --name="pingvin-share-frontend" npm -- run start # create and enable pm2-root systemd script -$STD pm2 startup systemd +$STD pm2 startup systemd # save running pm2 processes so pingvin-share can survive reboots $STD pm2 save msg_ok "Installed Pingvin Share" diff --git a/install/plant-it-install.sh b/install/plant-it-install.sh index 8b6de905c..3bc3edf3a 100644 --- a/install/plant-it-install.sh +++ b/install/plant-it-install.sh @@ -23,7 +23,7 @@ msg_ok "Installed Dependencies" msg_info "Setting up Adoptium Repository" mkdir -p /etc/apt/keyrings -wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg +curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" >/etc/apt/sources.list.d/adoptium.list $STD apt-get update msg_ok "Set up Adoptium Repository" @@ -49,8 +49,8 @@ $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH msg_ok "Set up MariaDB" msg_info "Setup Plant-it" -RELEASE=$(curl -s https://api.github.com/repos/MDeLuise/plant-it/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar +RELEASE=$(curl -fsSL https://api.github.com/repos/MDeLuise/plant-it/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar" -O $(basename "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar") mkdir -p /opt/plant-it/{backend,frontend} mkdir -p /opt/plant-it-data mv -f server.jar /opt/plant-it/backend/server.jar @@ -80,7 +80,7 @@ CACHE_PORT=6379 EOF cd /opt/plant-it/frontend -wget -q https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz +curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz" -O $(basename "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz") tar -xzf client.tar.gz echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Setup Plant-it" diff --git a/install/plex-install.sh b/install/plex-install.sh index 22c0c738f..f0b8809ff 100644 --- a/install/plex-install.sh +++ b/install/plex-install.sh @@ -29,7 +29,7 @@ fi msg_ok "Set Up Hardware Acceleration" msg_info "Setting Up Plex Media Server Repository" -wget -qO- https://downloads.plex.tv/plex-keys/PlexSign.key >/usr/share/keyrings/PlexSign.asc +curl -fsSL https://downloads.plex.tv/plex-keys/PlexSign.key | tee /usr/share/keyrings/PlexSign.asc >/dev/null echo "deb [signed-by=/usr/share/keyrings/PlexSign.asc] https://downloads.plex.tv/repo/deb/ public main" >/etc/apt/sources.list.d/plexmediaserver.list msg_ok "Set Up Plex Media Server Repository" diff --git a/install/pocketbase-install.sh b/install/pocketbase-install.sh index 226baaa9c..f35bcf5e7 100644 --- a/install/pocketbase-install.sh +++ b/install/pocketbase-install.sh @@ -14,8 +14,8 @@ network_check update_os msg_info "Installing Pocketbase" -RELEASE="$(curl -s https://api.github.com/repos/pocketbase/pocketbase/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')" -wget -q "https://github.com/pocketbase/pocketbase/releases/download/v${RELEASE}/pocketbase_${RELEASE}_linux_amd64.zip" -O /tmp/pocketbase.zip +RELEASE="$(curl -fsSL https://api.github.com/repos/pocketbase/pocketbase/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')" +curl -fsSL "https://github.com/pocketbase/pocketbase/releases/download/v${RELEASE}/pocketbase_${RELEASE}_linux_amd64.zip" -o "/tmp/pocketbase.zip" mkdir -p /opt/pocketbase/{pb_public,pb_migrations,pb_hooks} unzip -q -o /tmp/pocketbase.zip -d /opt/pocketbase diff --git a/install/pocketid-install.sh b/install/pocketid-install.sh index df2534e73..0d75ccc72 100644 --- a/install/pocketid-install.sh +++ b/install/pocketid-install.sh @@ -34,8 +34,8 @@ msg_ok "Installed Node.js" msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) -golang_tarball=$(curl -s https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -wget -q https://golang.org/dl/"$golang_tarball" -O "$temp_file" +golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) +curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" @@ -45,8 +45,8 @@ msg_ok "Installed Golang" read -r -p "What public URL do you want to use (e.g. pocketid.mydomain.com)? " public_url msg_info "Setup Pocket ID" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/pocket-id/pocket-id/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/pocket-id/pocket-id/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv pocket-id-${RELEASE}/ /opt/pocket-id @@ -125,4 +125,4 @@ $STD apt-get -y autoclean msg_ok "Cleaned" motd_ssh -customize +customize \ No newline at end of file diff --git a/install/podman-homeassistant-install.sh b/install/podman-homeassistant-install.sh index 90cb766e8..75a0eabe1 100644 --- a/install/podman-homeassistant-install.sh +++ b/install/podman-homeassistant-install.sh @@ -14,7 +14,7 @@ network_check update_os get_latest_release() { - curl -sL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } PORTAINER_LATEST_VERSION=$(get_latest_release "portainer/portainer") diff --git a/install/podman-install.sh b/install/podman-install.sh index 1f7d5e846..b3c89d1c0 100644 --- a/install/podman-install.sh +++ b/install/podman-install.sh @@ -14,7 +14,7 @@ network_check update_os get_latest_release() { - curl -sL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } PORTAINER_LATEST_VERSION=$(get_latest_release "portainer/portainer") diff --git a/install/postgresql-install.sh b/install/postgresql-install.sh index d2eb9d317..c02a18dc0 100644 --- a/install/postgresql-install.sh +++ b/install/postgresql-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Setting up PostgreSQL Repository" VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" echo "deb http://apt.postgresql.org/pub/repos/apt ${VERSION}-pgdg main" >/etc/apt/sources.list.d/pgdg.list -curl -sSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor --output /etc/apt/trusted.gpg.d/postgresql.gpg +curl -fsSLSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor --output /etc/apt/trusted.gpg.d/postgresql.gpg msg_ok "Setup PostgreSQL Repository" msg_info "Installing PostgreSQL" diff --git a/install/privatebin-install.sh b/install/privatebin-install.sh index ddb04c091..67d4b0ce2 100644 --- a/install/privatebin-install.sh +++ b/install/privatebin-install.sh @@ -23,11 +23,11 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Installing PrivateBin" -RELEASE=$(curl -s https://api.github.com/repos/PrivateBin/PrivateBin/releases/latest | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/') +RELEASE=$(curl -fsSL https://api.github.com/repos/PrivateBin/PrivateBin/releases/latest | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/') echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/privatebin cd /opt/privatebin -wget -q "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" +curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") $STD unzip -q ${RELEASE}.zip mv PrivateBin-${RELEASE}/* . msg_ok "Installed PrivateBin" diff --git a/install/projectsend-install.sh b/install/projectsend-install.sh index c0ff45c36..3c99d3dda 100644 --- a/install/projectsend-install.sh +++ b/install/projectsend-install.sh @@ -37,9 +37,9 @@ $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH msg_ok "Set up MariaDB" msg_info "Installing projectsend" -RELEASE=$(curl -s https://api.github.com/repos/projectsend/projectsend/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/projectsend/projectsend/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -wget -q "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" +curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -O $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") mkdir projectsend unzip -q "projectsend-r${RELEASE}.zip" -d projectsend mv /opt/projectsend/includes/sys.config.sample.php /opt/projectsend/includes/sys.config.php diff --git a/install/prometheus-alertmanager-install.sh b/install/prometheus-alertmanager-install.sh index bac01b61d..7f986acb8 100755 --- a/install/prometheus-alertmanager-install.sh +++ b/install/prometheus-alertmanager-install.sh @@ -14,10 +14,10 @@ network_check update_os msg_info "Installing Prometheus Alertmanager" -RELEASE=$(curl -s https://api.github.com/repos/prometheus/alertmanager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/alertmanager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /etc/alertmanager mkdir -p /var/lib/alertmanager -wget -q https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz +curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -O $(basename "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz") tar -xf alertmanager-${RELEASE}.linux-amd64.tar.gz mv alertmanager-${RELEASE}.linux-amd64/alertmanager alertmanager-${RELEASE}.linux-amd64/amtool /usr/local/bin/ mv alertmanager-${RELEASE}.linux-amd64/alertmanager.yml /etc/alertmanager/alertmanager.yml diff --git a/install/prometheus-install.sh b/install/prometheus-install.sh index 3febc2021..9c6958941 100644 --- a/install/prometheus-install.sh +++ b/install/prometheus-install.sh @@ -14,10 +14,10 @@ network_check update_os msg_info "Installing Prometheus" -RELEASE=$(curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/prometheus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /etc/prometheus mkdir -p /var/lib/prometheus -wget -q https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz +curl -fsSL "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz" -O $(basename "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz") tar -xf prometheus-${RELEASE}.linux-amd64.tar.gz mv prometheus-${RELEASE}.linux-amd64/prometheus prometheus-${RELEASE}.linux-amd64/promtool /usr/local/bin/ mv prometheus-${RELEASE}.linux-amd64/prometheus.yml /etc/prometheus/prometheus.yml diff --git a/install/prometheus-paperless-ngx-exporter-install.sh b/install/prometheus-paperless-ngx-exporter-install.sh index a5c6f1163..7ccb8b235 100755 --- a/install/prometheus-paperless-ngx-exporter-install.sh +++ b/install/prometheus-paperless-ngx-exporter-install.sh @@ -14,8 +14,8 @@ network_check update_os msg_info "Installing Prometheus Paperless NGX Exporter" -RELEASE=$(curl -s https://api.github.com/repos/hansmi/prometheus-paperless-exporter/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz +RELEASE=$(curl -fsSL https://api.github.com/repos/hansmi/prometheus-paperless-exporter/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz") tar -xf prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz mv prometheus-paperless-exporter_${RELEASE}_linux_amd64/prometheus-paperless-exporter /usr/local/bin/ mkdir -p /etc/prometheus-paperless-ngx-exporter diff --git a/install/prowlarr-install.sh b/install/prowlarr-install.sh index 8a7ed4cb0..8aee8cc3c 100644 --- a/install/prowlarr-install.sh +++ b/install/prowlarr-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Prowlarr" mkdir -p /var/lib/prowlarr/ chmod 775 /var/lib/prowlarr/ -$STD wget --content-disposition 'https://prowlarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' +$STD curl -fJL 'https://prowlarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' $STD tar -xvzf Prowlarr.master.*.tar.gz mv Prowlarr /opt chmod 775 /opt/Prowlarr diff --git a/install/proxmox-backup-server-install.sh b/install/proxmox-backup-server-install.sh index 91bb8b995..2641a1ed9 100644 --- a/install/proxmox-backup-server-install.sh +++ b/install/proxmox-backup-server-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y gpg msg_ok "Installed Dependencies" msg_info "Installing Proxmox Backup Server" -wget -q https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg +curl -fsSL "https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg" -o "/etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg" cat <>/etc/apt/sources.list deb http://download.proxmox.com/debian/pbs bookworm pbs-no-subscription EOF diff --git a/install/proxmox-mail-gateway-install.sh b/install/proxmox-mail-gateway-install.sh index e16e25f50..bc2708ef2 100644 --- a/install/proxmox-mail-gateway-install.sh +++ b/install/proxmox-mail-gateway-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Proxmox Mail Gateway" -wget -q https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg +curl -fsSL "https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg" -o "/etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg" echo "deb http://download.proxmox.com/debian/pmg bookworm pmg-no-subscription" >/etc/apt/sources.list.d/pmg.list $STD apt-get update $STD apt-get -y install proxmox-mailgateway-container diff --git a/install/ps5-mqtt-install.sh b/install/ps5-mqtt-install.sh index 3dd055f98..496f3d9c7 100644 --- a/install/ps5-mqtt-install.sh +++ b/install/ps5-mqtt-install.sh @@ -33,8 +33,8 @@ $STD npm i -g playactor msg_ok "Installed Node.js" msg_info "Installing PS5-MQTT" -RELEASE=$(curl -s https://api.github.com/repos/FunkeyFlo/ps5-mqtt/releases/latest | jq -r '.tag_name') -wget -P /tmp -q https://github.com/FunkeyFlo/ps5-mqtt/archive/refs/tags/${RELEASE}.tar.gz +RELEASE=$(curl -fsSL https://api.github.com/repos/FunkeyFlo/ps5-mqtt/releases/latest | jq -r '.tag_name') +curl -fsSL https://github.com/FunkeyFlo/ps5-mqtt/archive/refs/tags/${RELEASE}.tar.gz -o /tmp/${RELEASE}.tar.gz tar zxf /tmp/${RELEASE}.tar.gz -C /opt mv /opt/ps5-mqtt-* /opt/ps5-mqtt cd /opt/ps5-mqtt/ps5-mqtt/ diff --git a/install/pterodactyl-panel-install.sh b/install/pterodactyl-panel-install.sh index 89e75298f..6cf0103f8 100644 --- a/install/pterodactyl-panel-install.sh +++ b/install/pterodactyl-panel-install.sh @@ -24,7 +24,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Adding PHP8.3 Repository" -$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb +$STD curl -fsSLSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update @@ -58,10 +58,10 @@ read -p "Enter your First Name: " NAME_FIRST read -p "Enter your Last Name: " NAME_LAST msg_info "Installing pterodactyl Panel" -RELEASE=$(curl -s https://api.github.com/repos/pterodactyl/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/pterodactyl/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir /opt/pterodactyl-panel cd /opt/pterodactyl-panel -wget -q "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" +curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -O $(basename "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" cp .env.example .env IP=$(hostname -I | awk '{print $1}') diff --git a/install/pterodactyl-wings-install.sh b/install/pterodactyl-wings-install.sh index 9eeceb16f..a289caf98 100644 --- a/install/pterodactyl-wings-install.sh +++ b/install/pterodactyl-wings-install.sh @@ -17,13 +17,13 @@ msg_info "Installing Docker" DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p $(dirname $DOCKER_CONFIG_PATH) echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json -$STD sh <(curl -sSL https://get.docker.com) +$STD sh <(curl -fsSLSL https://get.docker.com) systemctl enable -q --now docker msg_ok "Installed Docker" msg_info "Installing Pterodactyl Wings" -RELEASE=$(curl -s https://api.github.com/repos/pterodactyl/wings/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q -O /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/download/v${RELEASE}/wings_linux_amd64" +RELEASE=$(curl -fsSL https://api.github.com/repos/pterodactyl/wings/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/pterodactyl/wings/releases/download/v${RELEASE}/wings_linux_amd64" -o "/usr/local/bin/wings" chmod u+x /usr/local/bin/wings mkdir -p /etc/pterodactyl echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/qbittorrent-install.sh b/install/qbittorrent-install.sh index d4d5abf25..f1e68aba0 100644 --- a/install/qbittorrent-install.sh +++ b/install/qbittorrent-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Setup qBittorrent-nox" -FULLRELEASE=$(curl -s https://api.github.com/repos/userdocs/qbittorrent-nox-static/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +FULLRELEASE=$(curl -fsSL https://api.github.com/repos/userdocs/qbittorrent-nox-static/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') RELEASE=$(echo $FULLRELEASE | cut -c 9-13) mkdir -p /opt/qbittorrent curl -fsSL "https://github.com/userdocs/qbittorrent-nox-static/releases/download/${FULLRELEASE}/x86_64-qbittorrent-nox" -o /opt/qbittorrent/qbittorrent-nox diff --git a/install/rabbitmq-install.sh b/install/rabbitmq-install.sh index 3a0bb86e1..513b744ac 100644 --- a/install/rabbitmq-install.sh +++ b/install/rabbitmq-install.sh @@ -23,9 +23,9 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Adding RabbitMQ signing key" -wget -qO- "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | gpg --dearmor >/usr/share/keyrings/com.rabbitmq.team.gpg -wget -qO- "https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key" | gpg --dearmor >/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg -wget -qO- "https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key" | gpg --dearmor >/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg +curl -fsSL "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | gpg --dearmor >/usr/share/keyrings/com.rabbitmq.team.gpg +curl -fsSL "https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-erlang.E495BB49CC4BBE5B.key" | gpg --dearmor >/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg +curl -fsSL "https://github.com/rabbitmq/signing-keys/releases/download/3.0/cloudsmith.rabbitmq-server.9F4587F226208342.key" | gpg --dearmor >/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg msg_ok "Signing keys added" msg_info "Adding RabbitMQ repository" diff --git a/install/radarr-install.sh b/install/radarr-install.sh index 90758dc98..e9475fb4c 100644 --- a/install/radarr-install.sh +++ b/install/radarr-install.sh @@ -5,7 +5,7 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://radarr.video/ -source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Radarr" mkdir -p /var/lib/radarr/ chmod 775 /var/lib/radarr/ -$STD wget --content-disposition 'https://radarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' +$STD curl -fJL 'https://radarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' $STD tar -xvzf Radarr.master.*.tar.gz mv Radarr /opt chmod 775 /opt/Radarr diff --git a/install/radicale-install.sh b/install/radicale-install.sh index ab6080059..bed34b116 100644 --- a/install/radicale-install.sh +++ b/install/radicale-install.sh @@ -27,10 +27,10 @@ $STD python3 -m pip install --upgrade https://github.com/Kozea/Radicale/archive/ RNDPASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) $STD htpasswd -c -b -5 /opt/radicale/users admin $RNDPASS { -echo "Radicale Credentials" -echo "Admin User: admin" -echo "Admin Password: $RNDPASS" -} >> ~/radicale.creds + echo "Radicale Credentials" + echo "Admin User: admin" + echo "Admin Password: $RNDPASS" +} >>~/radicale.creds msg_ok "Done setting up Radicale" msg_info "Setup Service" @@ -67,4 +67,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" \ No newline at end of file +msg_ok "Cleaned" diff --git a/install/rdtclient-install.sh b/install/rdtclient-install.sh index a731517d5..4c5ce3ce9 100644 --- a/install/rdtclient-install.sh +++ b/install/rdtclient-install.sh @@ -5,7 +5,7 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/rogerfar/rdt-client -source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing ASP.NET Core Runtime" -wget -q https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb +curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -O $(basename "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb") $STD dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb $STD apt-get update @@ -22,7 +22,7 @@ $STD apt-get install -y dotnet-sdk-9.0 msg_ok "Installed ASP.NET Core Runtime" msg_info "Installing rdtclient" -wget -q https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip +curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -O $(basename "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") unzip -qq RealDebridClient.zip -d /opt/rdtc rm RealDebridClient.zip cd /opt/rdtc diff --git a/install/readarr-install.sh b/install/readarr-install.sh index 41e825a19..500eb663b 100644 --- a/install/readarr-install.sh +++ b/install/readarr-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Readarr" mkdir -p /var/lib/readarr/ chmod 775 /var/lib/readarr/ -$STD wget --content-disposition 'https://readarr.servarr.com/v1/update/develop/updatefile?os=linux&runtime=netcore&arch=x64' +$STD curl -fJL 'https://readarr.servarr.com/v1/update/develop/updatefile?os=linux&runtime=netcore&arch=x64' $STD tar -xvzf Readarr.develop.*.tar.gz mv Readarr /opt chmod 775 /opt/Readarr diff --git a/install/readeck-install.sh b/install/readeck-install.sh index f633e7429..edc3b5503 100644 --- a/install/readeck-install.sh +++ b/install/readeck-install.sh @@ -14,10 +14,10 @@ network_check update_os msg_info "Installing Readeck" -LATEST=$(curl -s https://codeberg.org/readeck/readeck/releases/ | grep -oP '(?<=Version )\d+\.\d+\.\d+' | head -1) +LATEST=$(curl -fsSL https://codeberg.org/readeck/readeck/releases/ | grep -oP '(?<=Version )\d+\.\d+\.\d+' | head -1) mkdir -p /opt/readeck cd /opt/readeck -wget -q -O readeck https://codeberg.org/readeck/readeck/releases/download/${LATEST}/readeck-${LATEST}-linux-amd64 +curl -fsSL "https://codeberg.org/readeck/readeck/releases/download/${LATEST}/readeck-${LATEST}-linux-amd64" -o "readeck" chmod a+x readeck msg_ok "Installed Readeck" diff --git a/install/recyclarr-install.sh b/install/recyclarr-install.sh index b93a4118e..4957feb83 100644 --- a/install/recyclarr-install.sh +++ b/install/recyclarr-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y git msg_ok "Installed Dependencies" msg_info "Installing Recyclarr" -wget -q $(curl -s https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4) +curl -fsSL "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)") tar -C /usr/local/bin -xJf recyclarr*.tar.xz mkdir -p /root/.config/recyclarr recyclarr config create diff --git a/install/redis-install.sh b/install/redis-install.sh index 52ccce087..15389fba3 100644 --- a/install/redis-install.sh +++ b/install/redis-install.sh @@ -20,7 +20,7 @@ $STD apt-get install -y lsb-release msg_ok "Installed Dependencies" msg_info "Installing Redis" -wget -qO- https://packages.redis.io/gpg | gpg --dearmor >/usr/share/keyrings/redis-archive-keyring.gpg +curl -fsSL "https://packages.redis.io/gpg" | gpg --dearmor >/usr/share/keyrings/redis-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" >/etc/apt/sources.list.d/redis.list $STD apt-get update $STD apt-get install -y redis diff --git a/install/revealjs-install.sh b/install/revealjs-install.sh index 161c86313..e234bcc00 100644 --- a/install/revealjs-install.sh +++ b/install/revealjs-install.sh @@ -30,8 +30,8 @@ msg_ok "Setup Node.js" msg_info "Setup ${APPLICATION}" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/hakimel/reveal.js/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q "https://github.com/hakimel/reveal.js/archive/refs/tags/${RELEASE}.tar.gz" -O $temp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/hakimel/reveal.js/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/hakimel/reveal.js/archive/refs/tags/${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file mv reveal.js-${RELEASE}/ /opt/revealjs cd /opt/revealjs diff --git a/install/rtsptoweb-install.sh b/install/rtsptoweb-install.sh index 14ca51ae4..e096231df 100644 --- a/install/rtsptoweb-install.sh +++ b/install/rtsptoweb-install.sh @@ -20,8 +20,8 @@ msg_ok "Installed Dependencies" msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) -golang_tarball=$(curl -s https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -wget -q https://golang.org/dl/"$golang_tarball" -O "$temp_file" +golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) +curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" @@ -59,4 +59,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" +msg_ok "Cleaned" \ No newline at end of file diff --git a/install/runtipi-install.sh b/install/runtipi-install.sh index 5c137d4a5..94ca2348a 100644 --- a/install/runtipi-install.sh +++ b/install/runtipi-install.sh @@ -18,7 +18,7 @@ DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p "$(dirname "$DOCKER_CONFIG_PATH")" echo -e '{\n "log-driver": "journald"\n}' >"$DOCKER_CONFIG_PATH" cd /opt -wget -q https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh +curl -fsSL "https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh" -O $(basename "https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh") chmod +x install.sh $STD ./install.sh chmod 666 /opt/runtipi/state/settings.json diff --git a/install/rustdeskserver-install.sh b/install/rustdeskserver-install.sh index 7d473954e..80c61d006 100644 --- a/install/rustdeskserver-install.sh +++ b/install/rustdeskserver-install.sh @@ -14,11 +14,11 @@ network_check update_os msg_info "Setup RustDesk" -RELEASE=$(curl -s https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') TEMPDIR=$(mktemp -d) -wget -q "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR -wget -q "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR -wget -q "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR" -O $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR" -O $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR" -O $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR") $STD dpkg -i $TEMPDIR/*.deb echo "${RELEASE}" >/opt/rustdesk.txt msg_ok "Setup RustDesk" @@ -30,4 +30,4 @@ msg_info "Cleaning up" rm -rf $TEMPDIR $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" +msg_ok "Cleaned" \ No newline at end of file diff --git a/install/sabnzbd-install.sh b/install/sabnzbd-install.sh index 0895886b5..d838b6a5e 100644 --- a/install/sabnzbd-install.sh +++ b/install/sabnzbd-install.sh @@ -33,7 +33,7 @@ rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED msg_ok "Setup Python3" msg_info "Installing SABnzbd" -RELEASE=$(curl -s https://api.github.com/repos/sabnzbd/sabnzbd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/sabnzbd/sabnzbd/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') $STD tar zxvf <(curl -fsSL https://github.com/sabnzbd/sabnzbd/releases/download/$RELEASE/SABnzbd-${RELEASE}-src.tar.gz) mv SABnzbd-${RELEASE} /opt/sabnzbd cd /opt/sabnzbd diff --git a/install/seafile-install.sh b/install/seafile-install.sh index 81caf8e09..2e0a352ca 100644 --- a/install/seafile-install.sh +++ b/install/seafile-install.sh @@ -89,7 +89,7 @@ useradd seafile mkdir -p /home/seafile chown seafile: /home/seafile chown seafile: /opt/seafile -$STD su - seafile -c "wget -qc https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_11.0.13_x86-64.tar.gz" +$STD su - seafile -c "curl -fsSL https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_11.0.13_x86-64.tar.gz -O" $STD su - seafile -c "tar -xzf seafile-server_11.0.13_x86-64.tar.gz -C /opt/seafile/" $STD su - seafile -c "expect </usr/share/keyrings/ansible-archive-keyring.gpg +curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?fingerprint=on&op=get&search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367" | gpg --dearmour >/usr/share/keyrings/ansible-archive-keyring.gpg cat </etc/apt/sources.list.d/ansible.list deb [signed-by=/usr/share/keyrings/ansible-archive-keyring.gpg] http://ppa.launchpad.net/ansible/ansible/ubuntu jammy main EOF @@ -27,10 +27,10 @@ $STD apt install -y ansible msg_ok "Installed Dependencies" msg_info "Setup Semaphore" -RELEASE=$(curl -s https://api.github.com/repos/semaphoreui/semaphore/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/semaphoreui/semaphore/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /opt/semaphore cd /opt/semaphore -wget -q https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb +curl -fsSL "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb" -O $(basename "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb") $STD dpkg -i semaphore_${RELEASE}_linux_amd64.deb SEM_HASH=$(openssl rand -base64 32) diff --git a/install/sftpgo-install.sh b/install/sftpgo-install.sh index 6cb8ed2ae..c0b0fc188 100644 --- a/install/sftpgo-install.sh +++ b/install/sftpgo-install.sh @@ -21,8 +21,8 @@ msg_ok "Installed Dependencies" msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) -golang_tarball=$(curl -s https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -wget -q https://golang.org/dl/"$golang_tarball" -O "$temp_file" +golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) +curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" @@ -30,7 +30,7 @@ set -o pipefail msg_ok "Installed Golang" msg_info "Installing SFTPGo" -curl -sS https://ftp.osuosl.org/pub/sftpgo/apt/gpg.key | gpg --dearmor -o /usr/share/keyrings/sftpgo-archive-keyring.gpg +curl -fsSLS https://ftp.osuosl.org/pub/sftpgo/apt/gpg.key | gpg --dearmor -o /usr/share/keyrings/sftpgo-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/sftpgo-archive-keyring.gpg] https://ftp.osuosl.org/pub/sftpgo/apt bookworm main" >/etc/apt/sources.list.d/sftpgo.list $STD apt-get update $STD apt-get install -y sftpgo @@ -42,4 +42,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" +msg_ok "Cleaned" \ No newline at end of file diff --git a/install/silverbullet-install.sh b/install/silverbullet-install.sh index 3d3d302e4..424b74f86 100644 --- a/install/silverbullet-install.sh +++ b/install/silverbullet-install.sh @@ -5,7 +5,7 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://silverbullet.md -source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors @@ -14,9 +14,9 @@ network_check update_os msg_info "Installing Silverbullet" -RELEASE=$(curl -s https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') mkdir -p /opt/silverbullet/bin /opt/silverbullet/space -wget -q https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip +curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -O $(basename "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") unzip -oq -d /opt/silverbullet/bin/ silverbullet-server-linux-x86_64.zip chmod +x /opt/silverbullet/bin/silverbullet echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/snipeit-install.sh b/install/snipeit-install.sh index b6be70827..8df86daf7 100644 --- a/install/snipeit-install.sh +++ b/install/snipeit-install.sh @@ -39,8 +39,8 @@ msg_ok "Set up database" msg_info "Installing Snipe-IT" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/snipe/snipe-it/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.tar.gz" -O $temp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/snipe/snipe-it/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar zxf $temp_file mv snipe-it-${RELEASE} /opt/snipe-it cd /opt/snipe-it diff --git a/install/sonarr-install.sh b/install/sonarr-install.sh index b41217dcb..d0c6708f1 100644 --- a/install/sonarr-install.sh +++ b/install/sonarr-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Sonarr v4" mkdir -p /var/lib/sonarr/ chmod 775 /var/lib/sonarr/ -wget -q -O SonarrV4.tar.gz 'https://services.sonarr.tv/v1/download/main/latest?version=4&os=linux&arch=x64' +curl -fsSL "'https://services.sonarr.tv/v1/download/main/latest?version=4&os=linux&arch=x64'" -o "SonarrV4.tar.gz" tar -xzf SonarrV4.tar.gz mv Sonarr /opt rm -rf SonarrV4.tar.gz diff --git a/install/spoolman-install.sh b/install/spoolman-install.sh index 49f7fc700..f4fa4b2be 100644 --- a/install/spoolman-install.sh +++ b/install/spoolman-install.sh @@ -32,14 +32,14 @@ $STD apt-get install -y \ msg_ok "Setup Python3" msg_info "Installing Spoolman" -RELEASE=$(wget -q https://github.com/Donkie/Spoolman/releases/latest -O - | grep "title>Release" | cut -d " " -f 4) +RELEASE=$(curl -fsSL https://github.com/Donkie/Spoolman/releases/latest | grep "title>Release" | cut -d " " -f 4) cd /opt -wget -q https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip +curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip" -O $(basename "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip") unzip -q spoolman.zip -d spoolman rm -rf spoolman.zip cd spoolman $STD pip3 install -r requirements.txt -wget -q https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example -O .env +curl -fsSL "https://raw.githubusercontent.com/Donkie/Spoolman/master/.env.example" -o ".env" echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Spoolman" diff --git a/install/sqlserver2022-install.sh b/install/sqlserver2022-install.sh index 9860ddb17..ef7b39582 100644 --- a/install/sqlserver2022-install.sh +++ b/install/sqlserver2022-install.sh @@ -20,8 +20,8 @@ $STD apt install -y \ msg_ok "Installed Dependencies" msg_info "Setup SQL Server 2022" -curl -s https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc > /dev/null -curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | tee /etc/apt/sources.list.d/mssql-server-2022.list > /dev/null +curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc >/dev/null +curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | tee /etc/apt/sources.list.d/mssql-server-2022.list >/dev/null $STD apt-get update -y $STD apt-get install -y mssql-server msg_ok "Setup Server 2022" @@ -29,8 +29,8 @@ msg_ok "Setup Server 2022" msg_info "Installing SQL Server Tools" export DEBIAN_FRONTEND=noninteractive export ACCEPT_EULA=Y -curl -s https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc > /dev/null -curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/prod.list | tee /etc/apt/sources.list.d/mssql-release.list > /dev/null +curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | tee /etc/apt/trusted.gpg.d/microsoft.asc >/dev/null +curl -fsSL https://packages.microsoft.com/config/ubuntu/22.04/prod.list | tee /etc/apt/sources.list.d/mssql-release.list >/dev/null $STD apt-get update $STD apt-get install -y -qq \ mssql-tools18 \ diff --git a/install/stirling-pdf-install.sh b/install/stirling-pdf-install.sh index 2af620c44..ab99f73f4 100644 --- a/install/stirling-pdf-install.sh +++ b/install/stirling-pdf-install.sh @@ -54,8 +54,8 @@ $STD pip3 install \ msg_ok "Installed Python Dependencies" msg_info "Installing Azul Zulu" -wget -qO /etc/apt/trusted.gpg.d/zulu-repo.asc "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -wget -q https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb +curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -O $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu17-jdk @@ -75,8 +75,8 @@ $STD apt-get install -y 'tesseract-ocr-*' msg_ok "Installed Language Packs" msg_info "Installing Stirling-PDF (Additional Patience)" -RELEASE=$(curl -s https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz +RELEASE=$(curl -fsSL https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz cd Stirling-PDF-$RELEASE chmod +x ./gradlew diff --git a/install/suwayomiserver-install.sh b/install/suwayomiserver-install.sh index f432597d3..3ca7be1c9 100644 --- a/install/suwayomiserver-install.sh +++ b/install/suwayomiserver-install.sh @@ -20,9 +20,9 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Settting up Suwayomi-Server" -URL=$(curl -s https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "browser_download_url" | awk '{print substr($2, 2, length($2)-2) }' | tail -n+2 | head -n 1) -RELEASE=$(curl -s https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q $URL +URL=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "browser_download_url" | awk '{print substr($2, 2, length($2)-2) }' | tail -n+2 | head -n 1) +RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "$URL" -O $(basename "$URL") $STD dpkg -i *.deb echo ${RELEASE} >/opt/suwayomi-server_version.txt msg_ok "Done setting up Suwayomi-Server" diff --git a/install/syncthing-install.sh b/install/syncthing-install.sh index e0d8e32a8..b55a6e6d3 100644 --- a/install/syncthing-install.sh +++ b/install/syncthing-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y gnupg msg_ok "Installed Dependencies" msg_info "Installing Syncthing" -curl -sL -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg +curl -fsSLL -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg sh -c 'echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" > /etc/apt/sources.list.d/syncthing.list' $STD apt-get update $STD apt-get install -y syncthing diff --git a/install/tandoor-install.sh b/install/tandoor-install.sh index ea09d35ef..9a8facdf9 100644 --- a/install/tandoor-install.sh +++ b/install/tandoor-install.sh @@ -61,7 +61,7 @@ $STD pip3 install -r /opt/tandoor/requirements.txt cd /opt/tandoor/vue $STD yarn install $STD yarn build -wget -q https://raw.githubusercontent.com/TandoorRecipes/recipes/develop/.env.template -O /opt/tandoor/.env +curl -fsSL "https://raw.githubusercontent.com/TandoorRecipes/recipes/develop/.env.template" -o "/opt/tandoor/.env" DB_NAME=db_recipes DB_USER=tandoor DB_ENCODING=utf8 diff --git a/install/tasmoadmin-install.sh b/install/tasmoadmin-install.sh index 6b72f8537..40c35e8da 100644 --- a/install/tasmoadmin-install.sh +++ b/install/tasmoadmin-install.sh @@ -25,7 +25,7 @@ $STD apt-get install -y git msg_ok "Installed Dependencies" msg_info "Installing TasmoAdmin" -wget -q https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz +curl -fsSL "https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz" -O $(basename "https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz") tar -xzf tasmoadmin_v3.1.1.tar.gz -C /var/www/ rm -rf tasmoadmin_v3.1.1.tar.gz /etc/php/8.2/apache2/conf.d/10-opcache.ini chown -R www-data:www-data /var/www/tasmoadmin diff --git a/install/tasmocompiler-install.sh b/install/tasmocompiler-install.sh index e15b16847..2ff43218c 100644 --- a/install/tasmocompiler-install.sh +++ b/install/tasmocompiler-install.sh @@ -39,8 +39,8 @@ msg_ok "Setup Platformio" msg_info "Setup TasmoCompiler" mkdir /tmp/Tasmota -RELEASE=$(curl -s https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz -O /tmp/v${RELEASE}.tar.gz +RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -o "/tmp/v${RELEASE}.tar.gz" cd /tmp tar xzf /tmp/v${RELEASE}.tar.gz mv tasmocompiler-${RELEASE}/ /opt/tasmocompiler/ diff --git a/install/tdarr-install.sh b/install/tdarr-install.sh index ef67547fa..87c81f779 100644 --- a/install/tdarr-install.sh +++ b/install/tdarr-install.sh @@ -31,8 +31,8 @@ msg_ok "Set Up Hardware Acceleration" msg_info "Installing Tdarr" mkdir -p /opt/tdarr cd /opt/tdarr -RELEASE=$(curl -s https://f000.backblazeb2.com/file/tdarrs/versions.json | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1) -wget -q $RELEASE +RELEASE=$(curl -fsSL https://f000.backblazeb2.com/file/tdarrs/versions.json | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1) +curl -fsSL "$RELEASE" -O $(basename "$RELEASE") $STD unzip Tdarr_Updater.zip rm -rf Tdarr_Updater.zip chmod +x Tdarr_Updater diff --git a/install/technitiumdns-install.sh b/install/technitiumdns-install.sh index 1cb00b242..846ffa64c 100644 --- a/install/technitiumdns-install.sh +++ b/install/technitiumdns-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing ASP.NET Core Runtime" -wget -q https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb +curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -o "packages-microsoft-prod.deb" $STD dpkg -i packages-microsoft-prod.deb rm -rf packages-microsoft-prod.deb $STD apt-get update diff --git a/install/teddycloud-install.sh b/install/teddycloud-install.sh index ac9485360..85500c8cf 100644 --- a/install/teddycloud-install.sh +++ b/install/teddycloud-install.sh @@ -21,9 +21,9 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Installing TeddyCloud" -RELEASE="$(curl -s https://api.github.com/repos/toniebox-reverse-engineering/teddycloud/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')" +RELEASE="$(curl -fsSL https://api.github.com/repos/toniebox-reverse-engineering/teddycloud/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')" VERSION="${RELEASE#tc_v}" -wget -q "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" +curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -O $(basename "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") unzip -q -d "/opt/teddycloud-${VERSION}" "teddycloud.amd64.release_v${VERSION}.zip" ln -fns "/opt/teddycloud-${VERSION}" /opt/teddycloud rm -rf teddycloud.amd64.release_v${VERSION}.zip diff --git a/install/the-lounge-install.sh b/install/the-lounge-install.sh index 5c54c0723..80bf8b5ea 100644 --- a/install/the-lounge-install.sh +++ b/install/the-lounge-install.sh @@ -34,8 +34,8 @@ msg_ok "Installed Node.js" msg_info "Installing The Lounge" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/thelounge/thelounge-deb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb +RELEASE=$(curl -fsSL https://api.github.com/repos/thelounge/thelounge-deb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb" -O $(basename "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb") $STD dpkg -i ./thelounge_${RELEASE}_all.deb echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Installed The Lounge" diff --git a/install/threadfin-install.sh b/install/threadfin-install.sh index 98619fc6f..7d333a106 100644 --- a/install/threadfin-install.sh +++ b/install/threadfin-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Threadfin" mkdir -p /opt/threadfin -wget -q -O /opt/threadfin/threadfin 'https://github.com/Threadfin/Threadfin/releases/latest/download/Threadfin_linux_amd64' +curl -fsSL "'https://github.com/Threadfin/Threadfin/releases/latest/download/Threadfin_linux_amd64'" -o "/opt/threadfin/threadfin" chmod +x /opt/threadfin/threadfin msg_ok "Installed Threadfin" diff --git a/install/tianji-install.sh b/install/tianji-install.sh index 4cc78127a..6f18cd0ec 100644 --- a/install/tianji-install.sh +++ b/install/tianji-install.sh @@ -56,8 +56,8 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Tianji (Extreme Patience)" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/msgbyte/tianji/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/msgbyte/tianji/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv tianji-${RELEASE} /opt/tianji cd tianji diff --git a/install/traccar-install.sh b/install/traccar-install.sh index d7c61263c..f465729ee 100644 --- a/install/traccar-install.sh +++ b/install/traccar-install.sh @@ -13,9 +13,9 @@ setting_up_container network_check update_os -RELEASE=$(curl -s https://api.github.com/repos/traccar/traccar/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/traccar/traccar/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing Traccar v${RELEASE}" -wget -q https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip +curl -fsSL "https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip" -O $(basename "https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip") $STD unzip traccar-linux-64-${RELEASE}.zip $STD ./traccar.run systemctl enable -q --now traccar diff --git a/install/traefik-install.sh b/install/traefik-install.sh index 1873f5b42..f451364c5 100644 --- a/install/traefik-install.sh +++ b/install/traefik-install.sh @@ -18,10 +18,10 @@ $STD apt-get install -y gpg $STD apt-get install -y apt-transport-https msg_ok "Installed Dependencies" -RELEASE=$(curl -s https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1) +RELEASE=$(curl -fsSL https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1) msg_info "Installing Traefik v${RELEASE}" mkdir -p /etc/traefik/{conf.d,ssl} -wget -q https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz +curl -fsSL "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz") tar -C /tmp -xzf traefik*.tar.gz mv /tmp/traefik /usr/bin/ rm -rf traefik*.tar.gz diff --git a/install/trilium-install.sh b/install/trilium-install.sh index 234f25cff..d50080713 100644 --- a/install/trilium-install.sh +++ b/install/trilium-install.sh @@ -15,8 +15,8 @@ update_os msg_info "Setup TriliumNext" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz +RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -O $(basename "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz") tar -xf TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz mv TriliumNextNotes-Server-$RELEASE-linux-x64 /opt/trilium echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/typesense-install.sh b/install/typesense-install.sh index 6c26f397f..369d2cf94 100644 --- a/install/typesense-install.sh +++ b/install/typesense-install.sh @@ -14,9 +14,9 @@ network_check update_os msg_info "Installing TypeSense" -RELEASE=$(curl -s https://api.github.com/repos/typesense/typesense/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(curl -fsSL https://api.github.com/repos/typesense/typesense/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -wget -q https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb +curl -fsSL "https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb" -O $(basename "https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb") $STD apt install -y /opt/typesense-server-${RELEASE}-amd64.deb echo 'enable-cors = true' >>/etc/typesense/typesense-server.ini echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/umbrel-install.sh b/install/umbrel-install.sh index 198ce4439..edf457530 100644 --- a/install/umbrel-install.sh +++ b/install/umbrel-install.sh @@ -5,7 +5,7 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://umbrel.com/ -source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors @@ -16,7 +16,7 @@ update_os msg_info "Installing Umbrel (Patience)" DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p $(dirname $DOCKER_CONFIG_PATH) -echo -e '{\n "log-driver": "journald"\n}' > /etc/docker/daemon.json +echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json $STD bash <(curl -fsSL https://umbrel.sh) systemctl daemon-reload $STD systemctl enable --now umbrel-startup.service diff --git a/install/unifi-install.sh b/install/unifi-install.sh index 9b9be2a09..084b7955f 100644 --- a/install/unifi-install.sh +++ b/install/unifi-install.sh @@ -19,7 +19,7 @@ $STD apt-get install -y gnupg msg_ok "Installed Dependencies" msg_info "Installing Eclipse Temurin JRE" -wget -qO- https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg +curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg echo "deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/adoptium.gpg] https://packages.adoptium.net/artifactory/deb bookworm main" >/etc/apt/sources.list.d/adoptium.list $STD apt-get update $STD apt-get install -y temurin-17-jre @@ -29,16 +29,16 @@ if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then msg_ok "No AVX Support Detected" msg_info "Installing MongoDB 4.4" if ! dpkg -l | grep -q "libssl1.1"; then - wget -q http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb + curl -fsSL "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb" -O $(basename "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb") $STD dpkg -i libssl1.1_1.1.1n-0+deb10u6_amd64.deb fi - wget -qO- https://www.mongodb.org/static/pgp/server-4.4.asc | gpg --dearmor >/usr/share/keyrings/mongodb-server-4.4.gpg + curl -fsSL "https://www.mongodb.org/static/pgp/server-4.4.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-4.4.gpg echo "deb [signed-by=/usr/share/keyrings/mongodb-server-4.4.gpg] https://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" >/etc/apt/sources.list.d/mongodb-org-4.4.list $STD apt-get update $STD apt-get install -y mongodb-org else msg_info "Installing MongoDB 7.0" - wget -qO- https://www.mongodb.org/static/pgp/server-7.0.asc | gpg --dearmor >/usr/share/keyrings/mongodb-server-7.0.gpg + curl -fsSL "https://www.mongodb.org/static/pgp/server-7.0.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-7.0.gpg echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" >/etc/apt/sources.list.d/mongodb-org-7.0.list $STD apt-get update $STD apt-get install -y mongodb-org @@ -46,7 +46,7 @@ fi msg_ok "Installed MongoDB" msg_info "Installing UniFi Network Server" -wget -qO /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg +curl -fsSL "https://dl.ui.com/unifi/unifi-repo.gpg" -o "/etc/apt/trusted.gpg.d/unifi-repo.gpg" echo "deb [ arch=amd64 signed-by=/etc/apt/trusted.gpg.d/unifi-repo.gpg] https://www.ui.com/downloads/unifi/debian stable ubiquiti" >/etc/apt/sources.list.d/100-ubnt-unifi.list $STD apt-get update $STD apt-get install -y unifi diff --git a/install/vaultwarden-install.sh b/install/vaultwarden-install.sh index 8cdb949f7..63054754d 100644 --- a/install/vaultwarden-install.sh +++ b/install/vaultwarden-install.sh @@ -25,16 +25,16 @@ $STD apt-get -qqy install \ argon2 msg_ok "Installed Dependencies" -WEBVAULT=$(curl -s https://api.github.com/repos/dani-garcia/bw_web_builds/releases/latest | +WEBVAULT=$(curl -fsSL https://api.github.com/repos/dani-garcia/bw_web_builds/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -VAULT=$(curl -s https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest | +VAULT=$(curl -fsSL https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') msg_info "Installing Rust" -wget -qL https://sh.rustup.rs +curl -fsSL https://sh.rustup.rs -O $STD bash index.html -y --profile minimal echo 'export PATH=~/.cargo/bin:$PATH' >>~/.bashrc export PATH=~/.cargo/bin:$PATH diff --git a/install/victoriametrics-install.sh b/install/victoriametrics-install.sh index 178fcd30c..e028a4f2a 100644 --- a/install/victoriametrics-install.sh +++ b/install/victoriametrics-install.sh @@ -5,7 +5,7 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/VictoriaMetrics/VictoriaMetrics -source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors @@ -17,9 +17,9 @@ msg_info "Setup VictoriaMetrics" temp_dir=$(mktemp -d) cd $temp_dir mkdir -p /opt/victoriametrics/data -RELEASE=$(curl -s https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/victoria-metrics-linux-amd64-v${RELEASE}.tar.gz -wget -q https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v${RELEASE}/vmutils-linux-amd64-v${RELEASE}.tar.gz +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 $(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") 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/* diff --git a/install/vikunja-install.sh b/install/vikunja-install.sh index 80f375998..293962c26 100644 --- a/install/vikunja-install.sh +++ b/install/vikunja-install.sh @@ -19,8 +19,8 @@ msg_ok "Installed Dependencies" msg_info "Setup Vikunja (Patience)" cd /opt -RELEASE=$(curl -s https://dl.vikunja.io/vikunja/ | grep -oP 'href="/vikunja/\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1) -wget -q "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" +RELEASE=$(curl -fsSL https://dl.vikunja.io/vikunja/ | grep -oP 'href="/vikunja/\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1) +curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -O $(basename "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb") $STD dpkg -i vikunja-$RELEASE-amd64.deb sed -i 's|^ timezone: .*| timezone: UTC|' /etc/vikunja/config.yml sed -i 's|"./vikunja.db"|"/etc/vikunja/vikunja.db"|' /etc/vikunja/config.yml diff --git a/install/wallos-install.sh b/install/wallos-install.sh index 4884e9316..793a4ad1a 100644 --- a/install/wallos-install.sh +++ b/install/wallos-install.sh @@ -23,8 +23,8 @@ msg_ok "Installed Dependencies" msg_info "Installing Wallos (Patience)" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/ellite/Wallos/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/ellite/Wallos/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv Wallos-${RELEASE} /opt/wallos cd /opt/wallos diff --git a/install/wastebin-install.sh b/install/wastebin-install.sh index 58226b63a..407e38b95 100644 --- a/install/wastebin-install.sh +++ b/install/wastebin-install.sh @@ -15,8 +15,8 @@ update_os msg_info "Installing Wastebin" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.zip -O $temp_file +RELEASE=$(curl -fsSL https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.zip" -o "$temp_file" unzip -q $temp_file mkdir -p /opt/wastebin mv wastebin /opt/wastebin/ diff --git a/install/watcharr-install.sh b/install/watcharr-install.sh index c39d8e04c..fb046ce39 100644 --- a/install/watcharr-install.sh +++ b/install/watcharr-install.sh @@ -22,8 +22,8 @@ msg_ok "Installed Dependencies" msg_info "Setup Golang" set +o pipefail temp_file=$(mktemp) -golang_tarball=$(curl -s https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -wget -q https://golang.org/dl/"$golang_tarball" -O "$temp_file" +golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) +curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" @@ -40,8 +40,8 @@ msg_ok "Setup Node.js" msg_info "Setup Watcharr" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/sbondCo/Watcharr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/sbondCo/Watcharr/archive/refs/tags/v${RELEASE}.tar.gz" -O "$temp_file" +RELEASE=$(curl -fsSL https://api.github.com/repos/sbondCo/Watcharr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/sbondCo/Watcharr/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" tar -xzf "$temp_file" mv Watcharr-${RELEASE}/ /opt/watcharr cd /opt/watcharr @@ -87,4 +87,4 @@ msg_info "Cleaning up" rm -f "$temp_file" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" +msg_ok "Cleaned" \ No newline at end of file diff --git a/install/watchyourlan-install.sh b/install/watchyourlan-install.sh index c13cc92d3..3d81684d5 100644 --- a/install/watchyourlan-install.sh +++ b/install/watchyourlan-install.sh @@ -18,8 +18,8 @@ $STD apt-get install -y {gpg,arp-scan,ieee-data,libwww-perl} msg_ok "Installed Dependencies" msg_info "Installing WatchYourLAN" -RELEASE=$(curl -s https://api.github.com/repos/aceberg/WatchYourLAN/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d '"' -f 4) -wget -q https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb +RELEASE=$(curl -fsSL https://api.github.com/repos/aceberg/WatchYourLAN/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d '"' -f 4) +curl -fsSL "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb" -O $(basename "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb") $STD dpkg -i watchyourlan_${RELEASE}_linux_amd64.deb rm watchyourlan_${RELEASE}_linux_amd64.deb mkdir /data diff --git a/install/wavelog-install.sh b/install/wavelog-install.sh index 0b5500434..e35c05e73 100644 --- a/install/wavelog-install.sh +++ b/install/wavelog-install.sh @@ -42,8 +42,8 @@ sed -i '/upload_max_filesize/s/= .*/= 8M/' /etc/php/8.2/apache2/php.ini msg_ok "Set up PHP" msg_info "Installing Wavelog" -RELEASE=$(curl -s https://api.github.com/repos/wavelog/wavelog/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/wavelog/wavelog/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv wavelog-${RELEASE}/ /opt/wavelog chown -R www-data:www-data /opt/wavelog/ diff --git a/install/wazuh-install.sh b/install/wazuh-install.sh index ff447a6ac..989c91c6d 100644 --- a/install/wazuh-install.sh +++ b/install/wazuh-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Fetching Latest Wazuh Version" -RELEASE=$(curl -s https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '"tag_name"' | awk -F '"' '{print substr($4, 2, length($2)-4)}') +RELEASE=$(curl -fsSL https://api.github.com/repos/wazuh/wazuh/releases/latest | grep '"tag_name"' | awk -F '"' '{print substr($4, 2, length($2)-4)}') msg_ok "Latest Wazuh Version: $RELEASE" msg_info "Setup Wazuh" diff --git a/install/web-check-install.sh b/install/web-check-install.sh index ef6ad3d14..c2d1bd5e4 100644 --- a/install/web-check-install.sh +++ b/install/web-check-install.sh @@ -71,7 +71,7 @@ msg_ok "Setup Chromium" msg_info "Installing Web-Check (Patience)" temp_file=$(mktemp) RELEASE="patch-1" -wget -q "https://github.com/CrazyWolf13/web-check/archive/refs/heads/${RELEASE}.tar.gz" -O $temp_file +curl -fsSL "https://github.com/CrazyWolf13/web-check/archive/refs/heads/${RELEASE}.tar.gz" -o "$temp_file" tar xzf $temp_file mv web-check-${RELEASE} /opt/web-check cd /opt/web-check diff --git a/install/wger-install.sh b/install/wger-install.sh index 018eddd49..b12c6fa7f 100644 --- a/install/wger-install.sh +++ b/install/wger-install.sh @@ -48,8 +48,8 @@ mkdir /home/wger/{static,media} chmod o+w /home/wger/media temp_dir=$(mktemp -d) cd $temp_dir -RELEASE=$(curl -s https://api.github.com/repos/wger-project/wger/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') -wget -q "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" +RELEASE=$(curl -fsSL https://api.github.com/repos/wger-project/wger/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') +curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -O $(basename "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz") tar xzf $RELEASE.tar.gz mv wger-$RELEASE /home/wger/src cd /home/wger/src diff --git a/install/whisparr-install.sh b/install/whisparr-install.sh index 3600ea20a..d6319491d 100644 --- a/install/whisparr-install.sh +++ b/install/whisparr-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Whisparr" mkdir -p /var/lib/whisparr/ chmod 775 /var/lib/whisparr/ -$STD wget --content-disposition 'https://whisparr.servarr.com/v1/update/nightly/updatefile?os=linux&runtime=netcore&arch=x64' +$STD curl -fJL 'https://whisparr.servarr.com/v1/update/nightly/updatefile?os=linux&runtime=netcore&arch=x64' $STD tar -xvzf Whisparr.develop.*.tar.gz mv Whisparr /opt chmod 775 /opt/Whisparr diff --git a/install/wikijs-install.sh b/install/wikijs-install.sh index 076588081..4b61b102a 100644 --- a/install/wikijs-install.sh +++ b/install/wikijs-install.sh @@ -58,8 +58,8 @@ msg_ok "Set up PostgreSQL" msg_info "Setup Wiki.js" temp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/Requarks/wiki/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz" -O "$temp_file" +RELEASE=$(curl -fsSL https://api.github.com/repos/Requarks/wiki/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz" -o ""$temp_file"" mkdir /opt/wikijs tar -xzf "$temp_file" -C /opt/wikijs mv /opt/wikijs/config.sample.yml /opt/wikijs/config.yml diff --git a/install/wordpress-install.sh b/install/wordpress-install.sh index b4efe2ef5..418a9f61e 100644 --- a/install/wordpress-install.sh +++ b/install/wordpress-install.sh @@ -38,7 +38,7 @@ msg_ok "Set up Database" msg_info "Installing Wordpress (Patience)" cd /var/www/html -wget -q https://wordpress.org/latest.zip +curl -fsSL "https://wordpress.org/latest.zip" -O $(basename "https://wordpress.org/latest.zip") unzip -q latest.zip chown -R www-data:www-data wordpress/ cd /var/www/html/wordpress diff --git a/install/yt-dlp-webui-install.sh b/install/yt-dlp-webui-install.sh index 1466b5483..bf60599ac 100644 --- a/install/yt-dlp-webui-install.sh +++ b/install/yt-dlp-webui-install.sh @@ -5,7 +5,7 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/marcopiovanello/yt-dlp-web-ui -source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors @@ -18,14 +18,14 @@ $STD apt-get install -y ffmpeg msg_ok "Installed Dependencies" msg_info "Installing ${APPLICATION}" -RELEASE=$(curl -s https://api.github.com/repos/marcopiovanello/yt-dlp-web-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/marcopiovanello/yt-dlp-web-ui/releases/download/v${RELEASE}/yt-dlp-webui_linux-amd64" -O /usr/local/bin/yt-dlp-webui +RELEASE=$(curl -fsSL https://api.github.com/repos/marcopiovanello/yt-dlp-web-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/marcopiovanello/yt-dlp-web-ui/releases/download/v${RELEASE}/yt-dlp-webui_linux-amd64" -o "/usr/local/bin/yt-dlp-webui" chmod +x /usr/local/bin/yt-dlp-webui echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Installed ${APPLICATION}" msg_info "Installing yt-dlp" -wget -q https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp +curl -fsSL "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" -o "/usr/local/bin/yt-dlp" chmod a+rx /usr/local/bin/yt-dlp msg_ok "Installed yt-dlp" @@ -37,9 +37,9 @@ RPC_PASSWORD=$(openssl rand -base64 16) echo "yt-dlp-webui-Credentials" echo "Username: admin" echo "Password: ${RPC_PASSWORD}" -} >> ~/yt-dlp-webui.creds +} >>~/yt-dlp-webui.creds -cat < /opt/yt-dlp-webui/config.conf +cat </opt/yt-dlp-webui/config.conf # Host where server will listen at (default: "0.0.0.0") #host: 0.0.0.0 @@ -76,7 +76,7 @@ downloaderPath: /usr/local/bin/yt-dlp #frontend_path: ./web/solid-frontend EOF -cat < /etc/systemd/system/yt-dlp-webui.service +cat </etc/systemd/system/yt-dlp-webui.service [Unit] Description=yt-dlp-webui service file After=network.target diff --git a/install/yunohost-install.sh b/install/yunohost-install.sh index 207d77117..4e9ac189a 100644 --- a/install/yunohost-install.sh +++ b/install/yunohost-install.sh @@ -5,7 +5,7 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://yunohost.org/ -source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Installing YunoHost (Patience)" touch /etc/.pve-ignore.resolv.conf -curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg +curl -fsSLSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg $STD bash <(curl -fsSL https://install.yunohost.org) -a msg_ok "Installed YunoHost" diff --git a/install/zabbix-install.sh b/install/zabbix-install.sh index 1e5a478d4..8273d1236 100644 --- a/install/zabbix-install.sh +++ b/install/zabbix-install.sh @@ -5,7 +5,7 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.zabbix.com/ -source /dev/stdin <<< "$FUNCTIONS_FILE_PATH" +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color verb_ip6 catch_errors @@ -15,10 +15,10 @@ update_os msg_info "Installing Zabbix" cd /tmp -wget -q https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb +curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -O $(basename "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb") $STD dpkg -i /tmp/zabbix-release_latest+debian12_all.deb $STD apt-get update -$STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts +$STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts $STD apt-get install -y zabbix-agent2 zabbix-agent2-plugin-* msg_ok "Installed Zabbix" diff --git a/install/zerotier-one-install.sh b/install/zerotier-one-install.sh index 673648cdc..25447d3e6 100644 --- a/install/zerotier-one-install.sh +++ b/install/zerotier-one-install.sh @@ -18,8 +18,8 @@ $STD apt-get install -y gnupg msg_ok "Installed Dependencies" msg_info "Setting up Zerotier-One" -curl -s 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/main/doc/contact%40zerotier.com.gpg' | gpg --import && - if z="$(curl -s 'https://install.zerotier.com/' | gpg)"; then +curl -fsSL 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/main/doc/contact%40zerotier.com.gpg' | gpg --import && + if z="$(curl -fsSL 'https://install.zerotier.com/' | gpg)"; then echo "$z" | sudo bash fi msg_ok "Setup Zerotier-One" diff --git a/install/zigbee2mqtt-install.sh b/install/zigbee2mqtt-install.sh index 9c6a0f724..d006df8a6 100644 --- a/install/zigbee2mqtt-install.sh +++ b/install/zigbee2mqtt-install.sh @@ -40,8 +40,8 @@ msg_ok "Installed pnpm" msg_info "Setting up Zigbee2MQTT" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt cd /opt/zigbee2mqtt/data diff --git a/install/zipline-install.sh b/install/zipline-install.sh index 3d167420a..ddc7d57cf 100644 --- a/install/zipline-install.sh +++ b/install/zipline-install.sh @@ -51,8 +51,8 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Zipline (Patience)" cd /opt -RELEASE=$(curl -s https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -wget -q "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" +RELEASE=$(curl -fsSL https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv zipline-${RELEASE} /opt/zipline cd /opt/zipline diff --git a/install/zitadel-install.sh b/install/zitadel-install.sh index 1c0a4a56c..d56092efc 100644 --- a/install/zitadel-install.sh +++ b/install/zitadel-install.sh @@ -39,8 +39,8 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME OWNER $DB_ADMIN_USER;" msg_ok "Installed PostgreSQL" msg_info "Installing Zitadel" -RELEASE=$(curl -si https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r') -wget -qc https://github.com/zitadel/zitadel/releases/download/$RELEASE/zitadel-linux-amd64.tar.gz -O - | tar -xz +RELEASE=$(curl -fsSLi https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r') +curl -fsSL https://github.com/zitadel/zitadel/releases/download/$RELEASE/zitadel-linux-amd64.tar.gz | tar -xz mv zitadel-linux-amd64/zitadel /usr/local/bin msg_ok "Installed Zitadel" diff --git a/install/zoraxy-install.sh b/install/zoraxy-install.sh index a887b33cf..1e279d503 100644 --- a/install/zoraxy-install.sh +++ b/install/zoraxy-install.sh @@ -14,8 +14,8 @@ network_check update_os msg_info "Installing Zoraxy (Patience)" -RELEASE=$(curl -s https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" +RELEASE=$(curl -fsSL https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -O $(basename "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64") mkdir -p /opt/zoraxy mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy chmod +x /opt/zoraxy/zoraxy diff --git a/install/zwave-js-ui-install.sh b/install/zwave-js-ui-install.sh index af7a6f541..d124af7aa 100644 --- a/install/zwave-js-ui-install.sh +++ b/install/zwave-js-ui-install.sh @@ -17,8 +17,8 @@ msg_info "Installing Z-Wave JS UI" mkdir -p /opt/zwave-js-ui mkdir -p /opt/zwave_store cd /opt/zwave-js-ui -RELEASE=$(curl -s https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -wget -q https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip +RELEASE=$(curl -fsSL https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -O $(basename "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") unzip -q zwave-js-ui-${RELEASE}-linux.zip cat </opt/.env ZWAVEJS_EXTERNAL_CONFIG=/opt/zwave_store/.config-db diff --git a/misc/add-lxc-iptag.sh b/misc/add-lxc-iptag.sh index e838f1df8..9706e6eb7 100644 --- a/misc/add-lxc-iptag.sh +++ b/misc/add-lxc-iptag.sh @@ -7,8 +7,8 @@ # Source: https://github.com/gitsang/lxc-iptag function header_info { -clear -cat <<"EOF" + clear + cat <<"EOF" __ _ ________ ________ ______ / / | |/ / ____/ / _/ __ \ /_ __/___ _____ _ / / | / / / // /_/ /_____/ / / __ `/ __ `/ @@ -60,9 +60,9 @@ spinner() { local color="${YWB}" while true; do - printf "\r ${color}%s${CL}" "${frames[spin_i]}" - spin_i=$(((spin_i + 1) % ${#frames[@]})) - sleep "$interval" + printf "\r ${color}%s${CL}" "${frames[spin_i]}" + spin_i=$(((spin_i + 1) % ${#frames[@]})) + sleep "$interval" done } @@ -95,9 +95,9 @@ while true; do case $yn in [Yy]*) break ;; [Nn]*) - msg_error "Installation cancelled." - exit - ;; + msg_error "Installation cancelled." + exit + ;; *) msg_error "Please answer yes or no." ;; esac done diff --git a/misc/add-netbird-lxc.sh b/misc/add-netbird-lxc.sh index d2e02bf26..430ea63a0 100644 --- a/misc/add-netbird-lxc.sh +++ b/misc/add-netbird-lxc.sh @@ -7,8 +7,8 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE function header_info { -clear -cat <<"EOF" + clear + cat <<"EOF" _ __ __ ____ _ __ / | / /__ / /_/ __ )(_)________/ / / |/ / _ \/ __/ __ / / ___/ __ / @@ -80,7 +80,7 @@ header_info msg "Installing NetBird..." pct exec "$CTID" -- bash -c ' apt install -y ca-certificates gpg &>/dev/null -wget -qO- https://pkgs.netbird.io/debian/public.key | gpg --dearmor >/usr/share/keyrings/netbird-archive-keyring.gpg +curl -fsSL "https://pkgs.netbird.io/debian/public.key" | gpg --dearmor >/usr/share/keyrings/netbird-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/netbird-archive-keyring.gpg] https://pkgs.netbird.io/debian stable main" >/etc/apt/sources.list.d/netbird.list apt-get update &>/dev/null apt-get install -y netbird-ui &>/dev/null diff --git a/misc/add-tailscale-lxc.sh b/misc/add-tailscale-lxc.sh index 93f37b9cd..5183a5b4f 100644 --- a/misc/add-tailscale-lxc.sh +++ b/misc/add-tailscale-lxc.sh @@ -6,8 +6,8 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE function header_info { -clear -cat <<"EOF" + clear + cat <<"EOF" ______ _ __ __ /_ __/___ _(_) /_____________ _/ /__ / / / __ `/ / / ___/ ___/ __ `/ / _ \ @@ -62,7 +62,7 @@ msg "Installing Tailscale..." pct exec "$CTID" -- bash -c ' ID=$(grep "^ID=" /etc/os-release | cut -d"=" -f2) VER=$(grep "^VERSION_CODENAME=" /etc/os-release | cut -d"=" -f2) -wget -qO- https://pkgs.tailscale.com/stable/$ID/$VER.noarmor.gpg >/usr/share/keyrings/tailscale-archive-keyring.gpg +curl -fsSL https://pkgs.tailscale.com/stable/$ID/$VER.noarmor.gpg | tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null echo "deb [signed-by=/usr/share/keyrings/tailscale-archive-keyring.gpg] https://pkgs.tailscale.com/stable/$ID $VER main" >/etc/apt/sources.list.d/tailscale.list apt-get update &>/dev/null apt-get install -y tailscale &>/dev/null diff --git a/misc/alpine-install.func b/misc/alpine-install.func index 714ca12a7..ace59a9f8 100644 --- a/misc/alpine-install.func +++ b/misc/alpine-install.func @@ -194,6 +194,6 @@ customize() { msg_ok "Customized Container" fi - echo "bash -c \"\$(curl -fsSL https://github.com/community-scripts/ProxmoxVE/raw/main/ct/${app}.sh)\"" >/usr/bin/update + echo "bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/ct/${app}.sh)\"" >/usr/bin/update chmod +x /usr/bin/update } diff --git a/misc/api.func b/misc/api.func index 00748d58b..4e77247c0 100644 --- a/misc/api.func +++ b/misc/api.func @@ -39,7 +39,7 @@ post_to_api() { EOF ) - RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ + RESPONSE=$(curl -fsSL -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ -H "Content-Type: application/json" \ -d "$JSON_PAYLOAD") || true } @@ -87,7 +87,7 @@ post_to_api_vm() { EOF ) - RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ + RESPONSE=$(curl -fsSL -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ -H "Content-Type: application/json" \ -d "$JSON_PAYLOAD") || true } @@ -115,7 +115,7 @@ post_update_to_api() { EOF ) - RESPONSE=$(curl -s -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ + RESPONSE=$(curl -fsSL -w "%{http_code}" -L -X POST "$API_URL" --post301 --post302 \ -H "Content-Type: application/json" \ -d "$JSON_PAYLOAD") || true diff --git a/misc/build.func b/misc/build.func index af23b09c0..d7341e225 100644 --- a/misc/build.func +++ b/misc/build.func @@ -14,7 +14,7 @@ variables() { RANDOM_UUID="$(cat /proc/sys/kernel/random/uuid)" # generates a random UUID and sets it to the RANDOM_UUID variable. } -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) # This function sets various color variables using ANSI escape codes for formatting text in the terminal. color() { @@ -67,7 +67,7 @@ catch_errors() { # This function is called when an error occurs. It receives the exit code, line number, and command that caused the error, and displays an error message. error_handler() { - source /dev/stdin <<<$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) + source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi printf "\e[?25h" local exit_code="$?" @@ -289,14 +289,14 @@ update_motd_ip() { # Function to download & save header files get_header() { local app_name=$(echo ${APP,,} | tr -d ' ') - local header_url="https://github.com/community-scripts/ProxmoxVE/raw/main/ct/headers/${app_name}" + local header_url="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/ct/headers/${app_name}" local local_header_path="/usr/local/community-scripts/headers/${app_name}" mkdir -p "/usr/local/community-scripts/headers" # Check if local file already present if [ ! -s "$local_header_path" ]; then - wget -qO "$local_header_path" "$header_url" + curl -fsSL "$header_url" -o "$local_header_path" if [ $? -ne 0 ]; then echo -e "${WARN}${BOLD}${YLW}Failed to download header for ${app_name}. No header will be displayed.${CL}" return 1 @@ -1097,9 +1097,9 @@ build_container() { TEMP_DIR=$(mktemp -d) pushd $TEMP_DIR >/dev/null if [ "$var_os" == "alpine" ]; then - export FUNCTIONS_FILE_PATH="$(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/alpine-install.func)" + export FUNCTIONS_FILE_PATH="$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/alpine-install.func)" else - export FUNCTIONS_FILE_PATH="$(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/install.func)" + export FUNCTIONS_FILE_PATH="$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/install.func)" fi export RANDOM_UUID="$RANDOM_UUID" export CACHER="$APT_CACHER" @@ -1131,7 +1131,7 @@ build_container() { $PW " # This executes create_lxc.sh and creates the container and .conf file - bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/create_lxc.sh)" || exit $? + bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/create_lxc.sh)" || exit $? LXC_CONFIG=/etc/pve/lxc/${CTID}.conf if [ "$CT_TYPE" == "0" ]; then @@ -1193,7 +1193,7 @@ http://dl-cdn.alpinelinux.org/alpine/latest-stable/community EOF' pct exec "$CTID" -- ash -c "apk add bash >/dev/null" fi - lxc-attach -n "$CTID" -- bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/install/$var_install.sh)" || exit $? + lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/install/$var_install.sh)" || exit $? } diff --git a/misc/clean-lxcs.sh b/misc/clean-lxcs.sh index cabd3f033..42b0d2b49 100644 --- a/misc/clean-lxcs.sh +++ b/misc/clean-lxcs.sh @@ -33,14 +33,14 @@ while read -r TAG ITEM; do EXCLUDE_MENU+=("$TAG" "$ITEM " "OFF") done < <(pct list | awk 'NR>1') excluded_containers=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Containers on $NODE" --checklist "\nSelect containers to skip from cleaning:\n" \ - 16 $((MSG_MAX_LENGTH + 23)) 6 "${EXCLUDE_MENU[@]}" 3>&1 1>&2 2>&3 | tr -d '"') || exit + 16 $((MSG_MAX_LENGTH + 23)) 6 "${EXCLUDE_MENU[@]}" 3>&1 1>&2 2>&3 | tr -d '"') || exit function clean_container() { container=$1 header_info name=$(pct exec "$container" hostname) echo -e "${BL}[Info]${GN} Cleaning ${name} ${CL} \n" - pct exec $container -- bash -c "apt-get -y --purge autoremove && apt-get -y autoclean && bash <(curl -fsSL https://github.com/community-scripts/ProxmoxVE/raw/main/misc/clean.sh) && rm -rf /var/lib/apt/lists/* && apt-get update" + pct exec $container -- bash -c "apt-get -y --purge autoremove && apt-get -y autoclean && bash <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/clean.sh) && rm -rf /var/lib/apt/lists/* && apt-get update" } for container in $(pct list | awk '{if(NR>1) print $1}'); do if [[ " ${excluded_containers[@]} " =~ " $container " ]]; then diff --git a/misc/clean-orphaned-lvm.sh b/misc/clean-orphaned-lvm.sh index 533ef50ec..4f47d5a94 100644 --- a/misc/clean-orphaned-lvm.sh +++ b/misc/clean-orphaned-lvm.sh @@ -5,8 +5,8 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE function header_info { - clear - cat <<"EOF" + clear + cat <<"EOF" ____ ________ ____ __ __ __ _ ____ ___ / __ \_________ _ ______ ___ ____ _ __ / ____/ /__ ____ _____ / __ \_________ / /_ ____ _____ ___ ____/ / / /| | / / |/ /____ / /_/ / ___/ __ \| |/_/ __ `__ \/ __ \| |/_/ / / / / _ \/ __ `/ __ \ / / / / ___/ __ \/ __ \/ __ `/ __ \/ _ \/ __ / / / | | / / /|_/ / ___/ @@ -38,19 +38,19 @@ function find_orphaned_lvm { echo -e "❗ The following orphaned LVM volumes were found:\n" printf "%-25s %-10s %-10s\n" "LV Name" "VG" "Size" printf "%-25s %-10s %-10s\n" "-------------------------" "----------" "----------" - - for ((i = 0; i < ${#orphaned_volumes[@]}; i+=3)); do - printf "%-25s %-10s %-10s\n" "${orphaned_volumes[i]}" "${orphaned_volumes[i+1]}" "${orphaned_volumes[i+2]}" + + for ((i = 0; i < ${#orphaned_volumes[@]}; i += 3)); do + printf "%-25s %-10s %-10s\n" "${orphaned_volumes[i]}" "${orphaned_volumes[i + 1]}" "${orphaned_volumes[i + 2]}" done echo "" } # Function to delete selected volumes function delete_orphaned_lvm { - for ((i = 0; i < ${#orphaned_volumes[@]}; i+=3)); do + for ((i = 0; i < ${#orphaned_volumes[@]}; i += 3)); do lv="${orphaned_volumes[i]}" - vg="${orphaned_volumes[i+1]}" - size="${orphaned_volumes[i+2]}" + vg="${orphaned_volumes[i + 1]}" + size="${orphaned_volumes[i + 2]}" read -p "❓ Do you want to delete $lv (VG: $vg, Size: $size)? [y/N]: " confirm if [[ "$confirm" =~ ^[Yy]$ ]]; then diff --git a/misc/code-server.sh b/misc/code-server.sh index 5114e3200..a24ed41de 100644 --- a/misc/code-server.sh +++ b/misc/code-server.sh @@ -46,8 +46,14 @@ function error_exit() { } clear header_info -if command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Can't Install on Proxmox "; exit; fi -if [ -e /etc/alpine-release ]; then echo -e "⚠️ Can't Install on Alpine"; exit; fi +if command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Can't Install on Proxmox " + exit +fi +if [ -e /etc/alpine-release ]; then + echo -e "⚠️ Can't Install on Alpine" + exit +fi while true; do read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn case $yn in @@ -73,7 +79,7 @@ apt-get install -y curl &>/dev/null apt-get install -y git &>/dev/null msg_ok "Installed Dependencies" -VERSION=$(curl -s https://api.github.com/repos/coder/code-server/releases/latest | +VERSION=$(curl -fsSL https://api.github.com/repos/coder/code-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') diff --git a/misc/container-restore-from-backup.sh b/misc/container-restore-from-backup.sh index dd5da9453..d1a45c6a9 100644 --- a/misc/container-restore-from-backup.sh +++ b/misc/container-restore-from-backup.sh @@ -6,7 +6,10 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE clear -if command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Can't Run from the Proxmox Shell"; exit; fi +if command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Can't Run from the Proxmox Shell" + exit +fi YW=$(echo "\033[33m") BL=$(echo "\033[36m") RD=$(echo "\033[01;31m") diff --git a/misc/copy-data/README.md b/misc/copy-data/README.md index 3257c80f2..a7bdbf35c 100644 --- a/misc/copy-data/README.md +++ b/misc/copy-data/README.md @@ -2,45 +2,45 @@
To copy data from Home Assistant Container to Home Assistant Container
``` -bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh)" +bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh)" ```
To copy data from Home Assistant Container to Home Assistant Core
``` -bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh)" +bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh)" ```
To copy data from Home Assistant Container to Podman Home Assistant
``` -bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh)" +bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh)" ```
To copy data from Podman Home Assistant to Home Assistant Container
``` -bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh)" +bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh)" ```
To copy data from Home Assistant Core to Home Assistant Container
``` -bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh)" +bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh)" ```
To copy data from Home Assistant Core to Home Assistant Core
``` -bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh)" +bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh)" ```
To copy data from Plex to Plex
``` -bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/plex-copy-data-plex.sh)" +bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/plex-copy-data-plex.sh)" ```
To copy data from Zigbee2MQTT to Zigbee2MQTT
``` -bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/z2m-copy-data-z2m.sh)" +bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/z2m-copy-data-z2m.sh)" ```
To copy data from Zwavejs2MQTT to Zwave JS UI
``` -bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh)" +bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh)" ``` diff --git a/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh b/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh index a8c137afb..a332fdf98 100644 --- a/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh +++ b/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh @@ -8,7 +8,10 @@ # Use to copy all data from one Home Assistant LXC to another # run from the Proxmox Shell clear -if ! command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Run from the Proxmox Shell"; exit; fi +if ! command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Run from the Proxmox Shell" + exit +fi while true; do read -p "Use to copy all data from one Home Assistant LXC to another. Proceed(y/n)?" yn case $yn in @@ -125,4 +128,4 @@ info "Successfully Transferred Data." # Use to copy all data from one Home Assistant LXC to another # run from the Proxmox Shell -# bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh)" diff --git a/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh b/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh index 998bcb63a..24e08d755 100644 --- a/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh +++ b/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh @@ -6,7 +6,10 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE clear -if ! command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Run from the Proxmox Shell"; exit; fi +if ! command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Run from the Proxmox Shell" + exit +fi while true; do read -p "Use to copy all data from a Home Assistant Container LXC to a Home Assistant Core LXC. Proceed(y/n)?" yn case $yn in @@ -121,4 +124,4 @@ info "Successfully Transferred Data." # Use to copy all data from a Home Assistant Container LXC to a Home Assistant Core LXC # run from the Proxmox Shell -# bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh)" diff --git a/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh b/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh index e730372d2..16300af5d 100644 --- a/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh +++ b/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh @@ -8,7 +8,10 @@ # Use to copy all data from a Home Assistant LXC to a Podman Home Assistant LXC. # run from the Proxmox Shell clear -if ! command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Run from the Proxmox Shell"; exit; fi +if ! command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Run from the Proxmox Shell" + exit +fi while true; do read -p "Use to copy all data from a Home Assistant LXC to a Podman Home Assistant LXC. Proceed(y/n)?" yn case $yn in @@ -126,4 +129,4 @@ info "Successfully Transferred Data." # Use to copy all data from a Home Assistant LXC to a Podman Home Assistant LXC # run from the Proxmox Shell -# bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh)" diff --git a/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh b/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh index dc9eecd7a..607186589 100644 --- a/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh +++ b/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh @@ -6,7 +6,10 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE clear -if ! command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Run from the Proxmox Shell"; exit; fi +if ! command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Run from the Proxmox Shell" + exit +fi while true; do read -p "Use to copy all data from a Home Assistant Core LXC to a Home Assistant Container LXC. Proceed(y/n)?" yn case $yn in @@ -121,4 +124,4 @@ info "Successfully Transferred Data." # Use to copy all data from a Home Assistant Core LXC to a Home Assistant Container LXC # run from the Proxmox Shell -# bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh)" diff --git a/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh b/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh index a8d364085..21a1fb4e3 100644 --- a/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh +++ b/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh @@ -6,7 +6,10 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE clear -if ! command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Run from the Proxmox Shell"; exit; fi +if ! command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Run from the Proxmox Shell" + exit +fi while true; do read -p "Use to copy all data from a Home Assistant Core LXC to a Home Assistant Core LXC. Proceed(y/n)?" yn case $yn in @@ -120,4 +123,4 @@ info "Successfully Transferred Data." # Use to copy all data from a Home Assistant Core LXC to a Home Assistant Container LXC # run from the Proxmox Shell -# bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh)" diff --git a/misc/copy-data/plex-copy-data-plex.sh b/misc/copy-data/plex-copy-data-plex.sh index 779921f89..c4ec2425a 100644 --- a/misc/copy-data/plex-copy-data-plex.sh +++ b/misc/copy-data/plex-copy-data-plex.sh @@ -8,7 +8,10 @@ # Use to copy all data from one Plex Media Server LXC to another # run from the Proxmox Shell clear -if ! command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Run from the Proxmox Shell"; exit; fi +if ! command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Run from the Proxmox Shell" + exit +fi while true; do read -p "Use to copy all data from one Plex Media Server LXC to another. Proceed(y/n)?" yn case $yn in @@ -125,4 +128,4 @@ info "Successfully Transferred Data." # Use to copy all data from one Plex Media Server LXC to another # run from the Proxmox Shell -# bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/plex-copy-data-plex.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/plex-copy-data-plex.sh)" diff --git a/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh b/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh index 0ff1f071f..091f3dc20 100644 --- a/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh +++ b/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh @@ -8,7 +8,10 @@ # Use to copy all data from a Podman Home Assistant LXC to a Docker Home Assistant LXC. # run from the Proxmox Shell clear -if ! command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Run from the Proxmox Shell"; exit; fi +if ! command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Run from the Proxmox Shell" + exit +fi while true; do read -p "Use to copy all data from a Podman Home Assistant LXC to a Docker Home Assistant LXC. Proceed(y/n)?" yn case $yn in @@ -126,4 +129,4 @@ info "Successfully Transferred Data." # Use to copy all data from a Podman Home Assistant LXC to a Docker Home Assistant LXC. # run from the Proxmox Shell -# bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh)" diff --git a/misc/copy-data/z2m-copy-data-z2m.sh b/misc/copy-data/z2m-copy-data-z2m.sh index b6807351a..799c248d5 100644 --- a/misc/copy-data/z2m-copy-data-z2m.sh +++ b/misc/copy-data/z2m-copy-data-z2m.sh @@ -8,7 +8,10 @@ # Use to copy all data from one Zigbee2MQTT LXC to another # run from the Proxmox Shell clear -if ! command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Run from the Proxmox Shell"; exit; fi +if ! command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Run from the Proxmox Shell" + exit +fi while true; do read -p "Use to copy all data from one Zigbee2MQTT LXC to another. Proceed(y/n)?" yn case $yn in @@ -125,4 +128,4 @@ info "Successfully Transferred Data." # Use to copy all data from one Zigbee2MQTT LXC to another # run from the Proxmox Shell -# bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/z2m-copy-data-z2m.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/z2m-copy-data-z2m.sh)" diff --git a/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh b/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh index 3f282e250..5f3c7ffd2 100644 --- a/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh +++ b/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh @@ -8,7 +8,10 @@ # Use to copy all data from a Zwavejs2MQTT LXC to a Z-wave JS UI LXC # run from the Proxmox Shell clear -if ! command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Run from the Proxmox Shell"; exit; fi +if ! command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Run from the Proxmox Shell" + exit +fi while true; do read -p "Use to copy all data from a Zwavejs2MQTT LXC to a Z-wave JS UI LXC. Proceed(y/n)?" yn case $yn in @@ -127,4 +130,4 @@ info "Successfully Transferred Data." # Use to copy all data from a Zwavejs2MQTT LXC to a Z-wave JS UI LXC # run from the Proxmox Shell -# bash -c "$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh)" diff --git a/misc/core-restore-from-backup.sh b/misc/core-restore-from-backup.sh index 021e6b05a..bdff8dd4c 100644 --- a/misc/core-restore-from-backup.sh +++ b/misc/core-restore-from-backup.sh @@ -6,7 +6,10 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE clear -if command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Can't Run from the Proxmox Shell"; exit; fi +if command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Can't Run from the Proxmox Shell" + exit +fi YW=$(echo "\033[33m") BL=$(echo "\033[36m") RD=$(echo "\033[01;31m") diff --git a/misc/cron-update-lxcs.sh b/misc/cron-update-lxcs.sh index b83111fed..419cf477a 100644 --- a/misc/cron-update-lxcs.sh +++ b/misc/cron-update-lxcs.sh @@ -4,7 +4,7 @@ # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/cron-update-lxcs.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/cron-update-lxcs.sh)" clear cat <<"EOF" @@ -25,7 +25,7 @@ add() { *) echo "Please answer yes or no." ;; esac done - sh -c '(crontab -l -u root 2>/dev/null; echo "0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c \"\$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/update-lxcs-cron.sh)\" >>/var/log/update-lxcs-cron.log 2>/dev/null") | crontab -u root -' + sh -c '(crontab -l -u root 2>/dev/null; echo "0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/update-lxcs-cron.sh)\" >>/var/log/update-lxcs-cron.log 2>/dev/null") | crontab -u root -' clear echo -e "\n To view Cron Update LXCs logs: cat /var/log/update-lxcs-cron.log" } diff --git a/misc/crowdsec.sh b/misc/crowdsec.sh index eae6fc967..835a7dd92 100644 --- a/misc/crowdsec.sh +++ b/misc/crowdsec.sh @@ -33,7 +33,10 @@ function error_exit() { echo -e "$flag $msg" 1>&2 exit $EXIT } -if command -v pveversion >/dev/null 2>&1; then echo -e "⚠️ Can't Install on Proxmox "; exit; fi +if command -v pveversion >/dev/null 2>&1; then + echo -e "⚠️ Can't Install on Proxmox " + exit +fi while true; do read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn case $yn in @@ -70,7 +73,7 @@ msg_info "Setting up ${APP} Repository" apt-get update &>/dev/null apt-get install -y curl &>/dev/null apt-get install -y gnupg &>/dev/null -curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | bash &>/dev/null +curl -fsSL https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | bash &>/dev/null msg_ok "Setup ${APP} Repository" msg_info "Installing ${APP}" diff --git a/misc/filebrowser.sh b/misc/filebrowser.sh index 479831c17..714175e53 100644 --- a/misc/filebrowser.sh +++ b/misc/filebrowser.sh @@ -36,7 +36,6 @@ IP=$(ip -4 addr show "$IFACE" | awk '/inet / {print $2}' | cut -d/ -f1 | head -n [[ -z "$IP" ]] && IP=$(hostname -I | awk '{print $1}') [[ -z "$IP" ]] && IP="127.0.0.1" - # Detect OS if [[ -f "/etc/alpine-release" ]]; then OS="Alpine" @@ -89,7 +88,7 @@ if [ -f "$INSTALL_PATH" ]; then read -r -p "Would you like to update ${APP}? (y/N): " update_prompt if [[ "${update_prompt,,}" =~ ^(y|yes)$ ]]; then msg_info "Updating ${APP}" - wget -qO- https://github.com/filebrowser/filebrowser/releases/latest/download/linux-amd64-filebrowser.tar.gz | tar -xzv -C /usr/local/bin &>/dev/null + curl -fsSL "https://github.com/filebrowser/filebrowser/releases/latest/download/linux-amd64-filebrowser.tar.gz" | tar -xzv -C /usr/local/bin &>/dev/null chmod +x "$INSTALL_PATH" msg_ok "Updated ${APP}" exit 0 @@ -107,7 +106,7 @@ read -r -p "Would you like to install ${APP}? (y/n): " install_prompt if [[ "${install_prompt,,}" =~ ^(y|yes)$ ]]; then msg_info "Installing ${APP} on ${OS}" $PKG_MANAGER wget tar curl &>/dev/null - wget -qO- https://github.com/filebrowser/filebrowser/releases/latest/download/linux-amd64-filebrowser.tar.gz | tar -xzv -C /usr/local/bin &>/dev/null + curl -fsSL "https://github.com/filebrowser/filebrowser/releases/latest/download/linux-amd64-filebrowser.tar.gz" | tar -xzv -C /usr/local/bin &>/dev/null chmod +x "$INSTALL_PATH" msg_ok "Installed ${APP}" @@ -115,9 +114,9 @@ if [[ "${install_prompt,,}" =~ ^(y|yes)$ ]]; then mkdir -p /usr/local/community-scripts chown root:root /usr/local/community-scripts chmod 755 /usr/local/community-scripts - touch "$DB_PATH" - chown root:root "$DB_PATH" - chmod 644 "$DB_PATH" + touch "$DB_PATH" + chown root:root "$DB_PATH" + chmod 644 "$DB_PATH" msg_ok "Directory created successfully" read -r -p "Would you like to use No Authentication? (y/N): " auth_prompt @@ -141,7 +140,7 @@ if [[ "${install_prompt,,}" =~ ^(y|yes)$ ]]; then msg_info "Creating service" if [[ "$OS" == "Debian" ]]; then - cat < "$SERVICE_PATH" + cat <"$SERVICE_PATH" [Unit] Description=Filebrowser After=network-online.target @@ -159,7 +158,7 @@ WantedBy=multi-user.target EOF systemctl enable -q --now filebrowser else - cat < "$SERVICE_PATH" + cat <"$SERVICE_PATH" #!/sbin/openrc-run command="/usr/local/bin/filebrowser" diff --git a/misc/frigate-support.sh b/misc/frigate-support.sh index 11e14e7a7..2ca7691ba 100644 --- a/misc/frigate-support.sh +++ b/misc/frigate-support.sh @@ -6,8 +6,8 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE function header_info { - clear -cat <<"EOF" + clear + cat <<"EOF" ____ _ __ ____ __ / __/___(_)__ ____ _/ /____ / __/_ _____ ___ ___ ____/ /_ / _// __/ / _ `/ _ `/ __/ -_) _\ \/ // / _ \/ _ \/ _ \/ __/ __/ @@ -28,11 +28,11 @@ header_info # The array of device types # CHAR_DEVS+=(major:minor) -CHAR_DEVS+=("1:1") # mem -CHAR_DEVS+=("29:0") # fb0 -CHAR_DEVS+=("188:.*") # ttyUSB* -CHAR_DEVS+=("189:.*") # bus/usb/* -CHAR_DEVS+=("226:0") # card0 +CHAR_DEVS+=("1:1") # mem +CHAR_DEVS+=("29:0") # fb0 +CHAR_DEVS+=("188:.*") # ttyUSB* +CHAR_DEVS+=("189:.*") # bus/usb/* +CHAR_DEVS+=("226:0") # card0 CHAR_DEVS+=("226:128") # renderD128 # Proccess char device string @@ -89,5 +89,5 @@ EOF echo -e "\e[1;33m \nFinished....Reboot ${CTID} LXC to apply the changes.\n \e[0m" # In the Proxmox web shell run -# bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/frigate-support.sh)" -# Reboot the LXC to apply the changes \ No newline at end of file +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/frigate-support.sh)" +# Reboot the LXC to apply the changes diff --git a/misc/fstrim.sh b/misc/fstrim.sh index b155ef4ae..1e8fe3ffa 100644 --- a/misc/fstrim.sh +++ b/misc/fstrim.sh @@ -29,12 +29,12 @@ echo "Loading..." ROOT_FS=$(df -Th "/" | awk 'NR==2 {print $2}') if [ "$ROOT_FS" != "ext4" ]; then - echo "Root filesystem is not ext4. Exiting script." - exit 1 + echo "Root filesystem is not ext4. Exiting script." + exit 1 fi whiptail --backtitle "Proxmox VE Helper Scripts" \ - --title "Proxmox VE LXC Filesystem Trim" \ - --yesno "The LXC containers will undergo the fstrim command. Proceed?" 10 58 || exit + --title "Proxmox VE LXC Filesystem Trim" \ + --yesno "The LXC containers will undergo the fstrim command. Proceed?" 10 58 || exit NODE=$(hostname) EXCLUDE_MENU=() @@ -47,12 +47,12 @@ while read -r TAG ITEM; do done < <(pct list | awk 'NR>1') excluded_containers_raw=$(whiptail --backtitle "Proxmox VE Helper Scripts" \ - --title "Containers on $NODE" \ - --checklist "\nSelect containers to skip from trimming:\n" \ - 16 $((MSG_MAX_LENGTH + 23)) 6 "${EXCLUDE_MENU[@]}" 3>&1 1>&2 2>&3) + --title "Containers on $NODE" \ + --checklist "\nSelect containers to skip from trimming:\n" \ + 16 $((MSG_MAX_LENGTH + 23)) 6 "${EXCLUDE_MENU[@]}" 3>&1 1>&2 2>&3) if [ $? -ne 0 ]; then - exit + exit fi excluded_containers=$(echo "$excluded_containers_raw" | tr -d '"') @@ -61,17 +61,17 @@ function trim_container() { local container=$1 header_info echo -e "${BL}[Info]${GN} Trimming ${BL}$container${CL} \n" - + local before_trim before_trim=$(lvs | awk -F '[[:space:]]+' 'NR>1 && (/Data%|'"vm-$container"'/) {gsub(/%/, "", $7); print $7}') echo -e "${RD}Data before trim $before_trim%${CL}" - + pct fstrim "$container" - + local after_trim after_trim=$(lvs | awk -F '[[:space:]]+' 'NR>1 && (/Data%|'"vm-$container"'/) {gsub(/%/, "", $7); print $7}') echo -e "${GN}Data after trim $after_trim%${CL}" - + sleep 1.5 } diff --git a/misc/glances.sh b/misc/glances.sh index cd49dcb33..90012a9df 100644 --- a/misc/glances.sh +++ b/misc/glances.sh @@ -6,8 +6,8 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE function header_info { - clear - cat <<"EOF" + clear + cat <<"EOF" ________ / ____/ /___ _____ ________ _____ / / __/ / __ `/ __ \/ ___/ _ \/ ___/ @@ -32,13 +32,13 @@ hostname="$(hostname)" silent() { "$@" >/dev/null 2>&1; } set -e spinner() { - local chars="/-\|" - local spin_i=0 - printf "\e[?25l" - while true; do - printf "\r \e[36m%s\e[0m" "${chars:spin_i++%${#chars}:1}" - sleep 0.1 - done + local chars="/-\|" + local spin_i=0 + printf "\e[?25l" + while true; do + printf "\r \e[36m%s\e[0m" "${chars:spin_i++%${#chars}:1}" + sleep 0.1 + done } msg_info() { @@ -49,7 +49,7 @@ msg_info() { } msg_ok() { - if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi + if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi printf "\e[?25h" local msg="$1" echo -e "${BFR} ${CM} ${GN}${msg}${CL}" @@ -58,23 +58,23 @@ msg_ok() { install() { header_info while true; do - read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn - case $yn in - [Yy]*) break ;; - [Nn]*) exit ;; - *) echo "Please answer yes or no." ;; - esac + read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn + case $yn in + [Yy]*) break ;; + [Nn]*) exit ;; + *) echo "Please answer yes or no." ;; + esac done header_info read -r -p "Verbose mode? " prompt if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then - STD="" + STD="" else - STD="silent" + STD="silent" fi msg_info "Installing $APP" rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED - $STD bash -c "$(wget -qLO - https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh)" + $STD bash -c "$(curl -fsSL https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh)" cat </etc/systemd/system/glances.service [Unit] Description=Glances - An eye on your system @@ -97,29 +97,29 @@ EOF uninstall() { header_info msg_info "Uninstalling $APP" - if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi + if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi systemctl disable -q --now glances - bash -c "$(wget -qLO - https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/uninstall.sh)" + bash -c "$(curl -fsSL https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/uninstall.sh)" rm -rf /etc/systemd/system/glances.service msg_ok "Uninstalled $APP" msg_ok "Completed Successfully!\n" } -OPTIONS=(Install "Install $APP" \ - Uninstall "Uninstall $APP") +OPTIONS=(Install "Install $APP" + Uninstall "Uninstall $APP") CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "$APP" --menu "Select an option:" 10 58 2 \ - "${OPTIONS[@]}" 3>&1 1>&2 2>&3) + "${OPTIONS[@]}" 3>&1 1>&2 2>&3) case $CHOICE in - "Install") - install - ;; - "Uninstall") - uninstall - ;; - *) - echo "Exiting..." - exit 0 - ;; +"Install") + install + ;; +"Uninstall") + uninstall + ;; +*) + echo "Exiting..." + exit 0 + ;; esac diff --git a/misc/hw-acceleration.sh b/misc/hw-acceleration.sh index b632afb34..7370b078f 100644 --- a/misc/hw-acceleration.sh +++ b/misc/hw-acceleration.sh @@ -5,7 +5,7 @@ # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Execute within the Proxmox shell -# bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/hw-acceleration.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/hw-acceleration.sh)" set -e function header_info { @@ -56,8 +56,8 @@ MSG_MAX_LENGTH=0 privileged_containers=$(pct list | awk 'NR>1 && system("grep -q \047unprivileged: 1\047 /etc/pve/lxc/" $1 ".conf")') if [ -z "$privileged_containers" ]; then - whiptail --msgbox "No Privileged Containers Found." 10 58 - exit + whiptail --msgbox "No Privileged Containers Found." 10 58 + exit fi while read -r TAG ITEM; do @@ -69,11 +69,11 @@ done < <(echo "$privileged_containers") privileged_container=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Privileged Containers on $NODE" --checklist "\nSelect a Container To Add Intel HW Acceleration:\n" 16 $((MSG_MAX_LENGTH + 23)) 6 "${PREV_MENU[@]}" 3>&1 1>&2 2>&3 | tr -d '"') || exit header_info read -r -p "Verbose mode? " prompt - if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then +if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then STD="" - else +else STD="silent" - fi +fi header_info cat <>/etc/pve/lxc/${privileged_container}.conf diff --git a/misc/install.func b/misc/install.func index d952c7480..85b2f489f 100644 --- a/misc/install.func +++ b/misc/install.func @@ -68,7 +68,7 @@ catch_errors() { # This function handles errors error_handler() { - source <(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) + source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi printf "\e[?25h" local exit_code="$?" @@ -265,7 +265,7 @@ EOF systemctl restart $(basename $(dirname $GETTY_OVERRIDE) | sed 's/\.d//') msg_ok "Customized Container" fi - echo "bash -c \"\$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/${app}.sh)\"" >/usr/bin/update + echo "bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/ct/${app}.sh)\"" >/usr/bin/update chmod +x /usr/bin/update if [[ -n "${SSH_AUTHORIZED_KEY}" ]]; then diff --git a/misc/kernel-clean.sh b/misc/kernel-clean.sh index 959318bdb..9efe71e61 100644 --- a/misc/kernel-clean.sh +++ b/misc/kernel-clean.sh @@ -40,7 +40,7 @@ echo -e "\n${YW}Select kernels to remove (comma-separated, e.g., 1,2):${CL}" read -r selected # Parse selection -IFS=',' read -r -a selected_indices <<< "$selected" +IFS=',' read -r -a selected_indices <<<"$selected" kernels_to_remove=() for index in "${selected_indices[@]}"; do diff --git a/misc/kernel-pin.sh b/misc/kernel-pin.sh index 5450b71ef..4ba86ae12 100644 --- a/misc/kernel-pin.sh +++ b/misc/kernel-pin.sh @@ -39,8 +39,8 @@ function msg_ok() { whiptail --backtitle "Proxmox VE Helper Scripts" --title "Proxmox VE Kernel Pin" --yesno "This will Pin/Unpin Kernel Images, Proceed?" 10 68 || exit - KERNEL_MENU=() - MSG_MAX_LENGTH=0 +KERNEL_MENU=() +MSG_MAX_LENGTH=0 while read -r TAG ITEM; do OFFSET=2 ((${#ITEM} + OFFSET > MSG_MAX_LENGTH)) && MSG_MAX_LENGTH=${#ITEM}+OFFSET diff --git a/misc/lxc-delete.sh b/misc/lxc-delete.sh index df9685de0..99a7e0871 100644 --- a/misc/lxc-delete.sh +++ b/misc/lxc-delete.sh @@ -5,8 +5,8 @@ # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE function header_info { - clear - cat <<"EOF" + clear + cat <<"EOF" ____ __ _ ________ ____ __ __ / __ \_________ _ ______ ___ ____ _ __ / / | |/ / ____/ / __ \___ / /__ / /____ / /_/ / ___/ __ \| |/_/ __ `__ \/ __ \| |/_/ / / | / / / / / / _ \/ / _ \/ __/ _ \ @@ -20,7 +20,7 @@ spinner() { local pid=$1 local delay=0.1 local spinstr='|/-\' - while ps -p $pid > /dev/null; do + while ps -p $pid >/dev/null; do printf " [%c] " "$spinstr" spinstr=${spinstr#?}${spinstr%"${spinstr#?}"} sleep $delay @@ -59,15 +59,15 @@ while read -r container; do container_status=$(echo $container | awk '{print $3}') formatted_line=$(printf "$FORMAT" "$container_name" "$container_status") menu_items+=("$container_id" "$formatted_line" "OFF") -done <<< "$containers" +done <<<"$containers" CHOICES=$(whiptail --title "LXC Container Delete" \ - --checklist "Select LXC containers to delete:" 25 60 13 \ - "${menu_items[@]}" 3>&2 2>&1 1>&3) + --checklist "Select LXC containers to delete:" 25 60 13 \ + "${menu_items[@]}" 3>&2 2>&1 1>&3) if [ -z "$CHOICES" ]; then whiptail --title "LXC Container Delete" \ - --msgbox "No containers selected!" 10 60 + --msgbox "No containers selected!" 10 60 exit 1 fi diff --git a/misc/microcode.sh b/misc/microcode.sh index b5ce7aa71..9d6c09efa 100644 --- a/misc/microcode.sh +++ b/misc/microcode.sh @@ -44,23 +44,35 @@ intel() { fi intel_microcode=$(curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode//" | grep -o 'href="[^"]*amd64.deb"' | sed 's/href="//;s/"//') - [ -z "$intel_microcode" ] && { whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Microcode Found" --msgbox "It appears there were no microcode packages found\n Try again later." 10 68; msg_info "Exiting"; sleep 1; msg_ok "Done"; exit; } + [ -z "$intel_microcode" ] && { + whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Microcode Found" --msgbox "It appears there were no microcode packages found\n Try again later." 10 68 + msg_info "Exiting" + sleep 1 + msg_ok "Done" + exit + } MICROCODE_MENU=() MSG_MAX_LENGTH=0 while read -r TAG ITEM; do OFFSET=2 - (( ${#ITEM} + OFFSET > MSG_MAX_LENGTH )) && MSG_MAX_LENGTH=${#ITEM}+OFFSET + ((${#ITEM} + OFFSET > MSG_MAX_LENGTH)) && MSG_MAX_LENGTH=${#ITEM}+OFFSET MICROCODE_MENU+=("$TAG" "$ITEM " "OFF") done < <(echo "$intel_microcode") microcode=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Current Microcode revision:${current_microcode}" --radiolist "\nSelect a microcode package to install:\n" 16 $((MSG_MAX_LENGTH + 58)) 6 "${MICROCODE_MENU[@]}" 3>&1 1>&2 2>&3 | tr -d '"') || exit - [ -z "$microcode" ] && { whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Microcode Selected" --msgbox "It appears that no microcode packages were selected" 10 68; msg_info "Exiting"; sleep 1; msg_ok "Done"; exit; } + [ -z "$microcode" ] && { + whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Microcode Selected" --msgbox "It appears that no microcode packages were selected" 10 68 + msg_info "Exiting" + sleep 1 + msg_ok "Done" + exit + } msg_info "Downloading the Intel Processor Microcode Package $microcode" - wget -q http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode + curl -fsSL "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode" -O $(basename "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode") msg_ok "Downloaded the Intel Processor Microcode Package $microcode" msg_info "Installing $microcode (Patience)" @@ -76,23 +88,35 @@ intel() { amd() { amd_microcode=$(curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode///" | grep -o 'href="[^"]*amd64.deb"' | sed 's/href="//;s/"//') - [ -z "$amd_microcode" ] && { whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Microcode Found" --msgbox "It appears there were no microcode packages found\n Try again later." 10 68; msg_info "Exiting"; sleep 1; msg_ok "Done"; exit; } + [ -z "$amd_microcode" ] && { + whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Microcode Found" --msgbox "It appears there were no microcode packages found\n Try again later." 10 68 + msg_info "Exiting" + sleep 1 + msg_ok "Done" + exit + } MICROCODE_MENU=() MSG_MAX_LENGTH=0 while read -r TAG ITEM; do OFFSET=2 - (( ${#ITEM} + OFFSET > MSG_MAX_LENGTH )) && MSG_MAX_LENGTH=${#ITEM}+OFFSET + ((${#ITEM} + OFFSET > MSG_MAX_LENGTH)) && MSG_MAX_LENGTH=${#ITEM}+OFFSET MICROCODE_MENU+=("$TAG" "$ITEM " "OFF") done < <(echo "$amd_microcode") microcode=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Current Microcode revision:${current_microcode}" --radiolist "\nSelect a microcode package to install:\n" 16 $((MSG_MAX_LENGTH + 58)) 6 "${MICROCODE_MENU[@]}" 3>&1 1>&2 2>&3 | tr -d '"') || exit - [ -z "$microcode" ] && { whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Microcode Selected" --msgbox "It appears that no microcode packages were selected" 10 68; msg_info "Exiting"; sleep 1; msg_ok "Done"; exit; } + [ -z "$microcode" ] && { + whiptail --backtitle "Proxmox VE Helper Scripts" --title "No Microcode Selected" --msgbox "It appears that no microcode packages were selected" 10 68 + msg_info "Exiting" + sleep 1 + msg_ok "Done" + exit + } msg_info "Downloading the AMD Processor Microcode Package $microcode" - wget -q https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode + curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode" -O $(basename "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode") msg_ok "Downloaded the AMD Processor Microcode Package $microcode" msg_info "Installing $microcode (Patience)" @@ -105,7 +129,11 @@ amd() { echo -e "\nIn order to apply the changes, a system reboot will be necessary.\n" } -if ! command -v pveversion >/dev/null 2>&1; then header_info; msg_error "No PVE Detected!"; exit; fi +if ! command -v pveversion >/dev/null 2>&1; then + header_info + msg_error "No PVE Detected!" + exit +fi whiptail --backtitle "Proxmox VE Helper Scripts" --title "Proxmox VE Processor Microcode" --yesno "This will check for CPU microcode packages with the option to install. Proceed?" 10 58 || exit diff --git a/misc/monitor-all.sh b/misc/monitor-all.sh index 3d6103f5e..b0f95786a 100644 --- a/misc/monitor-all.sh +++ b/misc/monitor-all.sh @@ -16,16 +16,16 @@ cat <<"EOF" EOF add() { -while true; do - read -p "This script will add Monitor All to Proxmox VE. Proceed(y/n)?" yn - case $yn in - [Yy]*) break ;; - [Nn]*) exit ;; - *) echo "Please answer yes or no." ;; - esac -done + while true; do + read -p "This script will add Monitor All to Proxmox VE. Proceed(y/n)?" yn + case $yn in + [Yy]*) break ;; + [Nn]*) exit ;; + *) echo "Please answer yes or no." ;; + esac + done -echo '#!/usr/bin/env bash + echo '#!/usr/bin/env bash # Read excluded instances from command line arguments excluded_instances=("$@") echo "Excluded instances: ${excluded_instances[@]}" @@ -89,10 +89,10 @@ while true; do echo "$(date): Pausing for 5 minutes..." sleep 300 done >/var/log/ping-instances.log 2>&1' >/usr/local/bin/ping-instances.sh -touch /var/log/ping-instances.log -# Change file permissions to executable -chmod +x /usr/local/bin/ping-instances.sh -cat </etc/systemd/system/ping-instances.timer + touch /var/log/ping-instances.log + # Change file permissions to executable + chmod +x /usr/local/bin/ping-instances.sh + cat </etc/systemd/system/ping-instances.timer [Unit] Description=Delay ping-instances.service by 5 minutes @@ -104,8 +104,8 @@ OnUnitActiveSec=300 WantedBy=timers.target EOF -# Create ping-instances.service -cat </etc/systemd/system/ping-instances.service + # Create ping-instances.service + cat </etc/systemd/system/ping-instances.service [Unit] Description=Ping instances every 5 minutes and restarts if necessary After=ping-instances.timer @@ -125,12 +125,12 @@ StandardError=file:/var/log/ping-instances.log WantedBy=multi-user.target EOF -# Reload daemon, enable and start ping-instances.service -systemctl daemon-reload -systemctl enable -q --now ping-instances.timer -systemctl enable -q --now ping-instances.service -clear -echo -e "\n To view Monitor All logs: cat /var/log/ping-instances.log" + # Reload daemon, enable and start ping-instances.service + systemctl daemon-reload + systemctl enable -q --now ping-instances.timer + systemctl enable -q --now ping-instances.service + clear + echo -e "\n To view Monitor All logs: cat /var/log/ping-instances.log" } remove() { @@ -141,23 +141,23 @@ remove() { } # Define options for the whiptail menu -OPTIONS=(Add "Add Monitor-All to Proxmox VE" \ - Remove "Remove Monitor-All from Proxmox VE") +OPTIONS=(Add "Add Monitor-All to Proxmox VE" + Remove "Remove Monitor-All from Proxmox VE") # Show the whiptail menu and save the user's choice CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Monitor-All for Proxmox VE" --menu "Select an option:" 10 58 2 \ - "${OPTIONS[@]}" 3>&1 1>&2 2>&3) + "${OPTIONS[@]}" 3>&1 1>&2 2>&3) # Check the user's choice and perform the corresponding action case $CHOICE in - "Add") - add - ;; - "Remove") - remove - ;; - *) - echo "Exiting..." - exit 0 - ;; +"Add") + add + ;; +"Remove") + remove + ;; +*) + echo "Exiting..." + exit 0 + ;; esac diff --git a/misc/netdata.sh b/misc/netdata.sh index 67381a2d0..87c272d58 100644 --- a/misc/netdata.sh +++ b/misc/netdata.sh @@ -6,8 +6,8 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE function header_info { - clear - cat <<"EOF" + clear + cat <<"EOF" _ __ __ ____ __ / | / /__ / /_/ __ \____ _/ /_____ _ / |/ / _ \/ __/ / / / __ `/ __/ __ `/ @@ -52,15 +52,15 @@ install() { header_info read -r -p "Verbose mode? " prompt if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then - STD="" + STD="" else - STD="silent" + STD="silent" fi header_info msg_info "Setting up repository" $STD apt-get install -y debian-keyring - wget -q https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb + curl -fsSL "https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb" -O $(basename "https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb") $STD dpkg -i netdata-repo_5-1+debian12_all.deb rm -rf netdata-repo_5-1+debian12_all.deb msg_ok "Set up repository" @@ -77,9 +77,9 @@ uninstall() { header_info read -r -p "Verbose mode? " prompt if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then - STD="" + STD="" else - STD="silent" + STD="silent" fi header_info @@ -103,21 +103,21 @@ if ! pveversion | grep -Eq "pve-manager/(8\.[0-9])"; then exit fi -OPTIONS=(Install "Install NetData on Proxmox VE" \ - Uninstall "Uninstall NetData from Proxmox VE") +OPTIONS=(Install "Install NetData on Proxmox VE" + Uninstall "Uninstall NetData from Proxmox VE") CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "NetData" --menu "Select an option:" 10 58 2 \ - "${OPTIONS[@]}" 3>&1 1>&2 2>&3) + "${OPTIONS[@]}" 3>&1 1>&2 2>&3) case $CHOICE in - "Install") - install - ;; - "Uninstall") - uninstall - ;; - *) - echo "Exiting..." - exit 0 - ;; +"Install") + install + ;; +"Uninstall") + uninstall + ;; +*) + echo "Exiting..." + exit 0 + ;; esac diff --git a/misc/olivetin.sh b/misc/olivetin.sh index e35e78df1..b9cd40e26 100644 --- a/misc/olivetin.sh +++ b/misc/olivetin.sh @@ -6,8 +6,8 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE function header_info { -clear -cat <<"EOF" + clear + cat <<"EOF" ____ ___ _______ / __ \/ (_) _____/_ __(_)___ / / / / / / | / / _ \/ / / / __ \ @@ -31,12 +31,12 @@ set-e header_info while true; do - read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn - case $yn in - [Yy]*) break ;; - [Nn]*) exit ;; - *) echo "Please answer yes or no." ;; - esac + read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn + case $yn in + [Yy]*) break ;; + [Nn]*) exit ;; + *) echo "Please answer yes or no." ;; + esac done header_info @@ -51,7 +51,7 @@ function msg_ok() { } msg_info "Installing ${APP}" -wget -q https://github.com/OliveTin/OliveTin/releases/latest/download/OliveTin_linux_amd64.deb +curl -fsSL "https://github.com/OliveTin/OliveTin/releases/latest/download/OliveTin_linux_amd64.deb" -O $(basename "https://github.com/OliveTin/OliveTin/releases/latest/download/OliveTin_linux_amd64.deb") dpkg -i OliveTin_linux_amd64.deb &>/dev/null systemctl enable --now OliveTin &>/dev/null rm OliveTin_linux_amd64.deb diff --git a/misc/pbs3-upgrade.sh b/misc/pbs3-upgrade.sh index 465ba8fb1..502be4bfe 100644 --- a/misc/pbs3-upgrade.sh +++ b/misc/pbs3-upgrade.sh @@ -44,7 +44,6 @@ msg_error() { echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}" } - start_routines() { header_info CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PBS 2 BACKUP" --menu "\nMake a backup of /etc/proxmox-backup to ensure that in the worst case, any relevant configuration can be recovered?" 14 58 2 \ @@ -164,7 +163,10 @@ while true; do read -p "Start the Update to Proxmox Backup Server 3 Script (y/n)?" yn case $yn in [Yy]*) break ;; - [Nn]*) clear; exit ;; + [Nn]*) + clear + exit + ;; *) echo "Please answer yes or no." ;; esac done diff --git a/misc/pbs_microcode.sh b/misc/pbs_microcode.sh index f3b88fde8..88ca95867 100644 --- a/misc/pbs_microcode.sh +++ b/misc/pbs_microcode.sh @@ -39,8 +39,8 @@ header_info # Check if running on bare metal using systemd-detect-virt. virt=$(systemd-detect-virt) if [ "$virt" != "none" ]; then - msg_error "This script must be run on bare metal. Detected virtual environment: $virt" - exit 1 + msg_error "This script must be run on bare metal. Detected virtual environment: $virt" + exit 1 fi # Attempt to obtain the current loaded microcode revision @@ -58,7 +58,7 @@ intel() { fi intel_microcode=$(curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/" | grep -o 'href="[^"]*amd64.deb"' | sed 's/href="//;s/"//') - [ -z "$intel_microcode" ] && { + [ -z "$intel_microcode" ] && { whiptail --backtitle "Proxmox Backup Server Helper Scripts" --title "No Microcode Found" --msgbox "No microcode packages were found.\nTry again later." 10 68 msg_info "Exiting" sleep 1 @@ -71,7 +71,7 @@ intel() { while read -r TAG ITEM; do OFFSET=2 - (( ${#ITEM} + OFFSET > MSG_MAX_LENGTH )) && MSG_MAX_LENGTH=$(( ${#ITEM} + OFFSET )) + ((${#ITEM} + OFFSET > MSG_MAX_LENGTH)) && MSG_MAX_LENGTH=$((${#ITEM} + OFFSET)) MICROCODE_MENU+=("$TAG" "$ITEM " "OFF") done < <(echo "$intel_microcode") @@ -80,7 +80,7 @@ intel() { --radiolist "\nSelect a microcode package to install:\n" \ 16 $((MSG_MAX_LENGTH + 58)) 6 "${MICROCODE_MENU[@]}" 3>&1 1>&2 2>&3 | tr -d '"') || exit - [ -z "$microcode" ] && { + [ -z "$microcode" ] && { whiptail --backtitle "Proxmox Backup Server Helper Scripts" --title "No Microcode Selected" --msgbox "No microcode package was selected." 10 68 msg_info "Exiting" sleep 1 @@ -89,7 +89,7 @@ intel() { } msg_info "Downloading Intel processor microcode package $microcode" - wget -q http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode + curl -fsSL "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode" -O $(basename "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode") msg_ok "Downloaded Intel processor microcode package $microcode" msg_info "Installing $microcode (this might take a while)" @@ -105,7 +105,7 @@ intel() { amd() { amd_microcode=$(curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/" | grep -o 'href="[^"]*amd64.deb"' | sed 's/href="//;s/"//') - [ -z "$amd_microcode" ] && { + [ -z "$amd_microcode" ] && { whiptail --backtitle "Proxmox Backup Server Helper Scripts" --title "No Microcode Found" --msgbox "No microcode packages were found.\nTry again later." 10 68 msg_info "Exiting" sleep 1 @@ -118,7 +118,7 @@ amd() { while read -r TAG ITEM; do OFFSET=2 - (( ${#ITEM} + OFFSET > MSG_MAX_LENGTH )) && MSG_MAX_LENGTH=$(( ${#ITEM} + OFFSET )) + ((${#ITEM} + OFFSET > MSG_MAX_LENGTH)) && MSG_MAX_LENGTH=$((${#ITEM} + OFFSET)) MICROCODE_MENU+=("$TAG" "$ITEM " "OFF") done < <(echo "$amd_microcode") @@ -127,7 +127,7 @@ amd() { --radiolist "\nSelect a microcode package to install:\n" \ 16 $((MSG_MAX_LENGTH + 58)) 6 "${MICROCODE_MENU[@]}" 3>&1 1>&2 2>&3 | tr -d '"') || exit - [ -z "$microcode" ] && { + [ -z "$microcode" ] && { whiptail --backtitle "Proxmox Backup Server Helper Scripts" --title "No Microcode Selected" --msgbox "No microcode package was selected." 10 68 msg_info "Exiting" sleep 1 @@ -136,7 +136,7 @@ amd() { } msg_info "Downloading AMD processor microcode package $microcode" - wget -q https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode + curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode" -O $(basename "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode") msg_ok "Downloaded AMD processor microcode package $microcode" msg_info "Installing $microcode (this might take a while)" diff --git a/misc/post-pbs-install.sh b/misc/post-pbs-install.sh index e95c62b0b..c564be1c0 100644 --- a/misc/post-pbs-install.sh +++ b/misc/post-pbs-install.sh @@ -44,7 +44,6 @@ msg_error() { echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}" } - start_routines() { header_info VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" @@ -171,14 +170,17 @@ while true; do read -p "Start the Proxmox Backup Server Post Install Script (y/n)?" yn case $yn in [Yy]*) break ;; - [Nn]*) clear; exit ;; + [Nn]*) + clear + exit + ;; *) echo "Please answer yes or no." ;; esac done if command -v pveversion >/dev/null 2>&1; then - echo -e "\nπŸ›‘ PVE Detected, Wrong Script!\n" - exit 1 + echo -e "\nπŸ›‘ PVE Detected, Wrong Script!\n" + exit 1 fi start_routines diff --git a/misc/post-pmg-install.sh b/misc/post-pmg-install.sh index 8c17e3139..f33657860 100644 --- a/misc/post-pmg-install.sh +++ b/misc/post-pmg-install.sh @@ -172,7 +172,10 @@ while true; do read -p "Start the Proxmox Mail Gateway Post Install Script (y/n)?" yn case $yn in [Yy]*) break ;; - [Nn]*) clear; exit ;; + [Nn]*) + clear + exit + ;; *) echo "Please answer yes or no." ;; esac done diff --git a/misc/post-pve-install.sh b/misc/post-pve-install.sh index aeba762cd..c3bac7cfc 100644 --- a/misc/post-pve-install.sh +++ b/misc/post-pve-install.sh @@ -58,7 +58,7 @@ deb http://deb.debian.org/debian bookworm main contrib deb http://deb.debian.org/debian bookworm-updates main contrib deb http://security.debian.org/debian-security bookworm-security main contrib EOF -echo 'APT::Get::Update::SourceListWarnings::NonFreeFirmware "false";' >/etc/apt/apt.conf.d/no-bookworm-firmware.conf + echo 'APT::Get::Update::SourceListWarnings::NonFreeFirmware "false";' >/etc/apt/apt.conf.d/no-bookworm-firmware.conf msg_ok "Corrected Proxmox VE Sources" ;; no) @@ -98,24 +98,24 @@ EOF ;; esac - CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CEPH PACKAGE REPOSITORIES" --menu "The 'Ceph Package Repositories' provides access to both the 'no-subscription' and 'enterprise' repositories (initially disabled).\n \nCorrect 'ceph package sources?" 14 58 2 \ - "yes" " " \ - "no" " " 3>&2 2>&1 1>&3) - case $CHOICE in - yes) - msg_info "Correcting 'ceph package repositories'" - cat </etc/apt/sources.list.d/ceph.list + CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CEPH PACKAGE REPOSITORIES" --menu "The 'Ceph Package Repositories' provides access to both the 'no-subscription' and 'enterprise' repositories (initially disabled).\n \nCorrect 'ceph package sources?" 14 58 2 \ + "yes" " " \ + "no" " " 3>&2 2>&1 1>&3) + case $CHOICE in + yes) + msg_info "Correcting 'ceph package repositories'" + cat </etc/apt/sources.list.d/ceph.list # deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise # deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription # deb https://enterprise.proxmox.com/debian/ceph-reef bookworm enterprise # deb http://download.proxmox.com/debian/ceph-reef bookworm no-subscription EOF - msg_ok "Corrected 'ceph package repositories'" - ;; - no) - msg_error "Selected no to Correcting 'ceph package repositories'" - ;; - esac + msg_ok "Corrected 'ceph package repositories'" + ;; + no) + msg_error "Selected no to Correcting 'ceph package repositories'" + ;; + esac CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "PVETEST" --menu "The 'pvetest' repository can give advanced users access to new features and updates before they are officially released.\n \nAdd (Disabled) 'pvetest' repository?" 14 58 2 \ "yes" " " \ @@ -141,7 +141,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 | 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 + 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)" ;; @@ -169,7 +169,7 @@ EOF ;; esac fi - + if systemctl is-active --quiet pve-ha-lrm; then CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "HIGH AVAILABILITY" --menu "If you plan to utilize a single node instead of a clustered environment, you can disable unnecessary high availability (HA) services, thus reclaiming system resources.\n\nIf HA becomes necessary at a later stage, the services can be re-enabled.\n\nDisable high availability?" 18 58 2 \ "yes" " " \ @@ -187,7 +187,7 @@ EOF ;; esac fi - + CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --menu "\nUpdate Proxmox VE now?" 11 58 2 \ "yes" " " \ "no" " " 3>&2 2>&1 1>&3) @@ -226,7 +226,10 @@ while true; do read -p "Start the Proxmox VE Post Install Script (y/n)?" yn case $yn in [Yy]*) break ;; - [Nn]*) clear; exit ;; + [Nn]*) + clear + exit + ;; *) echo "Please answer yes or no." ;; esac done diff --git a/misc/pve8-upgrade.sh b/misc/pve8-upgrade.sh index 4dd8e1587..7e575f0f1 100644 --- a/misc/pve8-upgrade.sh +++ b/misc/pve8-upgrade.sh @@ -48,48 +48,48 @@ start_routines() { header_info whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "PVE8 SOURCES" "This will set the correct sources to update and install Proxmox VE 8." 10 58 - msg_info "Changing to Proxmox VE 8 Sources" - cat </etc/apt/sources.list + msg_info "Changing to Proxmox VE 8 Sources" + cat </etc/apt/sources.list deb http://ftp.debian.org/debian bookworm main contrib deb http://ftp.debian.org/debian bookworm-updates main contrib deb http://security.debian.org/debian-security bookworm-security main contrib EOF - msg_ok "Changed to Proxmox VE 8 Sources" + msg_ok "Changed to Proxmox VE 8 Sources" whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "PVE8-ENTERPRISE" "The 'pve-enterprise' repository is only available to users who have purchased a Proxmox VE subscription." 10 58 - msg_info "Disabling 'pve-enterprise' repository" - cat </etc/apt/sources.list.d/pve-enterprise.list + msg_info "Disabling 'pve-enterprise' repository" + cat </etc/apt/sources.list.d/pve-enterprise.list # deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise EOF - msg_ok "Disabled 'pve-enterprise' repository" + msg_ok "Disabled 'pve-enterprise' repository" whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "PVE8-NO-SUBSCRIPTION" "The 'pve-no-subscription' repository provides access to all of the open-source components of Proxmox VE." 10 58 - msg_info "Enabling 'pve-no-subscription' repository" - cat </etc/apt/sources.list.d/pve-install-repo.list + msg_info "Enabling 'pve-no-subscription' repository" + cat </etc/apt/sources.list.d/pve-install-repo.list deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription EOF - msg_ok "Enabled 'pve-no-subscription' repository" + msg_ok "Enabled 'pve-no-subscription' repository" whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "PVE8 CEPH PACKAGE REPOSITORIES" "The 'Ceph Package Repositories' provides access to both the 'no-subscription' and 'enterprise' repositories." 10 58 - msg_info "Enabling 'ceph package repositories'" - cat </etc/apt/sources.list.d/ceph.list + msg_info "Enabling 'ceph package repositories'" + cat </etc/apt/sources.list.d/ceph.list # deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription EOF - msg_ok "Enabled 'ceph package repositories'" + msg_ok "Enabled 'ceph package repositories'" whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "PVE8 TEST" "The 'pvetest' repository can give advanced users access to new features and updates before they are officially released (Disabled)." 10 58 - msg_info "Adding 'pvetest' repository and set disabled" - cat </etc/apt/sources.list.d/pvetest-for-beta.list + msg_info "Adding 'pvetest' repository and set disabled" + cat </etc/apt/sources.list.d/pvetest-for-beta.list # deb http://download.proxmox.com/debian/pve bookworm pvetest EOF - msg_ok "Added 'pvetest' repository" + msg_ok "Added 'pvetest' repository" whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "PVE8 UPDATE" "Updating to Proxmox VE 8" 10 58 - msg_info "Updating to Proxmox VE 8 (Patience)" - apt-get update - DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confold" dist-upgrade -y - msg_ok "Updated to Proxmox VE 8" + msg_info "Updating to Proxmox VE 8 (Patience)" + apt-get update + DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confold" dist-upgrade -y + msg_ok "Updated to Proxmox VE 8" CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "REBOOT" --menu "\nReboot Proxmox VE 8 now? (recommended)" 11 58 2 \ "yes" " " \ @@ -113,7 +113,10 @@ while true; do read -p "Start the Update to Proxmox VE 8 Script (y/n)?" yn case $yn in [Yy]*) break ;; - [Nn]*) clear; exit ;; + [Nn]*) + clear + exit + ;; *) echo "Please answer yes or no." ;; esac done diff --git a/misc/pyenv.sh b/misc/pyenv.sh index c1d8044ad..2099da977 100644 --- a/misc/pyenv.sh +++ b/misc/pyenv.sh @@ -28,7 +28,10 @@ function msg_error() { local msg="$1" echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}" } -if command -v pveversion >/dev/null 2>&1; then msg_error "Can't Install on Proxmox "; exit; fi +if command -v pveversion >/dev/null 2>&1; then + msg_error "Can't Install on Proxmox " + exit +fi msg_info "Installing pyenv" apt-get install -y \ make \ @@ -58,9 +61,9 @@ apt-get install -y \ git clone https://github.com/pyenv/pyenv.git ~/.pyenv &>/dev/null set +e -echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc -echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc -echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init --path)"\nfi' >> ~/.bashrc +echo 'export PYENV_ROOT="$HOME/.pyenv"' >>~/.bashrc +echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >>~/.bashrc +echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init --path)"\nfi' >>~/.bashrc msg_ok "Installed pyenv" . ~/.bashrc set -e @@ -70,8 +73,8 @@ pyenv global 3.11.1 msg_ok "Installed Python 3.11.1" read -r -p "Would you like to install Home Assistant Beta? " prompt if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then -msg_info "Installing Home Assistant Beta" -cat </etc/systemd/system/homeassistant.service + msg_info "Installing Home Assistant Beta" + cat </etc/systemd/system/homeassistant.service [Unit] Description=Home Assistant After=network-online.target @@ -83,31 +86,31 @@ RestartForceExitStatus=100 [Install] WantedBy=multi-user.target EOF -mkdir /srv/homeassistant -cd /srv/homeassistant -python3 -m venv . -source bin/activate -python3 -m pip install wheel &>/dev/null -pip3 install --upgrade pip &>/dev/null -pip3 install psycopg2-binary &>/dev/null -pip3 install --pre homeassistant &>/dev/null -systemctl enable homeassistant &>/dev/null -msg_ok "Installed Home Assistant Beta" -echo -e " Go to $(hostname -I | awk '{print $1}'):8123" -hass + mkdir /srv/homeassistant + cd /srv/homeassistant + python3 -m venv . + source bin/activate + python3 -m pip install wheel &>/dev/null + pip3 install --upgrade pip &>/dev/null + pip3 install psycopg2-binary &>/dev/null + pip3 install --pre homeassistant &>/dev/null + systemctl enable homeassistant &>/dev/null + msg_ok "Installed Home Assistant Beta" + echo -e " Go to $(hostname -I | awk '{print $1}'):8123" + hass fi read -r -p "Would you like to install ESPHome Beta? " prompt if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then -msg_info "Installing ESPHome Beta" -mkdir /srv/esphome -cd /srv/esphome -python3 -m venv . -source bin/activate -python3 -m pip install wheel &>/dev/null -pip3 install --upgrade pip &>/dev/null -pip3 install --pre esphome &>/dev/null -cat </srv/esphome/start.sh + msg_info "Installing ESPHome Beta" + mkdir /srv/esphome + cd /srv/esphome + python3 -m venv . + source bin/activate + python3 -m pip install wheel &>/dev/null + pip3 install --upgrade pip &>/dev/null + pip3 install --pre esphome &>/dev/null + cat </srv/esphome/start.sh #!/usr/bin/env bash # Copyright (c) 2021-2025 tteck @@ -118,8 +121,8 @@ cat </srv/esphome/start.sh source /srv/esphome/bin/activate esphome dashboard /srv/esphome/ EOF -chmod +x start.sh -cat </etc/systemd/system/esphomedashboard.service + chmod +x start.sh + cat </etc/systemd/system/esphomedashboard.service [Unit] Description=ESPHome Dashboard Service After=network.target @@ -133,27 +136,27 @@ Restart=on-failure [Install] WantedBy=multi-user.target EOF -systemctl enable --now esphomedashboard &>/dev/null -msg_ok "Installed ESPHome Beta" -echo -e " Go to $(hostname -I | awk '{print $1}'):6052" -exec $SHELL + systemctl enable --now esphomedashboard &>/dev/null + msg_ok "Installed ESPHome Beta" + echo -e " Go to $(hostname -I | awk '{print $1}'):6052" + exec $SHELL fi read -r -p "Would you like to install Matter-Server (Beta)? " prompt if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then -msg_info "Installing Matter Server" -apt-get install -y \ -libcairo2-dev \ -libjpeg62-turbo-dev \ -libgirepository1.0-dev \ -libpango1.0-dev \ -libgif-dev \ -g++ &>/dev/null -python3 -m pip install wheel -pip3 install --upgrade pip -pip install python-matter-server[server] -msg_ok "Installed Matter Server" -echo -e "Start server > python -m matter_server.server" + msg_info "Installing Matter Server" + apt-get install -y \ + libcairo2-dev \ + libjpeg62-turbo-dev \ + libgirepository1.0-dev \ + libpango1.0-dev \ + libgif-dev \ + g++ &>/dev/null + python3 -m pip install wheel + pip3 install --upgrade pip + pip install python-matter-server[server] + msg_ok "Installed Matter Server" + echo -e "Start server > python -m matter_server.server" fi msg_ok "\nFinished\n" exec $SHELL diff --git a/misc/scaling-governor.sh b/misc/scaling-governor.sh index cb0975349..29cff8d76 100644 --- a/misc/scaling-governor.sh +++ b/misc/scaling-governor.sh @@ -6,8 +6,8 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE set -e header_info() { -clear -cat <&1 1>&2 2>&3 | tr -d '"') || exit [ -z "$scaling_governor" ] && { - whiptail --backtitle "Proxmox VE Helper Scripts" --title "No CPU Scaling Governor Selected" --msgbox "It appears that no CPU Scaling Governor was selected" 10 68 - clear - exit + whiptail --backtitle "Proxmox VE Helper Scripts" --title "No CPU Scaling Governor Selected" --msgbox "It appears that no CPU Scaling Governor was selected" 10 68 + clear + exit } echo "${scaling_governor}" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor >/dev/null current_governor=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor) @@ -38,21 +38,24 @@ CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CPU Scaling G "no" " " 3>&2 2>&1 1>&3) case $CHOICE in - yes) - set +e - NEW_CRONTAB_COMMAND="(sleep 60 && echo \"$current_governor\" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor)" - EXISTING_CRONTAB=$(crontab -l 2>/dev/null) - if [[ -n "$EXISTING_CRONTAB" ]]; then - TEMP_CRONTAB_FILE=$(mktemp) - echo "$EXISTING_CRONTAB" | grep -v "@reboot (sleep 60 && echo*" > "$TEMP_CRONTAB_FILE" - crontab "$TEMP_CRONTAB_FILE" - rm "$TEMP_CRONTAB_FILE" - fi - (crontab -l 2>/dev/null; echo "@reboot $NEW_CRONTAB_COMMAND") | crontab - - echo -e "\nCrontab Set (use 'crontab -e' to check)" - ;; - no) - echo -e "\n\033[31mNOTE: Settings return to default after reboot\033[m\n" - ;; +yes) + set +e + NEW_CRONTAB_COMMAND="(sleep 60 && echo \"$current_governor\" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor)" + EXISTING_CRONTAB=$(crontab -l 2>/dev/null) + if [[ -n "$EXISTING_CRONTAB" ]]; then + TEMP_CRONTAB_FILE=$(mktemp) + echo "$EXISTING_CRONTAB" | grep -v "@reboot (sleep 60 && echo*" >"$TEMP_CRONTAB_FILE" + crontab "$TEMP_CRONTAB_FILE" + rm "$TEMP_CRONTAB_FILE" + fi + ( + crontab -l 2>/dev/null + echo "@reboot $NEW_CRONTAB_COMMAND" + ) | crontab - + echo -e "\nCrontab Set (use 'crontab -e' to check)" + ;; +no) + echo -e "\n\033[31mNOTE: Settings return to default after reboot\033[m\n" + ;; esac echo -e "Current CPU Scaling Governor is set to \033[36m$current_governor\033[m\n" diff --git a/misc/update-lxcs.sh b/misc/update-lxcs.sh index 09b697050..973e5973d 100644 --- a/misc/update-lxcs.sh +++ b/misc/update-lxcs.sh @@ -38,17 +38,17 @@ done < <(pct list | awk 'NR>1') excluded_containers=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Containers on $NODE" --checklist "\nSelect containers to skip from updates:\n" 16 $((MSG_MAX_LENGTH + 23)) 6 "${EXCLUDE_MENU[@]}" 3>&1 1>&2 2>&3 | tr -d '"') || exit function needs_reboot() { - local container=$1 - local os=$(pct config "$container" | awk '/^ostype/ {print $2}') - local reboot_required_file="/var/run/reboot-required.pkgs" - if [ -f "$reboot_required_file" ]; then - if [[ "$os" == "ubuntu" || "$os" == "debian" ]]; then - if pct exec "$container" -- [ -s "$reboot_required_file" ]; then - return 0 - fi - fi + local container=$1 + local os=$(pct config "$container" | awk '/^ostype/ {print $2}') + local reboot_required_file="/var/run/reboot-required.pkgs" + if [ -f "$reboot_required_file" ]; then + if [[ "$os" == "ubuntu" || "$os" == "debian" ]]; then + if pct exec "$container" -- [ -s "$reboot_required_file" ]; then + return 0 + fi fi - return 1 + fi + return 1 } function update_container() { @@ -94,9 +94,9 @@ for container in $(pct list | awk '{if(NR>1) print $1}'); do update_container $container fi if pct exec "$container" -- [ -e "/var/run/reboot-required" ]; then - # Get the container's hostname and add it to the list - container_hostname=$(pct exec "$container" hostname) - containers_needing_reboot+=("$container ($container_hostname)") + # Get the container's hostname and add it to the list + container_hostname=$(pct exec "$container" hostname) + containers_needing_reboot+=("$container ($container_hostname)") fi fi done @@ -104,9 +104,9 @@ wait header_info echo -e "${GN}The process is complete, and the containers have been successfully updated.${CL}\n" if [ "${#containers_needing_reboot[@]}" -gt 0 ]; then - echo -e "${RD}The following containers require a reboot:${CL}" - for container_name in "${containers_needing_reboot[@]}"; do - echo "$container_name" - done + echo -e "${RD}The following containers require a reboot:${CL}" + for container_name in "${containers_needing_reboot[@]}"; do + echo "$container_name" + done fi echo "" diff --git a/misc/webmin.sh b/misc/webmin.sh index 92825f463..6fc53a321 100644 --- a/misc/webmin.sh +++ b/misc/webmin.sh @@ -45,10 +45,10 @@ apt update &>/dev/null apt-get -y install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl unzip shared-mime-info &>/dev/null msg_ok "Installed Prerequisites" -LATEST=$(curl -sL https://api.github.com/repos/webmin/webmin/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +LATEST=$(curl -fsSLL https://api.github.com/repos/webmin/webmin/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Downloading Webmin" -wget -q https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb +curl -fsSL "https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb" -O $(basename "https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb") msg_ok "Downloaded Webmin" msg_info "Installing Webmin" diff --git a/turnkey/turnkey.sh b/turnkey/turnkey.sh index 5a39bc83a..0e71dcad3 100644 --- a/turnkey/turnkey.sh +++ b/turnkey/turnkey.sh @@ -238,4 +238,4 @@ info "Proceed to the LXC console to complete the setup." echo info "login: root" info "password: $PASS" -echo +echo \ No newline at end of file diff --git a/vm/archlinux-vm.sh b/vm/archlinux-vm.sh index 4e066037b..e6498c13e 100644 --- a/vm/archlinux-vm.sh +++ b/vm/archlinux-vm.sh @@ -4,8 +4,7 @@ # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<< $(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) - +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { clear @@ -65,7 +64,7 @@ THIN="discard=on,ssd=1," set -e trap 'error_handler $LINENO "$BASH_COMMAND"' ERR trap cleanup EXIT -trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM function error_handler() { local exit_code="$?" @@ -94,7 +93,7 @@ pushd $TEMP_DIR >/dev/null if whiptail --backtitle "Proxmox VE Helper Scripts" --title "Arch Linux VM" --yesno "This will create a New Arch Linux VM. Proceed?" 10 58; then : else - header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit + header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit fi function msg_info() { @@ -123,7 +122,7 @@ function check_root() { } function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[0-9]+)*"; then + if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[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..." @@ -228,7 +227,7 @@ function advanced_settings() { else exit-script fi - + if DISK_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Disk Size in GiB (e.g., 10, 20)" 8 58 "$DISK_SIZE" --title "DISK SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then DISK_SIZE=$(echo "$DISK_SIZE" | tr -d ' ') if [[ "$DISK_SIZE" =~ ^[0-9]+$ ]]; then @@ -243,7 +242,7 @@ function advanced_settings() { else exit-script fi - + if DISK_CACHE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "DISK CACHE" --radiolist "Choose" --cancel-button Exit-Script 10 58 2 \ "0" "None (Default)" ON \ "1" "Write Through" OFF \ @@ -425,7 +424,7 @@ msg_info "Retrieving the URL for the Arch Linux .iso File" URL=https://geo.mirror.pkgbuild.com/iso/latest/archlinux-x86_64.iso sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" @@ -495,11 +494,11 @@ EOF ) qm set "$VMID" -description "$DESCRIPTION" >/dev/null if [ -n "$DISK_SIZE" ]; then - msg_info "Resizing disk to $DISK_SIZE GB" - qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null + msg_info "Resizing disk to $DISK_SIZE GB" + qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null else - msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB" - qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null + msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB" + qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null fi msg_ok "Created a Arch Linux VM ${CL}${BL}(${HN})" diff --git a/vm/debian-vm.sh b/vm/debian-vm.sh index 6abb669b1..b4a38784b 100644 --- a/vm/debian-vm.sh +++ b/vm/debian-vm.sh @@ -4,7 +4,7 @@ # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<< $(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { clear @@ -63,7 +63,7 @@ THIN="discard=on,ssd=1," set -e trap 'error_handler $LINENO "$BASH_COMMAND"' ERR trap cleanup EXIT -trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM function error_handler() { local exit_code="$?" @@ -93,7 +93,7 @@ pushd $TEMP_DIR >/dev/null if whiptail --backtitle "Proxmox VE Helper Scripts" --title "Debian 12 VM" --yesno "This will create a New Debian 12 VM. Proceed?" 10 58; then : else - header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit + header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit fi function msg_info() { @@ -122,7 +122,7 @@ function check_root() { } function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[0-9]+)*"; then + if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[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..." @@ -227,7 +227,7 @@ function advanced_settings() { else exit-script fi - + if DISK_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Disk Size in GiB (e.g., 10, 20)" 8 58 "$DISK_SIZE" --title "DISK SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then DISK_SIZE=$(echo "$DISK_SIZE" | tr -d ' ') if [[ "$DISK_SIZE" =~ ^[0-9]+$ ]]; then @@ -425,7 +425,7 @@ msg_info "Retrieving the URL for the Debian 12 Qcow2 Disk Image" URL=https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.qcow2 sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" @@ -494,12 +494,12 @@ EOF ) qm set "$VMID" -description "$DESCRIPTION" >/dev/null if [ -n "$DISK_SIZE" ]; then - msg_info "Resizing disk to $DISK_SIZE GB" - qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null + msg_info "Resizing disk to $DISK_SIZE GB" + qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null else - msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB" - qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null -fi + msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB" + qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null +fi msg_ok "Created a Debian 12 VM ${CL}${BL}(${HN})" if [ "$START_VM" == "yes" ]; then diff --git a/vm/docker-vm.sh b/vm/docker-vm.sh index 38bf0e1e7..d9bd48d05 100644 --- a/vm/docker-vm.sh +++ b/vm/docker-vm.sh @@ -4,7 +4,7 @@ # Author: thost96 (thost96) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<< $(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { clear @@ -44,7 +44,7 @@ THIN="discard=on,ssd=1," set -e trap 'error_handler $LINENO "$BASH_COMMAND"' ERR trap cleanup EXIT -trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM function error_handler() { local exit_code="$?" @@ -102,13 +102,13 @@ function check_root() { } function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[0-9]+)*"; then + if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[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 -fi + fi } function arch_check() { @@ -388,7 +388,7 @@ msg_info "Retrieving the URL for the Debian 12 Qcow2 Disk Image" URL="https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-$(dpkg --print-architecture).qcow2" sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" @@ -421,14 +421,13 @@ msg_ok "Installed libguestfs-tools successfully" msg_info "Adding Docker and Docker Compose Plugin to Debian 12 Qcow2 Disk Image" virt-customize -q -a "${FILE}" --install qemu-guest-agent,apt-transport-https,ca-certificates,curl,gnupg,software-properties-common,lsb-release >/dev/null && -virt-customize -q -a "${FILE}" --run-command "mkdir -p /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg" >/dev/null && -virt-customize -q -a "${FILE}" --run-command "echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable' > /etc/apt/sources.list.d/docker.list" >/dev/null && -virt-customize -q -a "${FILE}" --run-command "apt-get update -qq && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin" >/dev/null && -virt-customize -q -a "${FILE}" --run-command "systemctl enable docker" >/dev/null && -virt-customize -q -a "${FILE}" --run-command "echo -n > /etc/machine-id" >/dev/null + virt-customize -q -a "${FILE}" --run-command "mkdir -p /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg" >/dev/null && + virt-customize -q -a "${FILE}" --run-command "echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bookworm stable' > /etc/apt/sources.list.d/docker.list" >/dev/null && + virt-customize -q -a "${FILE}" --run-command "apt-get update -qq && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin" >/dev/null && + virt-customize -q -a "${FILE}" --run-command "systemctl enable docker" >/dev/null && + virt-customize -q -a "${FILE}" --run-command "echo -n > /etc/machine-id" >/dev/null msg_ok "Added Docker and Docker Compose Plugin to Debian 12 Qcow2 Disk Image successfully" - msg_info "Creating a Docker VM" qm create $VMID -agent 1${MACHINE} -tablet 0 -localtime 1 -bios ovmf${CPU_TYPE} -cores $CORE_COUNT -memory $RAM_SIZE \ -name $HN -tags community-script,debian12,docker -net0 virtio,bridge=$BRG,macaddr=$MAC$VLAN$MTU -onboot 1 -ostype l26 -scsihw virtio-scsi-pci @@ -442,7 +441,8 @@ qm set $VMID \ qm resize $VMID scsi0 8G >/dev/null qm set $VMID --agent enabled=1 >/dev/null - DESCRIPTION=$(cat < Logo diff --git a/vm/haos-vm.sh b/vm/haos-vm.sh index f31dbe8ab..7f03ef14b 100644 --- a/vm/haos-vm.sh +++ b/vm/haos-vm.sh @@ -5,8 +5,7 @@ # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<< $(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) - +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { clear @@ -32,7 +31,7 @@ var_os="homeassistant" DISK_SIZE="32G" # for version in "${VERSIONS[@]}"; do - eval "$version=$(curl -s https://raw.githubusercontent.com/home-assistant/version/master/$version.json | grep "ova" | cut -d '"' -f 4)" + eval "$version=$(curl -fsSL https://raw.githubusercontent.com/home-assistant/version/master/$version.json | grep "ova" | cut -d '"' -f 4)" done YW=$(echo "\033[33m") BL=$(echo "\033[36m") @@ -51,11 +50,11 @@ SPINNER_PID="" set -Eeuo pipefail trap 'error_handler $LINENO "$BASH_COMMAND"' ERR trap cleanup EXIT -trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM function error_handler() { - if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi + if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi printf "\e[?25h" local exit_code="$?" local line_number="$1" @@ -87,13 +86,13 @@ else fi function spinner() { - local chars="/-\|" - local spin_i=0 - printf "\e[?25l" - while true; do - printf "\r \e[36m%s\e[0m" "${chars:spin_i++%${#chars}:1}" - sleep 0.1 - done + local chars="/-\|" + local spin_i=0 + printf "\e[?25l" + while true; do + printf "\r \e[36m%s\e[0m" "${chars:spin_i++%${#chars}:1}" + sleep 0.1 + done } function msg_info() { @@ -104,14 +103,14 @@ function msg_info() { } function msg_ok() { - if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi + if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi printf "\e[?25h" local msg="$1" echo -e "${BFR} ${CM} ${GN}${msg}${CL}" } function msg_error() { - if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi + if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi printf "\e[?25h" local msg="$1" echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}" @@ -134,7 +133,7 @@ function pve_check() { echo -e "Exiting..." sleep 2 exit -fi + fi } function arch_check() { @@ -393,7 +392,6 @@ pve_check ssh_check start_script - post_to_api_vm msg_info "Validating Storage" @@ -416,7 +414,7 @@ elif [ $((${#STORAGE_MENU[@]} / 3)) -eq 1 ]; then STORAGE=${STORAGE_MENU[0]} else while [ -z "${STORAGE:+x}" ]; do - if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi + if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi printf "\e[?25h" STORAGE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Storage Pools" --radiolist \ "Which storage pool you would like to use for ${HN}?\nTo make a selection, use the Spacebar.\n" \ @@ -434,7 +432,7 @@ else fi sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}haos_ova-${BRANCH}.qcow2.xz${CL}" @@ -485,5 +483,3 @@ if [ "$START_VM" == "yes" ]; then fi post_update_to_api "done" "none" msg_ok "Completed Successfully!\n" - - diff --git a/vm/mikrotik-routeros.sh b/vm/mikrotik-routeros.sh index ce417ca85..816c66378 100644 --- a/vm/mikrotik-routeros.sh +++ b/vm/mikrotik-routeros.sh @@ -5,8 +5,7 @@ # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<< $(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) - +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { cat <<"EOF" @@ -50,7 +49,7 @@ shopt -s expand_aliases alias die='EXIT=$? LINE=$LINENO error_exit' trap die ERR trap cleanup EXIT -trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM function error_exit() { trap - ERR @@ -255,7 +254,7 @@ URL=https://download.mikrotik.com/routeros/7.15.3/chr-7.15.3.img.zip sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}$FILE${CL}" diff --git a/vm/nextcloud-vm.sh b/vm/nextcloud-vm.sh index eaa20adec..c38de7375 100644 --- a/vm/nextcloud-vm.sh +++ b/vm/nextcloud-vm.sh @@ -5,7 +5,7 @@ # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<< $(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { clear @@ -46,7 +46,7 @@ THIN="discard=on,ssd=1" set -e trap 'error_handler $LINENO "$BASH_COMMAND"' ERR trap cleanup EXIT -trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM function error_handler() { local exit_code="$?" @@ -110,7 +110,7 @@ function pve_check() { echo -e "Exiting..." sleep 2 exit -fi + fi } function arch_check() { @@ -389,7 +389,7 @@ msg_info "Retrieving the URL for the $NAME Disk Image" URL=http://mirror.turnkeylinux.org/turnkeylinux/images/iso/turnkey-nextcloud-18.1-bookworm-amd64.iso sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" diff --git a/vm/openwrt.sh b/vm/openwrt.sh index ea0474e58..caf5ac6aa 100644 --- a/vm/openwrt.sh +++ b/vm/openwrt.sh @@ -7,7 +7,7 @@ # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Based on work from https://i12bretro.github.io/tutorials/0405.html -source /dev/stdin <<< $(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { clear @@ -49,7 +49,7 @@ CROSS="${RD}βœ—${CL}" set -Eeo pipefail trap 'error_handler $LINENO "$BASH_COMMAND"' ERR trap cleanup EXIT -trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM function error_handler() { local exit_code="$?" @@ -176,7 +176,7 @@ function pve_check() { echo -e "Exiting..." sleep 2 exit -fi + fi } function arch_check() { @@ -447,13 +447,13 @@ msg_ok "Using ${CL}${BL}$STORAGE${CL} ${GN}for Storage Location." msg_ok "Virtual Machine ID is ${CL}${BL}$VMID${CL}." msg_info "Getting URL for OpenWrt Disk Image" -response=$(curl -s https://openwrt.org) +response=$(curl -fsSL https://openwrt.org) stableversion=$(echo "$response" | sed -n 's/.*Current stable release - OpenWrt \([0-9.]\+\).*/\1/p' | head -n 1) URL="https://downloads.openwrt.org/releases/$stableversion/targets/x86/64/openwrt-$stableversion-x86-64-generic-ext4-combined.img.gz" sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}$FILE${CL}" diff --git a/vm/opnsense-vm.sh b/vm/opnsense-vm.sh index 04a6a9124..db4ae2898 100644 --- a/vm/opnsense-vm.sh +++ b/vm/opnsense-vm.sh @@ -4,11 +4,11 @@ # Author: michelroegl-brunner # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<<$(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { clear - cat <<"EOF" + cat <<"EOF" ____ ____ _ __ / __ \/ __ \/ | / /_______ ____ ________ / / / / /_/ / |/ / ___/ _ \/ __ \/ ___/ _ \ @@ -230,8 +230,8 @@ function default_settings() { echo -e "${DGN}Allocated Cores: ${BGN}${CORE_COUNT}${CL}" echo -e "${DGN}Allocated RAM: ${BGN}${RAM_SIZE}${CL}" if ! grep -q "^iface ${BRG}" /etc/network/interfaces; then - msg_error "Bridge '${BRG}' does not exist in /etc/network/interfaces" - exit + msg_error "Bridge '${BRG}' does not exist in /etc/network/interfaces" + exit else echo -e "${DGN}Using LAN Bridge: ${BGN}${BRG}${CL}" fi @@ -527,10 +527,10 @@ msg_info "Retrieving the URL for the OPNsense Qcow2 Disk Image" URL=https://download.freebsd.org/releases/VM-IMAGES/14.2-RELEASE/amd64/Latest/FreeBSD-14.2-RELEASE-amd64.qcow2.xz sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=Fressbsd.qcow2 -unxz -cv $(basename $URL) > ${FILE} +unxz -cv $(basename $URL) >${FILE} msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" STORAGE_TYPE=$(pvesm status -storage $STORAGE | awk 'NR>1 {print $2}') @@ -564,10 +564,11 @@ qm set $VMID \ -efidisk0 ${DISK0_REF}${FORMAT} \ -scsi0 ${DISK1_REF},${DISK_CACHE}${THIN}size=2G \ -boot order=scsi0 \ - -serial0 socket >/dev/null \ - -tags community-script + -serial0 socket \ + -tags community-script >/dev/null qm resize $VMID scsi0 10G >/dev/null - DESCRIPTION=$(cat < Logo @@ -596,76 +597,76 @@ qm resize $VMID scsi0 10G >/dev/null
EOF ) - qm set "$VMID" -description "$DESCRIPTION" >/dev/null +qm set "$VMID" -description "$DESCRIPTION" >/dev/null msg_info "Bridge interfaces are being added." qm set $VMID \ -net0 virtio,bridge=${BRG},macaddr=${MAC}${VLAN}${MTU} 2>/dev/null msg_ok "Bridge interfaces have been successfully added." - -msg_ok "Created a OPNsense VM ${CL}${BL}(${HN})" - msg_ok "Starting OPNsense VM (Patience this takes 20-30 minutes)" - qm start $VMID - sleep 90 - send_line_to_vm "root" - send_line_to_vm "fetch https://raw.githubusercontent.com/opnsense/update/master/src/bootstrap/opnsense-bootstrap.sh.in" - qm set $VMID \ - -net1 virtio,bridge=${WAN_BRG},macaddr=${WAN_MAC} &>/dev/null - sleep 10 - send_line_to_vm "sh ./opnsense-bootstrap.sh.in -y -f -r 25.1" - msg_ok "OPNsense VM is being installed, do not close the terminal, or the installation will fail." - #We need to wait for the OPNsense build proccess to finish, this takes a few minutes - sleep 1000 - send_line_to_vm "root" - send_line_to_vm "opnsense" - send_line_to_vm "2" - if [ "$IP_ADDR" != "" ]; then - send_line_to_vm "1" - send_line_to_vm "n" - send_line_to_vm "${IP_ADDR}" - send_line_to_vm "${NETMASK}" - send_line_to_vm "${LAN_GW}" - send_line_to_vm "n" - send_line_to_vm " " - send_line_to_vm "n" - send_line_to_vm "n" - send_line_to_vm " " - send_line_to_vm "n" - send_line_to_vm "n" - send_line_to_vm "n" - send_line_to_vm "n" - send_line_to_vm "n" - else - send_line_to_vm "1" - send_line_to_vm "y" - send_line_to_vm "n" - send_line_to_vm "n" - send_line_to_vm " " - send_line_to_vm "n" - send_line_to_vm "n" - send_line_to_vm "n" - fi - #we need to wait for the Config changes to be saved - sleep 20 - if [ "$WAN_IP_ADDR" != "" ]; then - send_line_to_vm "2" - send_line_to_vm "2" - send_line_to_vm "n" - send_line_to_vm "${WAN_IP_ADDR}" - send_line_to_vm "${NETMASK}" - send_line_to_vm "${LAN_GW}" - send_line_to_vm "n" - send_line_to_vm " " - send_line_to_vm "n" - send_line_to_vm " " - send_line_to_vm "n" - send_line_to_vm "n" - send_line_to_vm "n" - fi - sleep 10 - send_line_to_vm "0" - msg_ok "Started OPNsense VM" +msg_ok "Created a OPNsense VM ${CL}${BL}(${HN})" +msg_ok "Starting OPNsense VM (Patience this takes 20-30 minutes)" +qm start $VMID +sleep 90 +send_line_to_vm "root" +send_line_to_vm "fetch https://raw.githubusercontent.com/opnsense/update/master/src/bootstrap/opnsense-bootstrap.sh.in" +qm set $VMID \ + -net1 virtio,bridge=${WAN_BRG},macaddr=${WAN_MAC} &>/dev/null +sleep 10 +send_line_to_vm "sh ./opnsense-bootstrap.sh.in -y -f -r 25.1" +msg_ok "OPNsense VM is being installed, do not close the terminal, or the installation will fail." +#We need to wait for the OPNsense build proccess to finish, this takes a few minutes +sleep 1000 +send_line_to_vm "root" +send_line_to_vm "opnsense" +send_line_to_vm "2" + +if [ "$IP_ADDR" != "" ]; then + send_line_to_vm "1" + send_line_to_vm "n" + send_line_to_vm "${IP_ADDR}" + send_line_to_vm "${NETMASK}" + send_line_to_vm "${LAN_GW}" + send_line_to_vm "n" + send_line_to_vm " " + send_line_to_vm "n" + send_line_to_vm "n" + send_line_to_vm " " + send_line_to_vm "n" + send_line_to_vm "n" + send_line_to_vm "n" + send_line_to_vm "n" + send_line_to_vm "n" +else + send_line_to_vm "1" + send_line_to_vm "y" + send_line_to_vm "n" + send_line_to_vm "n" + send_line_to_vm " " + send_line_to_vm "n" + send_line_to_vm "n" + send_line_to_vm "n" +fi +#we need to wait for the Config changes to be saved +sleep 20 +if [ "$WAN_IP_ADDR" != "" ]; then + send_line_to_vm "2" + send_line_to_vm "2" + send_line_to_vm "n" + send_line_to_vm "${WAN_IP_ADDR}" + send_line_to_vm "${NETMASK}" + send_line_to_vm "${LAN_GW}" + send_line_to_vm "n" + send_line_to_vm " " + send_line_to_vm "n" + send_line_to_vm " " + send_line_to_vm "n" + send_line_to_vm "n" + send_line_to_vm "n" +fi +sleep 10 +send_line_to_vm "0" +msg_ok "Started OPNsense VM" msg_ok "Completed Successfully!\n" if [ "$IP_ADDR" != "" ]; then diff --git a/vm/owncloud-vm.sh b/vm/owncloud-vm.sh index 4c49e9a23..7a663a0c1 100644 --- a/vm/owncloud-vm.sh +++ b/vm/owncloud-vm.sh @@ -5,7 +5,7 @@ # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<< $(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { clear @@ -46,7 +46,7 @@ THIN="discard=on,ssd=1" set -e trap 'error_handler $LINENO "$BASH_COMMAND"' ERR trap cleanup EXIT -trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM function error_handler() { local exit_code="$?" @@ -110,7 +110,7 @@ function pve_check() { echo -e "Exiting..." sleep 2 exit -fi + fi } function arch_check() { @@ -389,7 +389,7 @@ msg_info "Retrieving the URL for the $NAME Disk Image" URL=http://mirror.turnkeylinux.org/turnkeylinux/images/iso/turnkey-owncloud-18.0-bookworm-amd64.iso sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" diff --git a/vm/pimox-haos-vm.sh b/vm/pimox-haos-vm.sh index 371034305..8161d6f71 100644 --- a/vm/pimox-haos-vm.sh +++ b/vm/pimox-haos-vm.sh @@ -5,7 +5,7 @@ # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<< $(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { cat <<"EOF" @@ -35,9 +35,9 @@ DISK_SIZE="32G" GEN_MAC=$(echo '00 60 2f'$(od -An -N3 -t xC /dev/urandom) | sed -e 's/ /:/g' | tr '[:lower:]' '[:upper:]') USEDID=$(pvesh get /cluster/resources --type vm --output-format yaml | egrep -i 'vmid' | awk '{print substr($2, 1, length($2)-0) }') NEXTID=$(pvesh get /cluster/nextid) -STABLE=$(curl -s https://raw.githubusercontent.com/home-assistant/version/master/stable.json | grep "ova" | awk '{print substr($2, 2, length($2)-3) }') -BETA=$(curl -s https://raw.githubusercontent.com/home-assistant/version/master/beta.json | grep "ova" | awk '{print substr($2, 2, length($2)-3) }') -DEV=$(curl -s https://raw.githubusercontent.com/home-assistant/version/master/dev.json | grep "ova" | awk '{print substr($2, 2, length($2)-3) }') +STABLE=$(curl -fsSL https://raw.githubusercontent.com/home-assistant/version/master/stable.json | grep "ova" | awk '{print substr($2, 2, length($2)-3) }') +BETA=$(curl -fsSL https://raw.githubusercontent.com/home-assistant/version/master/beta.json | grep "ova" | awk '{print substr($2, 2, length($2)-3) }') +DEV=$(curl -fsSL https://raw.githubusercontent.com/home-assistant/version/master/dev.json | grep "ova" | awk '{print substr($2, 2, length($2)-3) }') YW=$(echo "\033[33m") BL=$(echo "\033[36m") HA=$(echo "\033[1;34m") @@ -58,7 +58,7 @@ shopt -s expand_aliases alias die='EXIT=$? LINE=$LINENO error_exit' trap die ERR trap cleanup EXIT -trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM function error_exit() { trap - ERR @@ -84,10 +84,10 @@ function cleanup() { } TEMP_DIR=$(mktemp -d) pushd $TEMP_DIR >/dev/null -if ! command -v whiptail &> /dev/null; then - echo "Installing whiptail..." - apt-get update &>/dev/null - apt-get install -y whiptail &>/dev/null +if ! command -v whiptail &>/dev/null; then + echo "Installing whiptail..." + apt-get update &>/dev/null + apt-get install -y whiptail &>/dev/null fi if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "PiMox HAOS VM" --yesno "This will create a New PiMox HAOS VM. Proceed?" 10 58); then echo "User selected Yes" @@ -296,7 +296,7 @@ msg_info "Getting URL for Home Assistant ${BRANCH} Disk Image" URL=https://github.com/home-assistant/operating-system/releases/download/${BRANCH}/haos_generic-aarch64-${BRANCH}.qcow2.xz sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}haos_generic-aarch64-${BRANCH}.qcow2.xz${CL}" diff --git a/vm/ubuntu2204-vm.sh b/vm/ubuntu2204-vm.sh index 2da417537..73457818a 100644 --- a/vm/ubuntu2204-vm.sh +++ b/vm/ubuntu2204-vm.sh @@ -4,7 +4,7 @@ # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<< $(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { clear @@ -63,7 +63,7 @@ THIN="discard=on,ssd=1," set -e trap 'error_handler $LINENO "$BASH_COMMAND"' ERR trap cleanup EXIT -trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM function error_handler() { local exit_code="$?" @@ -92,7 +92,7 @@ pushd $TEMP_DIR >/dev/null if whiptail --backtitle "Proxmox VE Helper Scripts" --title "Ubuntu 22.04 VM" --yesno "This will create a New Ubuntu 22.04 VM. Proceed?" 10 58; then : else - header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit + header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit fi function msg_info() { @@ -121,7 +121,7 @@ function check_root() { } function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[0-9]+)*"; then + if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[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..." @@ -226,7 +226,7 @@ function advanced_settings() { else exit-script fi - + if DISK_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Disk Size in GiB (e.g., 10, 20)" 8 58 "$DISK_SIZE" --title "DISK SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then DISK_SIZE=$(echo "$DISK_SIZE" | tr -d ' ') if [[ "$DISK_SIZE" =~ ^[0-9]+$ ]]; then @@ -241,7 +241,7 @@ function advanced_settings() { else exit-script fi - + if DISK_CACHE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "DISK CACHE" --radiolist "Choose" --cancel-button Exit-Script 10 58 2 \ "0" "None (Default)" ON \ "1" "Write Through" OFF \ @@ -423,7 +423,7 @@ msg_info "Retrieving the URL for the Ubuntu 22.04 Disk Image" URL=https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" @@ -493,11 +493,11 @@ EOF ) qm set "$VMID" -description "$DESCRIPTION" >/dev/null if [ -n "$DISK_SIZE" ]; then - msg_info "Resizing disk to $DISK_SIZE GB" - qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null + msg_info "Resizing disk to $DISK_SIZE GB" + qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null else - msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB" - qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null + msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB" + qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null fi msg_ok "Created a Ubuntu 22.04 VM ${CL}${BL}(${HN})" diff --git a/vm/ubuntu2404-vm.sh b/vm/ubuntu2404-vm.sh index acabade15..5ea957b3e 100644 --- a/vm/ubuntu2404-vm.sh +++ b/vm/ubuntu2404-vm.sh @@ -5,7 +5,7 @@ # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<< $(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { clear @@ -29,7 +29,7 @@ var_os="ubuntu" var_version="2404" YW=$(echo "\033[33m") -BL=$(echo "\033[36m") +BL=$(echo "\033[36m") RD=$(echo "\033[01;31m") BGN=$(echo "\033[4;92m") GN=$(echo "\033[1;92m") @@ -64,7 +64,7 @@ THIN="discard=on,ssd=1," set -e trap 'error_handler $LINENO "$BASH_COMMAND"' ERR trap cleanup EXIT -trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM function error_handler() { local exit_code="$?" @@ -93,7 +93,7 @@ pushd $TEMP_DIR >/dev/null if whiptail --backtitle "Proxmox VE Helper Scripts" --title "Ubuntu 24.04 VM" --yesno "This will create a New Ubuntu 24.04 VM. Proceed?" 10 58; then : else - header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit + header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit fi function msg_info() { @@ -122,7 +122,7 @@ function check_root() { } function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[0-9]+)*"; then + if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[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..." @@ -227,7 +227,7 @@ function advanced_settings() { else exit-script fi - + if DISK_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Disk Size in GiB (e.g., 10, 20)" 8 58 "$DISK_SIZE" --title "DISK SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then DISK_SIZE=$(echo "$DISK_SIZE" | tr -d ' ') if [[ "$DISK_SIZE" =~ ^[0-9]+$ ]]; then @@ -242,7 +242,7 @@ function advanced_settings() { else exit-script fi - + if DISK_CACHE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "DISK CACHE" --radiolist "Choose" --cancel-button Exit-Script 10 58 2 \ "0" "None (Default)" ON \ "1" "Write Through" OFF \ @@ -423,7 +423,7 @@ msg_info "Retrieving the URL for the Ubuntu 24.04 Disk Image" URL=https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" @@ -493,11 +493,11 @@ EOF ) qm set "$VMID" -description "$DESCRIPTION" >/dev/null if [ -n "$DISK_SIZE" ]; then - msg_info "Resizing disk to $DISK_SIZE GB" - qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null + msg_info "Resizing disk to $DISK_SIZE GB" + qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null else - msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB" - qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null + msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB" + qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null fi msg_ok "Created a Ubuntu 24.04 VM ${CL}${BL}(${HN})" diff --git a/vm/ubuntu2410-vm.sh b/vm/ubuntu2410-vm.sh index 69e2f5359..459c1ac6a 100644 --- a/vm/ubuntu2410-vm.sh +++ b/vm/ubuntu2410-vm.sh @@ -4,7 +4,7 @@ # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -source /dev/stdin <<< $(wget -qLO - https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) +source /dev/stdin <<<$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) function header_info { clear @@ -63,7 +63,7 @@ THIN="discard=on,ssd=1," set -e trap 'error_handler $LINENO "$BASH_COMMAND"' ERR trap cleanup EXIT -trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT +trap 'post_update_to_api "failed" "INTERRUPTED"' SIGINT trap 'post_update_to_api "failed" "TERMINATED"' SIGTERM function error_handler() { local exit_code="$?" @@ -92,7 +92,7 @@ pushd $TEMP_DIR >/dev/null if whiptail --backtitle "Proxmox VE Helper Scripts" --title "Ubuntu 24.10 VM" --yesno "This will create a New Ubuntu 24.10 VM. Proceed?" 10 58; then : else - header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit + header_info && echo -e "${CROSS}${RD}User exited script${CL}\n" && exit fi function msg_info() { @@ -121,7 +121,7 @@ function check_root() { } function pve_check() { - if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[0-9]+)*"; then + if ! pveversion | grep -Eq "pve-manager/8\.[1-3](\.[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..." @@ -226,7 +226,7 @@ function advanced_settings() { else exit-script fi - + if DISK_SIZE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set Disk Size in GiB (e.g., 10, 20)" 8 58 "$DISK_SIZE" --title "DISK SIZE" --cancel-button Exit-Script 3>&1 1>&2 2>&3); then DISK_SIZE=$(echo "$DISK_SIZE" | tr -d ' ') if [[ "$DISK_SIZE" =~ ^[0-9]+$ ]]; then @@ -241,7 +241,7 @@ function advanced_settings() { else exit-script fi - + if DISK_CACHE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "DISK CACHE" --radiolist "Choose" --cancel-button Exit-Script 10 58 2 \ "0" "None (Default)" ON \ "1" "Write Through" OFF \ @@ -423,7 +423,7 @@ msg_info "Retrieving the URL for the Ubuntu 24.10 Disk Image" URL=https://cloud-images.ubuntu.com/oracular/current/oracular-server-cloudimg-amd64.img sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -wget -q --show-progress $URL +curl -fsSL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" @@ -493,11 +493,11 @@ EOF ) qm set "$VMID" -description "$DESCRIPTION" >/dev/null if [ -n "$DISK_SIZE" ]; then - msg_info "Resizing disk to $DISK_SIZE GB" - qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null + msg_info "Resizing disk to $DISK_SIZE GB" + qm resize $VMID scsi0 ${DISK_SIZE} >/dev/null else - msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB" - qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null + msg_info "Using default disk size of $DEFAULT_DISK_SIZE GB" + qm resize $VMID scsi0 ${DEFAULT_DISK_SIZE} >/dev/null fi msg_ok "Created a Ubuntu 24.10 VM ${CL}${BL}(${HN})" From ce0cf894a39b4001a1b98279cfa3050784b27386 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 1 Apr 2025 10:28:28 +0200 Subject: [PATCH 054/166] Bump vite from 5.4.14 to 5.4.16 in /frontend (#3549) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.14 to 5.4.16. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.4.16/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.4.16/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-version: 5.4.16 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 d4d35bfd3..3c328376d 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9614,9 +9614,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "5.4.14", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz", - "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==", + "version": "5.4.16", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.16.tgz", + "integrity": "sha512-Y5gnfp4NemVfgOTDQAunSD4346fal44L9mszGGY/e+qxsRT5y1sMlS/8tiQ8AFAp+MFgYNSINdfEchJiPm41vQ==", "dev": true, "license": "MIT", "dependencies": { From b4458463a8c129bd19e00911187981fff32bcbf6 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 10:33:32 +0200 Subject: [PATCH 055/166] fix header --- misc/build.func | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/build.func b/misc/build.func index d7341e225..2e00422b2 100644 --- a/misc/build.func +++ b/misc/build.func @@ -296,7 +296,7 @@ get_header() { # Check if local file already present if [ ! -s "$local_header_path" ]; then - curl -fsSL "$header_url" -o "$local_header_path" + curl -fsSL "$local_header_path" "$header_url" if [ $? -ne 0 ]; then echo -e "${WARN}${BOLD}${YLW}Failed to download header for ${app_name}. No header will be displayed.${CL}" return 1 From b0a896cfcb8764d00df4a56d9e0987bf6cc9d233 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, 1 Apr 2025 10:35:12 +0200 Subject: [PATCH 056/166] Update CHANGELOG.md (#3546) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0daae65ad..137b99fc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,18 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-04-01 + +### πŸš€ Updated Scripts + + - #### 🐞 Bug Fixes + + - Replace wget with curl -fsSL, normalize downloads, and prep for IPv6 [@MickLesk](https://github.com/MickLesk) ([#3455](https://github.com/community-scripts/ProxmoxVE/pull/3455)) + +### 🌐 Website + + - Bump vite from 5.4.14 to 5.4.16 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#3549](https://github.com/community-scripts/ProxmoxVE/pull/3549)) + ## 2025-03-31 ### πŸ†• New Scripts From 220de44ee5fa2976c88ccb3891f26a7f06587049 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 10:37:05 +0200 Subject: [PATCH 057/166] Update build.func --- misc/build.func | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/misc/build.func b/misc/build.func index 2e00422b2..7cc2caa82 100644 --- a/misc/build.func +++ b/misc/build.func @@ -288,21 +288,20 @@ update_motd_ip() { # Function to download & save header files get_header() { - local app_name=$(echo ${APP,,} | tr -d ' ') - local header_url="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/ct/headers/${app_name}" - local local_header_path="/usr/local/community-scripts/headers/${app_name}" + local app_name=$(echo "${APP,,}" | tr -d ' ') + local header_url="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/headers/${app_name}" + local local_header_path="/usr/local/community-scripts/headers/${app_name}" - mkdir -p "/usr/local/community-scripts/headers" + mkdir -p "$(dirname "$local_header_path")" - # Check if local file already present - if [ ! -s "$local_header_path" ]; then - curl -fsSL "$local_header_path" "$header_url" - if [ $? -ne 0 ]; then - echo -e "${WARN}${BOLD}${YLW}Failed to download header for ${app_name}. No header will be displayed.${CL}" - return 1 + if [ ! -s "$local_header_path" ]; then + if ! curl -fsSL "$header_url" -o "$local_header_path"; then + echo -e "${WARN:-}[WARN]${BOLD:-}${YLW:-} Failed to download header for ${app_name}. No header will be displayed.${CL:-}" + return 1 + fi fi - fi - cat "$local_header_path" + + cat "$local_header_path" } # This function sets the APP-Name into an ASCII Header in Slant, figlet needed on proxmox main node. From 0ed9e8c205018e6f50bf239094ff87321fa11a6b Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 10:38:08 +0200 Subject: [PATCH 058/166] Update build.func --- misc/build.func | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/build.func b/misc/build.func index 7cc2caa82..bc83caebc 100644 --- a/misc/build.func +++ b/misc/build.func @@ -296,7 +296,7 @@ get_header() { if [ ! -s "$local_header_path" ]; then if ! curl -fsSL "$header_url" -o "$local_header_path"; then - echo -e "${WARN:-}[WARN]${BOLD:-}${YLW:-} Failed to download header for ${app_name}. No header will be displayed.${CL:-}" + echo -e "Failed to download header for ${app_name}. No header will be displayed." return 1 fi fi From f7e7d457df3a1727f93ec04400353b7630d9ace8 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 10:51:52 +0200 Subject: [PATCH 059/166] fix basename for curl --- ct/authelia.sh | 4 ++-- ct/autobrr.sh | 4 ++-- ct/baikal.sh | 4 ++-- ct/barcode-buddy.sh | 4 ++-- ct/bookstack.sh | 2 +- ct/cockpit.sh | 8 ++++---- ct/commafeed.sh | 4 ++-- ct/crafty-controller.sh | 4 ++-- ct/cryptpad.sh | 2 +- ct/duplicati.sh | 4 ++-- ct/firefly.sh | 4 ++-- ct/flaresolverr.sh | 2 +- ct/gitea.sh | 2 +- ct/glance.sh | 4 ++-- ct/go2rtc.sh | 4 ++-- ct/gotify.sh | 4 ++-- ct/grist.sh | 4 ++-- ct/headscale.sh | 4 ++-- ct/heimdall-dashboard.sh | 4 ++-- ct/hoarder.sh | 4 ++-- ct/homarr.sh | 2 +- ct/homer.sh | 4 ++-- ct/inspircd.sh | 4 ++-- ct/jackett.sh | 2 +- ct/keycloak.sh | 4 ++-- ct/kimai.sh | 4 ++-- ct/koillection.sh | 4 ++-- ct/komga.sh | 4 ++-- ct/kubo.sh | 2 +- ct/linkwarden.sh | 4 ++-- ct/listmonk.sh | 4 ++-- ct/lubelogger.sh | 4 ++-- ct/mafl.sh | 4 ++-- ct/minio.sh | 4 ++-- ct/monica.sh | 4 ++-- ct/myspeed.sh | 2 +- ct/netbox.sh | 4 ++-- ct/nextpvr.sh | 4 ++-- ct/ombi.sh | 4 ++-- ct/onedev.sh | 4 ++-- ct/opengist.sh | 4 ++-- ct/paperless-ai.sh | 4 ++-- ct/paperless-ngx.sh | 6 +++--- ct/part-db.sh | 4 ++-- ct/pelican-panel.sh | 4 ++-- ct/pf2etools.sh | 4 ++-- ct/photoprism.sh | 4 ++-- ct/phpipam.sh | 4 ++-- ct/pingvin.sh | 4 ++-- ct/plant-it.sh | 6 +++--- ct/pocketid.sh | 4 ++-- ct/privatebin.sh | 4 ++-- ct/projectsend.sh | 4 ++-- ct/prometheus-alertmanager.sh | 4 ++-- ct/prometheus-paperless-ngx-exporter.sh | 4 ++-- ct/prometheus.sh | 4 ++-- ct/pterodactyl-panel.sh | 4 ++-- ct/rdtclient.sh | 4 ++-- ct/recyclarr.sh | 4 ++-- ct/rustdeskserver.sh | 6 +++--- ct/seelf.sh | 4 ++-- ct/semaphore.sh | 4 ++-- ct/silverbullet.sh | 4 ++-- ct/spoolman.sh | 2 +- ct/stirling-pdf.sh | 4 ++-- ct/suwayomiserver.sh | 4 ++-- ct/tasmocompiler.sh | 4 ++-- ct/technitiumdns.sh | 4 ++-- ct/teddycloud.sh | 4 ++-- ct/the-lounge.sh | 2 +- ct/tianji.sh | 2 +- ct/traefik.sh | 4 ++-- ct/trilium.sh | 4 ++-- ct/victoriametrics.sh | 6 +++--- ct/vikunja.sh | 4 ++-- ct/wallos.sh | 4 ++-- ct/watchyourlan.sh | 4 ++-- ct/wavelog.sh | 4 ++-- ct/wikijs.sh | 4 ++-- ct/zabbix.sh | 4 ++-- ct/zigbee2mqtt.sh | 4 ++-- ct/zipline.sh | 4 ++-- ct/zoraxy.sh | 4 ++-- ct/zwave-js-ui.sh | 4 ++-- install/2fauth-install.sh | 2 +- install/actualbudget-install.sh | 2 +- install/adventurelog-install.sh | 2 +- install/agentdvr-install.sh | 2 +- install/apache-guacamole-install.sh | 4 ++-- install/apache-tika-install.sh | 2 +- install/aria2-install.sh | 2 +- install/authelia-install.sh | 2 +- install/authentik-install.sh | 2 +- install/autobrr-install.sh | 2 +- install/baikal-install.sh | 2 +- install/barcode-buddy-install.sh | 2 +- install/bazarr-install.sh | 2 +- install/bookstack-install.sh | 2 +- install/caddy-install.sh | 2 +- install/commafeed-install.sh | 4 ++-- install/cosmos-install.sh | 2 +- install/crafty-controller-install.sh | 2 +- install/duplicati-install.sh | 2 +- install/emby-install.sh | 2 +- install/ersatztv-install.sh | 2 +- install/fenrus-install.sh | 2 +- install/firefly-install.sh | 2 +- install/freshrss-install.sh | 2 +- install/frigate-install.sh | 2 +- install/gitea-install.sh | 2 +- install/glance-install.sh | 2 +- install/glpi-install.sh | 2 +- install/go2rtc-install.sh | 2 +- install/gokapi-install.sh | 2 +- install/gotify-install.sh | 2 +- install/graylog-install.sh | 2 +- install/grist-install.sh | 2 +- install/grocy-install.sh | 2 +- install/habitica-install.sh | 2 +- install/headscale-install.sh | 2 +- install/heimdall-dashboard-install.sh | 2 +- install/hivemq-install.sh | 2 +- install/hoarder-install.sh | 4 ++-- install/homarr-install.sh | 2 +- install/homer-install.sh | 2 +- install/influxdb-install.sh | 2 +- install/inspircd-install.sh | 2 +- install/iventoy-install.sh | 2 +- install/jackett-install.sh | 2 +- install/kimai-install.sh | 2 +- install/koillection-install.sh | 2 +- install/komga-install.sh | 2 +- install/komodo-install.sh | 2 +- install/linkwarden-install.sh | 2 +- install/listmonk-install.sh | 2 +- install/lubelogger-install.sh | 2 +- install/mafl-install.sh | 2 +- install/mariadb-install.sh | 2 +- install/mediamtx-install.sh | 2 +- install/minio-install.sh | 2 +- install/monica-install.sh | 2 +- install/myspeed-install.sh | 2 +- install/mysql-install.sh | 2 +- install/netbox-install.sh | 2 +- install/nextpvr-install.sh | 2 +- install/nodebb-install.sh | 2 +- install/npmplus-install.sh | 2 +- install/omada-install.sh | 2 +- install/ombi-install.sh | 2 +- install/onedev-install.sh | 2 +- install/opengist-install.sh | 2 +- install/openhab-install.sh | 2 +- install/owncast-install.sh | 2 +- install/paperless-ai-install.sh | 2 +- install/paperless-ngx-install.sh | 2 +- install/part-db-install.sh | 2 +- install/paymenter-install.sh | 2 +- install/pelican-panel-install.sh | 2 +- install/pf2etools-install.sh | 2 +- install/photoprism-install.sh | 4 ++-- install/phpipam-install.sh | 2 +- install/pingvin-install.sh | 2 +- install/plant-it-install.sh | 4 ++-- install/pocketid-install.sh | 2 +- install/privatebin-install.sh | 2 +- install/projectsend-install.sh | 2 +- install/prometheus-alertmanager-install.sh | 2 +- install/prometheus-install.sh | 2 +- install/prometheus-paperless-ngx-exporter-install.sh | 2 +- install/pterodactyl-panel-install.sh | 2 +- install/rdtclient-install.sh | 4 ++-- install/recyclarr-install.sh | 2 +- install/runtipi-install.sh | 2 +- install/rustdeskserver-install.sh | 6 +++--- install/seelf-install.sh | 2 +- install/semaphore-install.sh | 2 +- install/silverbullet-install.sh | 2 +- install/spoolman-install.sh | 2 +- install/stirling-pdf-install.sh | 4 ++-- install/suwayomiserver-install.sh | 2 +- install/tasmoadmin-install.sh | 2 +- install/tdarr-install.sh | 2 +- install/teddycloud-install.sh | 2 +- install/the-lounge-install.sh | 2 +- install/tianji-install.sh | 2 +- install/traccar-install.sh | 2 +- install/traefik-install.sh | 2 +- install/trilium-install.sh | 2 +- install/typesense-install.sh | 2 +- install/unifi-install.sh | 2 +- install/victoriametrics-install.sh | 4 ++-- install/vikunja-install.sh | 2 +- install/wallos-install.sh | 2 +- install/watchyourlan-install.sh | 2 +- install/wavelog-install.sh | 2 +- install/wger-install.sh | 2 +- install/wordpress-install.sh | 2 +- install/zabbix-install.sh | 2 +- install/zigbee2mqtt-install.sh | 2 +- install/zipline-install.sh | 2 +- install/zoraxy-install.sh | 2 +- install/zwave-js-ui-install.sh | 2 +- misc/microcode.sh | 4 ++-- misc/netdata.sh | 2 +- misc/olivetin.sh | 2 +- misc/pbs_microcode.sh | 4 ++-- misc/webmin.sh | 2 +- 207 files changed, 298 insertions(+), 298 deletions(-) diff --git a/ct/authelia.sh b/ct/authelia.sh index 10d13329a..c9f9e9bf7 100644 --- a/ct/authelia.sh +++ b/ct/authelia.sh @@ -34,7 +34,7 @@ function update_script() { msg_info "Updating $APP to ${RELEASE}" $STD apt-get update $STD apt-get -y upgrade -curl -fsSL "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" -O $(basename "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb") + curl -fsSL "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" -o $(basename"https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb") $STD dpkg -i "authelia_${RELEASE}_amd64.deb" msg_info "Cleaning Up" rm -f "authelia_${RELEASE}_amd64.deb" @@ -55,4 +55,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}:9091${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9091${CL}" diff --git a/ct/autobrr.sh b/ct/autobrr.sh index 19c3747ee..cdeb2b920 100644 --- a/ct/autobrr.sh +++ b/ct/autobrr.sh @@ -33,7 +33,7 @@ function update_script() { msg_info "Updating ${APP} LXC" rm -rf /usr/local/bin/* -curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)") + curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)") tar -C /usr/local/bin -xzf autobrr*.tar.gz rm -rf autobrr*.tar.gz msg_ok "Updated ${APP} LXC" @@ -52,4 +52,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}:7474${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7474${CL}" diff --git a/ct/baikal.sh b/ct/baikal.sh index 4d9850843..f5613e757 100644 --- a/ct/baikal.sh +++ b/ct/baikal.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt -curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -O $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") + curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename"https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") mv /opt/baikal /opt/baikal-backup unzip -o -q "baikal-${RELEASE}.zip" cp -r /opt/baikal-backup/config/baikal.yaml /opt/baikal/config/ @@ -67,4 +67,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/barcode-buddy.sh b/ct/barcode-buddy.sh index eb56208a2..eede997fb 100644 --- a/ct/barcode-buddy.sh +++ b/ct/barcode-buddy.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt mv /opt/barcodebuddy/ /opt/barcodebuddy-backup -curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy cp -r /opt/barcodebuddy-backup/data/. /opt/barcodebuddy/data @@ -68,4 +68,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/bookstack.sh b/ct/bookstack.sh index acf5cd1ef..b843c738e 100644 --- a/ct/bookstack.sh +++ b/ct/bookstack.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" mv /opt/bookstack /opt/bookstack-backup -curl -fsSL "--directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -O $(basename "--directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "--directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o $(basename"--directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") unzip -q /opt/v${RELEASE}.zip -d /opt mv /opt/BookStack-${RELEASE} /opt/bookstack cp /opt/bookstack-backup/.env /opt/bookstack/.env diff --git a/ct/cockpit.sh b/ct/cockpit.sh index 59ab5a73c..76d8fe70f 100644 --- a/ct/cockpit.sh +++ b/ct/cockpit.sh @@ -51,7 +51,7 @@ function update_script() { $STD apt-get install -y gawk msg_ok "Installed dependencies" msg_info "Installing Cockpit file sharing" -curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") + curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") $STD dpkg -i cockpit-file-sharing_*focal_all.deb rm cockpit-file-sharing_*focal_all.deb msg_ok "Installed Cockpit file sharing" @@ -64,7 +64,7 @@ curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-shar $STD apt-get install -y samba-common-bin msg_ok "Installed dependencies" msg_info "Installing Cockpit identities" -curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") + curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") $STD dpkg -i cockpit-identities_*focal_all.deb rm cockpit-identities_*focal_all.deb msg_ok "Installed Cockpit identities" @@ -76,7 +76,7 @@ curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identitie $STD apt-get install -y zip msg_ok "Installed dependencies" msg_info "Installing Cockpit navigator" -curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") + curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") $STD dpkg -i cockpit-navigator_*focal_all.deb rm cockpit-navigator_*focal_all.deb msg_ok "Installed Cockpit navigator" @@ -91,4 +91,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}:9090${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9090${CL}" diff --git a/ct/commafeed.sh b/ct/commafeed.sh index cefa507f3..1d0c018b7 100644 --- a/ct/commafeed.sh +++ b/ct/commafeed.sh @@ -34,7 +34,7 @@ function update_script() { msg_ok "Stopped ${APP}" msg_info "Updating ${APP} to ${RELEASE}" -curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -O $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") + curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename"https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") unzip -q commafeed-${RELEASE}-h2-jvm.zip rsync -a --exclude 'data/' commafeed-${RELEASE}-h2/ /opt/commafeed/ rm -rf commafeed-${RELEASE}-h2 commafeed-${RELEASE}-h2-jvm.zip @@ -58,4 +58,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}:8082${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8082${CL}" diff --git a/ct/crafty-controller.sh b/ct/crafty-controller.sh index df8310fe8..ad2b40c2e 100644 --- a/ct/crafty-controller.sh +++ b/ct/crafty-controller.sh @@ -45,7 +45,7 @@ function update_script() { msg_ok "Backup Created" msg_info "Updating Crafty-Controller to v${RELEASE}" -curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -O $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") + curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename"https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") unzip -q crafty-4-v${RELEASE}.zip cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/ rm -rf crafty-4-v${RELEASE} @@ -81,4 +81,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}https://${IP}:8443${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}" diff --git a/ct/cryptpad.sh b/ct/cryptpad.sh index 666c78c69..6f5988e55 100644 --- a/ct/cryptpad.sh +++ b/ct/cryptpad.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating $APP to ${RELEASE}" temp_dir=$(mktemp -d) cp -f /opt/cryptpad/config/config.js /opt/config.js -curl -fsSL "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir" -O $(basename "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir") +curl -fsSL "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir" -o $(basename"https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir") cd $temp_dir tar zxf $RELEASE.tar.gz cp -rf cryptpad-$RELEASE/* /opt/cryptpad diff --git a/ct/duplicati.sh b/ct/duplicati.sh index 22e1d9d93..3d785adfe 100644 --- a/ct/duplicati.sh +++ b/ct/duplicati.sh @@ -33,7 +33,7 @@ function update_script() { 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") + 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}" @@ -60,4 +60,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}:8200${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8200${CL}" diff --git a/ct/firefly.sh b/ct/firefly.sh index 1dd94b84a..b0583745a 100644 --- a/ct/firefly.sh +++ b/ct/firefly.sh @@ -38,7 +38,7 @@ function update_script() { cp /opt/firefly/.env /opt/.env cp -r /opt/firefly/storage /opt/storage cd /opt -curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -O $(basename "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz") + curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -o $(basename"https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz") tar -xzf FireflyIII-v${RELEASE}.tar.gz -C /opt/firefly --exclude='storage' cp /opt/.env /opt/firefly/.env cp -r /opt/storage /opt/firefly/storage @@ -74,4 +74,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/flaresolverr.sh b/ct/flaresolverr.sh index 56e21eed9..0801f44e2 100644 --- a/ct/flaresolverr.sh +++ b/ct/flaresolverr.sh @@ -31,7 +31,7 @@ function update_script() { if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Updating $APP LXC" systemctl stop flaresolverr - curl -fsSL "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz" -O $(basename "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz") + curl -fsSL "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz" -o $(basename"https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz") tar -xzf flaresolverr_linux_x64.tar.gz -C /opt rm flaresolverr_linux_x64.tar.gz systemctl start flaresolverr diff --git a/ct/gitea.sh b/ct/gitea.sh index 2bae31f37..bf2c61b75 100644 --- a/ct/gitea.sh +++ b/ct/gitea.sh @@ -29,7 +29,7 @@ function update_script() { fi RELEASE=$(curl -fsSL https://github.com/go-gitea/gitea/releases/latest | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//') msg_info "Updating $APP to ${RELEASE}" - curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -O $(basename "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64") + curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -o $(basename"https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64") systemctl stop gitea rm -rf /usr/local/bin/gitea mv gitea* /usr/local/bin/gitea diff --git a/ct/glance.sh b/ct/glance.sh index 5955a6efe..1ba07e38f 100644 --- a/ct/glance.sh +++ b/ct/glance.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt -curl -fsSL "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz" -O $(basename "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz") + curl -fsSL "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz" -o $(basename"https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz") rm -rf /opt/glance/glance tar -xzf glance-linux-amd64.tar.gz -C /opt/glance echo "${RELEASE}" >"/opt/${APP}_version.txt" @@ -64,4 +64,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}:8080${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" diff --git a/ct/go2rtc.sh b/ct/go2rtc.sh index dcfff2173..d25f5dcee 100644 --- a/ct/go2rtc.sh +++ b/ct/go2rtc.sh @@ -31,7 +31,7 @@ function update_script() { 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") + 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" @@ -45,4 +45,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}:1984${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:1984${CL}" diff --git a/ct/gotify.sh b/ct/gotify.sh index 17963ce5c..1cebc2a38 100644 --- a/ct/gotify.sh +++ b/ct/gotify.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cd /opt/gotify -curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -O $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") + curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename"https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") unzip -oq gotify-linux-amd64.zip rm -rf gotify-linux-amd64.zip chmod +x gotify-linux-amd64 @@ -60,4 +60,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/grist.sh b/ct/grist.sh index 2d8815aee..abbe8e872 100644 --- a/ct/grist.sh +++ b/ct/grist.sh @@ -38,7 +38,7 @@ function update_script() { cd /opt rm -rf grist_bak mv grist grist_bak -curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") unzip -q v$RELEASE.zip mv grist-core-${RELEASE} grist @@ -88,4 +88,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}Grist: http://${IP}:8484${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}Grist: http://${IP}:8484${CL}" diff --git a/ct/headscale.sh b/ct/headscale.sh index 155966e9d..87a467b8e 100644 --- a/ct/headscale.sh +++ b/ct/headscale.sh @@ -34,7 +34,7 @@ function update_script() { 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") + 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 @@ -56,4 +56,4 @@ build_container description msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" \ No newline at end of file +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" diff --git a/ct/heimdall-dashboard.sh b/ct/heimdall-dashboard.sh index f9ce7b450..7799ff275 100644 --- a/ct/heimdall-dashboard.sh +++ b/ct/heimdall-dashboard.sh @@ -39,7 +39,7 @@ function update_script() { sleep 1 msg_ok "Backed up Data" msg_info "Updating Heimdall Dashboard to ${RELEASE}" -curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -O $(basename "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") + curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -o $(basename"https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") tar xzf ${RELEASE}.tar.gz VER=$(curl -fsSL https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cp -R Heimdall-${VER}/* /opt/Heimdall @@ -77,4 +77,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}:7990${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7990${CL}" diff --git a/ct/hoarder.sh b/ct/hoarder.sh index d0c8ba800..788969db3 100644 --- a/ct/hoarder.sh +++ b/ct/hoarder.sh @@ -46,7 +46,7 @@ function update_script() { mv /opt/hoarder/.env /etc/hoarder/hoarder.env fi rm -rf /opt/hoarder -curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv hoarder-${RELEASE} /opt/hoarder cd /opt/hoarder/apps/web @@ -82,4 +82,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/homarr.sh b/ct/homarr.sh index cc25251fc..a91eb788b 100644 --- a/ct/homarr.sh +++ b/ct/homarr.sh @@ -117,7 +117,7 @@ node apps/nextjs/server.js & PID=$! wait $PID EOF chmod +x /opt/run_homarr.sh -curl -fsSL "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip rm -rf v${RELEASE}.zip rm -rf /opt/homarr diff --git a/ct/homer.sh b/ct/homer.sh index 4b97e9423..23e7c8746 100644 --- a/ct/homer.sh +++ b/ct/homer.sh @@ -40,7 +40,7 @@ function update_script() { msg_info "Updating ${APP}" rm -rf /opt/homer/* cd /opt/homer -curl -fsSL "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip" -O $(basename "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip") + curl -fsSL "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip" -o $(basename"https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip") $STD unzip homer.zip msg_ok "Updated ${APP}" @@ -67,4 +67,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}:8010${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8010${CL}" diff --git a/ct/inspircd.sh b/ct/inspircd.sh index 30955a655..f1c8ccfd7 100644 --- a/ct/inspircd.sh +++ b/ct/inspircd.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt -curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -O $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb") + curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -o $(basename"https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb") $STD apt-get install "./inspircd_${RELEASE}.deb12u1_amd64.deb" -y echo "${RELEASE}" >"/opt/${APP}_version.txt" msg_ok "Updated ${APP} to v${RELEASE}" @@ -61,4 +61,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Server-Acces it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}${IP}:6667${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}${IP}:6667${CL}" diff --git a/ct/jackett.sh b/ct/jackett.sh index de6104eb4..11257786d 100644 --- a/ct/jackett.sh +++ b/ct/jackett.sh @@ -30,7 +30,7 @@ function update_script() { RELEASE=$(curl -fsSL https://github.com/Jackett/Jackett/releases/latest | grep "title>Release" | cut -d " " -f 4) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating ${APP}" - curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -O $(basename "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") + curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o $(basename"https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") systemctl stop jackett rm -rf /opt/Jackett tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt diff --git a/ct/keycloak.sh b/ct/keycloak.sh index bfd03786a..4ecf90a50 100644 --- a/ct/keycloak.sh +++ b/ct/keycloak.sh @@ -36,7 +36,7 @@ function update_script() { RELEASE=$(curl -fsSL https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') msg_info "Updating Keycloak to v$RELEASE" cd /opt -curl -fsSL "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz" -O $(basename "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz") + curl -fsSL "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz" -o $(basename"https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz") mv keycloak keycloak.old tar -xzf keycloak-$RELEASE.tar.gz cp -r keycloak.old/conf keycloak-$RELEASE @@ -61,4 +61,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}:8080/admin${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/admin${CL}" diff --git a/ct/kimai.sh b/ct/kimai.sh index 2bd460649..61b6850aa 100644 --- a/ct/kimai.sh +++ b/ct/kimai.sh @@ -44,7 +44,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" rm -rf /opt/kimai -curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv kimai-${RELEASE} /opt/kimai [ -d "$BACKUP_DIR/var" ] && cp -r "$BACKUP_DIR/var" /opt/kimai/ @@ -87,4 +87,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/koillection.sh b/ct/koillection.sh index a6e772578..e77711d3d 100644 --- a/ct/koillection.sh +++ b/ct/koillection.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt mv /opt/koillection/ /opt/koillection-backup -curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "/opt/koillection-${RELEASE}" /opt/koillection cd /opt/koillection @@ -75,4 +75,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/komga.sh b/ct/komga.sh index 6e96b60c7..73c2c7451 100644 --- a/ct/komga.sh +++ b/ct/komga.sh @@ -35,7 +35,7 @@ function update_script() { msg_ok "Stopped ${APP}" msg_info "Updating ${APP} to ${RELEASE}" -curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -O $(basename "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") + curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -o $(basename"https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") rm -rf /opt/komga/komga.jar mv -f komga-${RELEASE}.jar /opt/komga/komga.jar echo "${RELEASE}" >/opt/${APP}_version.txt @@ -58,4 +58,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}:25600${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:25600${CL}" diff --git a/ct/kubo.sh b/ct/kubo.sh index 805b580c7..f83006c2f 100644 --- a/ct/kubo.sh +++ b/ct/kubo.sh @@ -32,7 +32,7 @@ function update_script() { msg_info "Updating $APP LXC" $STD apt-get update $STD apt-get -y upgrade - curl -fsSL "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" -O $(basename "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz") + curl -fsSL "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" -o $(basename"https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz") tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local systemctl restart ipfs.service echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/linkwarden.sh b/ct/linkwarden.sh index 22667c2f1..9ed317285 100644 --- a/ct/linkwarden.sh +++ b/ct/linkwarden.sh @@ -46,7 +46,7 @@ function update_script() { mv /opt/linkwarden/.env /opt/.env rm -rf /opt/linkwarden RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv linkwarden-${RELEASE:1} /opt/linkwarden cd /opt/linkwarden @@ -79,4 +79,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/listmonk.sh b/ct/listmonk.sh index e3ccb5fca..e6b7acef4 100644 --- a/ct/listmonk.sh +++ b/ct/listmonk.sh @@ -38,7 +38,7 @@ function update_script() { cd /opt mv /opt/listmonk/ /opt/listmonk-backup mkdir /opt/listmonk/ -curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz") + curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz") tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk mv /opt/listmonk-backup/config.toml /opt/listmonk/config.toml mv /opt/listmonk-backup/uploads /opt/listmonk/uploads @@ -69,4 +69,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}:9000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}" diff --git a/ct/lubelogger.sh b/ct/lubelogger.sh index 1050a3f70..7c296de40 100644 --- a/ct/lubelogger.sh +++ b/ct/lubelogger.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt -curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -O $(basename "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") + curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -o $(basename"https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") mkdir -p /tmp/lubeloggerData/data cp /opt/lubelogger/appsettings.json /tmp/lubeloggerData/appsettings.json cp -r /opt/lubelogger/data/ /tmp/lubeloggerData/ @@ -78,4 +78,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}:5000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}" diff --git a/ct/mafl.sh b/ct/mafl.sh index c62f62880..94d5905e3 100644 --- a/ct/mafl.sh +++ b/ct/mafl.sh @@ -30,7 +30,7 @@ function update_script() { RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Updating Mafl to v${RELEASE} (Patience)" systemctl stop mafl -curl -fsSL "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz") + curl -fsSL "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz cp -r mafl-${RELEASE}/* /opt/mafl/ rm -rf mafl-${RELEASE} @@ -49,4 +49,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/minio.sh b/ct/minio.sh index adbf76d3e..1907805a6 100644 --- a/ct/minio.sh +++ b/ct/minio.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" mv /usr/local/bin/minio /usr/local/bin/minio_bak -curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -O $(basename "https://dl.min.io/server/minio/release/linux-amd64/minio") + curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o $(basename"https://dl.min.io/server/minio/release/linux-amd64/minio") mv minio /usr/local/bin/ chmod +x /usr/local/bin/minio echo "${RELEASE}" >/opt/${APP}_version.txt @@ -63,4 +63,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}:9000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}" diff --git a/ct/monica.sh b/ct/monica.sh index 2cb2ed348..c095d5f4e 100644 --- a/ct/monica.sh +++ b/ct/monica.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt mv /opt/monica/ /opt/monica-backup -curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -O $(basename "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") + curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -o $(basename"https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") tar -xjf "monica-v${RELEASE}.tar.bz2" mv "/opt/monica-v${RELEASE}" /opt/monica cd /opt/monica/ @@ -73,4 +73,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/myspeed.sh b/ct/myspeed.sh index 17bff14ee..6ec636a78 100644 --- a/ct/myspeed.sh +++ b/ct/myspeed.sh @@ -38,7 +38,7 @@ function update_script() { cd /opt rm -rf myspeed_bak mv myspeed myspeed_bak - curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -O $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") + curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename"https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") unzip -q MySpeed-$RELEASE.zip -d myspeed cd myspeed $STD npm install diff --git a/ct/netbox.sh b/ct/netbox.sh index c726edc03..f76bb713f 100644 --- a/ct/netbox.sh +++ b/ct/netbox.sh @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" mv /opt/netbox/ /opt/netbox-backup cd /opt -curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv /opt/netbox-${RELEASE}/ /opt/netbox/ @@ -82,4 +82,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}https://${IP}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}" diff --git a/ct/nextpvr.sh b/ct/nextpvr.sh index 8fa28e6a5..40d556155 100644 --- a/ct/nextpvr.sh +++ b/ct/nextpvr.sh @@ -39,7 +39,7 @@ function update_script() { msg_info "Updating ${APP}" cd /opt -curl -fsSL "https://nextpvr.com/nextpvr-helper.deb" -O $(basename "https://nextpvr.com/nextpvr-helper.deb") + curl -fsSL "https://nextpvr.com/nextpvr-helper.deb" -o $(basename"https://nextpvr.com/nextpvr-helper.deb") $STD dpkg -i nextpvr-helper.deb msg_ok "Updated ${APP}" @@ -61,4 +61,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}:8866${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8866${CL}" diff --git a/ct/ombi.sh b/ct/ombi.sh index 664ce0e4e..6d8589001 100644 --- a/ct/ombi.sh +++ b/ct/ombi.sh @@ -34,7 +34,7 @@ function update_script() { msg_ok "Stopped ${APP}" msg_info "Updating ${APP} to ${RELEASE}" -curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -O $(basename "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") + curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -o $(basename"https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") tar -xzf linux-x64.tar.gz -C /opt/ombi rm -rf linux-x64.tar.gz echo "${RELEASE}" >/opt/${APP}_version.txt @@ -57,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}:5000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}" diff --git a/ct/onedev.sh b/ct/onedev.sh index dcfb62ea5..d2fafcb72 100644 --- a/ct/onedev.sh +++ b/ct/onedev.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${GITHUB_RELEASE}" cd /opt -curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -O $(basename "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz") + curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -o $(basename"https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz") tar -xzf onedev-latest.tar.gz $STD /opt/onedev-latest/bin/upgrade.sh /opt/onedev RELEASE=$(cat /opt/onedev/release.properties | grep "version" | cut -d'=' -f2) @@ -64,4 +64,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}:6610${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6610${CL}" diff --git a/ct/opengist.sh b/ct/opengist.sh index cab1fa771..e13640ea8 100644 --- a/ct/opengist.sh +++ b/ct/opengist.sh @@ -38,7 +38,7 @@ function update_script() { $STD apt-get -y upgrade cd /opt mv /opt/opengist /opt/opengist-backup -curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -O $(basename "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") + curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -o $(basename"https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") tar -xzf opengist${RELEASE}-linux-amd64.tar.gz mv /opt/opengist-backup/config.yml /opt/opengist/config.yml chmod +x /opt/opengist/opengist @@ -69,4 +69,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}:6157${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6157${CL}" diff --git a/ct/paperless-ai.sh b/ct/paperless-ai.sh index 3b2202a22..3cf8dc1ee 100644 --- a/ct/paperless-ai.sh +++ b/ct/paperless-ai.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" cd /opt mv /opt/paperless-ai /opt/paperless-ai_bak -curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv paperless-ai-${RELEASE} /opt/paperless-ai mkdir -p /opt/paperless-ai/data @@ -67,4 +67,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/paperless-ngx.sh b/ct/paperless-ngx.sh index eecceed3f..24fcdb631 100644 --- a/ct/paperless-ngx.sh +++ b/ct/paperless-ngx.sh @@ -38,7 +38,7 @@ function update_script() { if [[ "$(gs --version 2>/dev/null)" != "10.04.0" ]]; then msg_info "Updating Ghostscript (Patience)" cd /tmp -curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -O $(basename "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") + curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o $(basename"https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") tar -xzf ghostscript-10.04.0.tar.gz cd ghostscript-10.04.0 $STD ./configure @@ -53,7 +53,7 @@ curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/downl msg_info "Updating to ${RELEASE}" cd ~ -curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz" -O $(basename "https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz") + curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz" -o $(basename"https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz") tar -xf paperless-ngx-$RELEASE.tar.xz cp -r /opt/paperless/paperless.conf paperless-ngx/ cp -r paperless-ngx/* /opt/paperless/ @@ -93,4 +93,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}:8000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}" diff --git a/ct/part-db.sh b/ct/part-db.sh index b0c4422e9..f0a2dcf28 100644 --- a/ct/part-db.sh +++ b/ct/part-db.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" cd /opt mv /opt/partdb/ /opt/partdb-backup -curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb @@ -77,4 +77,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/pelican-panel.sh b/ct/pelican-panel.sh index 1eb8751dd..f9a05b6a5 100644 --- a/ct/pelican-panel.sh +++ b/ct/pelican-panel.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cp -r /opt/pelican-panel/.env /opt/ rm -rf * .* -curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -O $(basename "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") + curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename"https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" mv /opt/.env /opt/pelican-panel/ $STD composer install --no-dev --optimize-autoloader --no-interaction @@ -73,4 +73,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}/installer${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/installer${CL}" diff --git a/ct/pf2etools.sh b/ct/pf2etools.sh index 2ba92eec1..107ffc42b 100644 --- a/ct/pf2etools.sh +++ b/ct/pf2etools.sh @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating ${APP}" cd /opt -curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip rm -rf "/opt/${APP}" mv ${APP}-${RELEASE:1} /opt/${APP} @@ -66,4 +66,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/photoprism.sh b/ct/photoprism.sh index 093543a06..d7214f4a4 100644 --- a/ct/photoprism.sh +++ b/ct/photoprism.sh @@ -33,7 +33,7 @@ function update_script() { msg_info "Updating PhotoPrism" $STD apt-get install -y libvips42 -curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1" -O $(basename "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1") + curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1" -o $(basename"-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1") msg_ok "Updated PhotoPrism" msg_info "Starting PhotoPrism" @@ -50,4 +50,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}:2342${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:2342${CL}" diff --git a/ct/phpipam.sh b/ct/phpipam.sh index 2780fade1..9af2dff84 100644 --- a/ct/phpipam.sh +++ b/ct/phpipam.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt mv /opt/phpipam/ /opt/phpipam-backup -curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -O $(basename "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") + curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o $(basename"https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") unzip -q "phpipam-v${RELEASE}.zip" cp /opt/phpipam-backup/config.php /opt/phpipam echo "${RELEASE}" >/opt/${APP}_version.txt @@ -64,4 +64,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/pingvin.sh b/ct/pingvin.sh index 8cd8a6680..cba6cc951 100644 --- a/ct/pingvin.sh +++ b/ct/pingvin.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating Pingvin Share to v${RELEASE}" cd /opt -curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip cp -rf pingvin-share-${RELEASE}/* /opt/pingvin-share cd /opt/pingvin-share @@ -70,4 +70,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/plant-it.sh b/ct/plant-it.sh index d83909893..78074210b 100644 --- a/ct/plant-it.sh +++ b/ct/plant-it.sh @@ -36,9 +36,9 @@ function update_script() { msg_ok "Stopped $APP" msg_info "Updating $APP to v${RELEASE}" -curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar" -o "/opt/plant-it/server.jar" + curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar" -o "/opt/plant-it/server.jar" cd /opt/plant-it/frontend -curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz" -O $(basename "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz") + curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz" -o $(basename"https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz") tar -xzf client.tar.gz rm -f client.tar.gz echo "${RELEASE}" >/opt/${APP}_version.txt @@ -61,4 +61,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/pocketid.sh b/ct/pocketid.sh index 2722c6ec9..88fa2c659 100755 --- a/ct/pocketid.sh +++ b/ct/pocketid.sh @@ -45,7 +45,7 @@ function update_script() { cp /opt/pocket-id/backend/.env /opt/backend.env cp /opt/pocket-id/frontend/.env /opt/frontend.env rm -r /opt/pocket-id -curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv pocket-id-${RELEASE} /opt/pocket-id mv /opt/data /opt/pocket-id/backend/data @@ -87,4 +87,4 @@ msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Configure your reverse proxy to point to:${BGN} ${IP}:80${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}https://{PUBLIC_URL}/login/setup${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}https://{PUBLIC_URL}/login/setup${CL}" diff --git a/ct/privatebin.sh b/ct/privatebin.sh index 300d09f2c..f1d0c1fe1 100644 --- a/ct/privatebin.sh +++ b/ct/privatebin.sh @@ -32,7 +32,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" echo "${RELEASE}" >/opt/${APP}_version.txt cp -f /opt/privatebin/cfg/conf.php /tmp/privatebin_conf.bak -curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip rm -rf /opt/privatebin/* mv PrivateBin-${RELEASE}/* /opt/privatebin/ @@ -56,4 +56,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}https://${IP}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}" diff --git a/ct/projectsend.sh b/ct/projectsend.sh index 7015adba0..f3dbc76e7 100644 --- a/ct/projectsend.sh +++ b/ct/projectsend.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt -curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -O $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") + curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename"https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") unzip -o -q "projectsend-r${RELEASE}.zip" -d projectsend chown -R www-data:www-data /opt/projectsend chmod -R 775 /opt/projectsend @@ -63,4 +63,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/prometheus-alertmanager.sh b/ct/prometheus-alertmanager.sh index 1b248df94..131600bed 100755 --- a/ct/prometheus-alertmanager.sh +++ b/ct/prometheus-alertmanager.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt -curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -O $(basename "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz") + curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o $(basename"https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz") tar -xf alertmanager-${RELEASE}.linux-amd64.tar.gz cp -rf alertmanager-${RELEASE}.linux-amd64/alertmanager alertmanager-${RELEASE}.linux-amd64/amtool /usr/local/bin/ rm -rf alertmanager-${RELEASE}.linux-amd64 alertmanager-${RELEASE}.linux-amd64.tar.gz @@ -59,4 +59,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}:9093${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9093${CL}" diff --git a/ct/prometheus-paperless-ngx-exporter.sh b/ct/prometheus-paperless-ngx-exporter.sh index 27c145785..80bd6adfc 100755 --- a/ct/prometheus-paperless-ngx-exporter.sh +++ b/ct/prometheus-paperless-ngx-exporter.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt -curl -fsSL "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz") + curl -fsSL "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz") tar -xf prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz cp -rf prometheus-paperless-exporter_${RELEASE}_linux_amd64/prometheus-paperless-exporter /usr/local/bin/ rm -rf prometheus-paperless-exporter_${RELEASE}_linux_amd64/ prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz @@ -59,4 +59,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}:8081/metrics${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8081/metrics${CL}" diff --git a/ct/prometheus.sh b/ct/prometheus.sh index 29d7c19ad..20ac48918 100644 --- a/ct/prometheus.sh +++ b/ct/prometheus.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt -curl -fsSL "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz" -O $(basename "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz") + curl -fsSL "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz" -o $(basename"https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz") tar -xf prometheus-${RELEASE}.linux-amd64.tar.gz cp -rf prometheus-${RELEASE}.linux-amd64/prometheus prometheus-${RELEASE}.linux-amd64/promtool /usr/local/bin/ rm -rf prometheus-${RELEASE}.linux-amd64 prometheus-${RELEASE}.linux-amd64.tar.gz @@ -59,4 +59,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}:9090${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9090${CL}" diff --git a/ct/pterodactyl-panel.sh b/ct/pterodactyl-panel.sh index d28b51704..472709678 100644 --- a/ct/pterodactyl-panel.sh +++ b/ct/pterodactyl-panel.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cp -r /opt/pterodactyl-panel/.env /opt/ rm -rf * .* -curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -O $(basename "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") + curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename"https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" mv /opt/.env /opt/pterodactyl-panel/ $STD composer install --no-dev --optimize-autoloader --no-interaction @@ -71,4 +71,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/rdtclient.sh b/ct/rdtclient.sh index d2eb394c1..8a3b0def4 100755 --- a/ct/rdtclient.sh +++ b/ct/rdtclient.sh @@ -38,7 +38,7 @@ function update_script() { fi mkdir -p rdtc-backup cp -R /opt/rdtc/appsettings.json rdtc-backup/ -curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -O $(basename "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") + curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o $(basename"https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") unzip -oqq RealDebridClient.zip -d /opt/rdtc cp -R rdtc-backup/appsettings.json /opt/rdtc/ msg_ok "Updated ${APP}" @@ -61,4 +61,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}:6500${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6500${CL}" diff --git a/ct/recyclarr.sh b/ct/recyclarr.sh index ac6216d67..35be2e197 100644 --- a/ct/recyclarr.sh +++ b/ct/recyclarr.sh @@ -29,7 +29,7 @@ function update_script() { fi msg_info "Updating ${APP}" -curl -fsSL "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)") + curl -fsSL "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)") tar -C /usr/local/bin -xJf recyclarr*.tar.xz rm -rf recyclarr*.tar.xz msg_ok "Updated ${APP}" @@ -45,4 +45,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 IP:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}${IP}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}${IP}${CL}" diff --git a/ct/rustdeskserver.sh b/ct/rustdeskserver.sh index b83dfc016..8e64d29b9 100644 --- a/ct/rustdeskserver.sh +++ b/ct/rustdeskserver.sh @@ -37,9 +37,9 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" TEMPDIR=$(mktemp -d) -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR" -O $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR") -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR" -O $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR") -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR" -O $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename"https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename"https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename"https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR") $STD dpkg -i $TEMPDIR/*.deb msg_ok "Updated $APP to v${RELEASE}" diff --git a/ct/seelf.sh b/ct/seelf.sh index 84feae0e5..d5f0d5c9a 100644 --- a/ct/seelf.sh +++ b/ct/seelf.sh @@ -40,7 +40,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}. Patience" export PATH=$PATH:/usr/local/go/bin source ~/.bashrc -curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz") + curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz cp -r seelf-${RELEASE}/ /opt/seelf cd /opt/seelf @@ -72,4 +72,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}:8080${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" diff --git a/ct/semaphore.sh b/ct/semaphore.sh index 365ef72f8..405c98709 100644 --- a/ct/semaphore.sh +++ b/ct/semaphore.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt -curl -fsSL "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb" -O $(basename "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb") + curl -fsSL "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb" -o $(basename"https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb") $STD dpkg -i semaphore_${RELEASE}_linux_amd64.deb echo "${RELEASE}" >"/opt/${APP}_version.txt" msg_ok "Updated ${APP} to v${RELEASE}" @@ -62,4 +62,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/silverbullet.sh b/ct/silverbullet.sh index b34a694df..701f487cc 100644 --- a/ct/silverbullet.sh +++ b/ct/silverbullet.sh @@ -33,7 +33,7 @@ function update_script() { msg_ok "Stopped ${APP}" msg_info "Updating ${APP} to v${RELEASE}" -curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -O $(basename "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") + curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o $(basename"https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") unzip -q silverbullet-server-linux-x86_64.zip mv silverbullet /opt/silverbullet/bin/ chmod +x /opt/silverbullet/bin/silverbullet @@ -56,4 +56,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/spoolman.sh b/ct/spoolman.sh index 32e249f6b..a26f97a04 100644 --- a/ct/spoolman.sh +++ b/ct/spoolman.sh @@ -38,7 +38,7 @@ function update_script() { cd /opt rm -rf spoolman_bak mv spoolman spoolman_bak - curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip" -O $(basename "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip") + curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip" -o $(basename"https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip") unzip -q spoolman.zip -d spoolman cd spoolman $STD pip3 install -r requirements.txt diff --git a/ct/stirling-pdf.sh b/ct/stirling-pdf.sh index 708425952..fb09c20b1 100644 --- a/ct/stirling-pdf.sh +++ b/ct/stirling-pdf.sh @@ -34,7 +34,7 @@ function update_script() { $STD apt-get install -y qpdf fi RELEASE=$(curl -fsSL https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz" -O $(basename "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz") + curl -fsSL "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz" -o $(basename"https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz") tar -xzf v$RELEASE.tar.gz cd Stirling-PDF-$RELEASE chmod +x ./gradlew @@ -57,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}:8080${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" diff --git a/ct/suwayomiserver.sh b/ct/suwayomiserver.sh index e451e4d9a..a5d49306c 100644 --- a/ct/suwayomiserver.sh +++ b/ct/suwayomiserver.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" cd /tmp URL=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "browser_download_url" | awk '{print substr($2, 2, length($2)-2) }' | tail -n+2 | head -n 1) -curl -fsSL "$URL" -O $(basename "$URL") + curl -fsSL "$URL" -o $(basename"$URL") $STD dpkg -i /tmp/*.deb msg_ok "Updated $APP to v${RELEASE}" msg_info "Starting $APP" @@ -61,4 +61,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}:4567${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4567${CL}" diff --git a/ct/tasmocompiler.sh b/ct/tasmocompiler.sh index 858fa510a..9b0294d54 100644 --- a/ct/tasmocompiler.sh +++ b/ct/tasmocompiler.sh @@ -36,7 +36,7 @@ function update_script() { cd /opt rm -rf /opt/tasmocompiler RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz") + curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz") tar xzf v${RELEASE}.tar.gz mv tasmocompiler-${RELEASE}/ /opt/tasmocompiler/ cd /opt/tasmocompiler @@ -66,4 +66,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/technitiumdns.sh b/ct/technitiumdns.sh index d72235d92..a761dde8a 100644 --- a/ct/technitiumdns.sh +++ b/ct/technitiumdns.sh @@ -30,7 +30,7 @@ function update_script() { msg_info "Updating ${APP}" if ! dpkg -s aspnetcore-runtime-8.0 >/dev/null 2>&1; then -curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -O $(basename "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb") + curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -o $(basename"https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb") $STD dpkg -i packages-microsoft-prod.deb $STD apt-get update $STD apt-get install -y aspnetcore-runtime-8.0 @@ -48,4 +48,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}:5380${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5380${CL}" diff --git a/ct/teddycloud.sh b/ct/teddycloud.sh index 68c765fda..c27190cc5 100644 --- a/ct/teddycloud.sh +++ b/ct/teddycloud.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${VERSION}" cd /opt mv /opt/teddycloud /opt/teddycloud_bak -curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -O $(basename "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") + curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -o $(basename"https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") unzip -q -d /opt/teddycloud teddycloud.amd64.release_v${VERSION}.zip cp -R /opt/teddycloud_bak/certs /opt/teddycloud_bak/config /opt/teddycloud_bak/data /opt/teddycloud echo "${VERSION}" >"/opt/${APP}_version.txt" @@ -63,4 +63,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/the-lounge.sh b/ct/the-lounge.sh index e677a1a34..1daa9ccc1 100644 --- a/ct/the-lounge.sh +++ b/ct/the-lounge.sh @@ -43,7 +43,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" $STD apt-get install --only-upgrade nodejs cd /opt - curl -fsSL "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb" -O $(basename "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb") + curl -fsSL "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb" -o $(basename"https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb") dpkg -i ./thelounge_${RELEASE}_all.deb msg_ok "Updated ${APP} to v${RELEASE}" diff --git a/ct/tianji.sh b/ct/tianji.sh index 12c9e7285..f757f6562 100644 --- a/ct/tianji.sh +++ b/ct/tianji.sh @@ -52,7 +52,7 @@ function update_script() { cd /opt cp /opt/tianji/src/server/.env /opt/.env mv /opt/tianji /opt/tianji_bak - curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv tianji-${RELEASE} /opt/tianji cd tianji diff --git a/ct/traefik.sh b/ct/traefik.sh index 40d1ab9e7..6beb73b18 100644 --- a/ct/traefik.sh +++ b/ct/traefik.sh @@ -30,7 +30,7 @@ function update_script() { RELEASE=$(curl -fsSL https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1) msg_info "Updating $APP LXC" if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then -curl -fsSL "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz") + curl -fsSL "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz") tar -C /tmp -xzf traefik*.tar.gz mv /tmp/traefik /usr/bin/ rm -rf traefik*.tar.gz @@ -50,4 +50,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}:8080${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" diff --git a/ct/trilium.sh b/ct/trilium.sh index 260623153..740239f0a 100644 --- a/ct/trilium.sh +++ b/ct/trilium.sh @@ -40,7 +40,7 @@ function update_script() { mv /opt/trilium/{db,dump-db} /opt/trilium_backup/ rm -rf /opt/trilium cd /tmp -curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -O $(basename "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz") + curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o $(basename"https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz") tar -xf TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz mv TriliumNextNotes-Server-$RELEASE-linux-x64 /opt/trilium cp -r /opt/trilium_backup/{db,dump-db} /opt/trilium/ @@ -70,4 +70,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}:8080${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" diff --git a/ct/victoriametrics.sh b/ct/victoriametrics.sh index 0da6f86c1..7e3590fd8 100644 --- a/ct/victoriametrics.sh +++ b/ct/victoriametrics.sh @@ -36,8 +36,8 @@ function update_script() { 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") + 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 @@ -66,4 +66,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}:8428/vmui${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8428/vmui${CL}" diff --git a/ct/vikunja.sh b/ct/vikunja.sh index 602406e13..aa153a7da 100644 --- a/ct/vikunja.sh +++ b/ct/vikunja.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cd /opt rm -rf /opt/vikunja/vikunja -curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -O $(basename "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb") + curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -o $(basename"https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb") export DEBIAN_FRONTEND=noninteractive $STD dpkg -i vikunja-$RELEASE-amd64.deb echo "${RELEASE}" >/opt/${APP}_version.txt @@ -63,4 +63,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}:3456${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3456${CL}" diff --git a/ct/wallos.sh b/ct/wallos.sh index 012389f6a..0a8ef2bcb 100644 --- a/ct/wallos.sh +++ b/ct/wallos.sh @@ -31,7 +31,7 @@ function update_script() { if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating ${APP} to ${RELEASE}" cd /opt -curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip") mkdir -p /opt/logos mv /opt/wallos/db/wallos.db /opt/wallos.db mv /opt/wallos/images/uploads/logos /opt/logos/ @@ -69,4 +69,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/watchyourlan.sh b/ct/watchyourlan.sh index f6d54cf51..b1688f640 100644 --- a/ct/watchyourlan.sh +++ b/ct/watchyourlan.sh @@ -31,7 +31,7 @@ function update_script() { systemctl stop watchyourlan.service cp -R /data/config.yaml config.yaml RELEASE=$(curl -fsSL https://api.github.com/repos/aceberg/WatchYourLAN/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d '"' -f 4) -curl -fsSL "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb" -O $(basename "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb") + curl -fsSL "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb" -o $(basename"https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb") dpkg -i watchyourlan_${RELEASE}_linux_amd64.deb cp -R config.yaml /data/config.yaml sed -i 's|/etc/watchyourlan/config.yaml|/data/config.yaml|' /lib/systemd/system/watchyourlan.service @@ -48,4 +48,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}:8840${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8840${CL}" diff --git a/ct/wavelog.sh b/ct/wavelog.sh index 6a90b3d1b..f6c223a68 100644 --- a/ct/wavelog.sh +++ b/ct/wavelog.sh @@ -40,7 +40,7 @@ function update_script() { if [[ -f /opt/wavelog/assets/js/sections/custom.js ]]; then cp /opt/wavelog/assets/js/sections/custom.js /opt/custom.js fi -curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip rm -rf /opt/wavelog mv wavelog-${RELEASE}/ /opt/wavelog @@ -79,4 +79,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/wikijs.sh b/ct/wikijs.sh index e05520c94..1a508fe1e 100644 --- a/ct/wikijs.sh +++ b/ct/wikijs.sh @@ -50,7 +50,7 @@ function update_script() { msg_info "Updating ${APP}" rm -rf /opt/wikijs/* cd /opt/wikijs -curl -fsSL "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz" -O $(basename "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz") + curl -fsSL "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz" -o $(basename"https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz") tar -xzf wiki-js.tar.gz msg_ok "Updated ${APP}" @@ -81,4 +81,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/zabbix.sh b/ct/zabbix.sh index 958d35800..40aa65cd9 100644 --- a/ct/zabbix.sh +++ b/ct/zabbix.sh @@ -39,7 +39,7 @@ function update_script() { #cp -R /usr/share/zabbix-* /opt/zabbix-backup/ Remove temporary rm -Rf /etc/apt/sources.list.d/zabbix.list cd /tmp -curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -O $(basename "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb") + curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -o $(basename"https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb") $STD dpkg -i zabbix-release_latest+debian12_all.deb $STD apt-get update $STD apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-* @@ -63,4 +63,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}/zabbix${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/zabbix${CL}" diff --git a/ct/zigbee2mqtt.sh b/ct/zigbee2mqtt.sh index 75d03acfd..8db102a06 100644 --- a/ct/zigbee2mqtt.sh +++ b/ct/zigbee2mqtt.sh @@ -46,7 +46,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt -curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip rm -rf /opt/zigbee2mqtt mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt @@ -79,4 +79,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}:9442${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9442${CL}" diff --git a/ct/zipline.sh b/ct/zipline.sh index 1e07e2e5a..c4b7d3d6c 100644 --- a/ct/zipline.sh +++ b/ct/zipline.sh @@ -41,7 +41,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cp /opt/zipline/.env /opt/ rm -R /opt/zipline -curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv zipline-${RELEASE} /opt/zipline cd /opt/zipline @@ -72,4 +72,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/zoraxy.sh b/ct/zoraxy.sh index e5c959e0c..89e807f0e 100644 --- a/ct/zoraxy.sh +++ b/ct/zoraxy.sh @@ -31,7 +31,7 @@ function update_script() { if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating $APP to ${RELEASE}" systemctl stop zoraxy -curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -O $(basename "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64") + curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -o $(basename"https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64") rm -rf /opt/zoraxy/zoraxy mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy chmod +x /opt/zoraxy/zoraxy @@ -51,4 +51,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}:8000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}" diff --git a/ct/zwave-js-ui.sh b/ct/zwave-js-ui.sh index be2711a01..760e8e68e 100644 --- a/ct/zwave-js-ui.sh +++ b/ct/zwave-js-ui.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating Z-Wave JS UI" rm -rf /opt/zwave-js-ui/* cd /opt/zwave-js-ui -curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -O $(basename "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") + curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o $(basename"https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") unzip -q zwave-js-ui-${RELEASE}-linux.zip msg_ok "Updated Z-Wave JS UI" @@ -62,4 +62,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}:8091${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8091${CL}" diff --git a/install/2fauth-install.sh b/install/2fauth-install.sh index 85fef6b67..2d1368130 100644 --- a/install/2fauth-install.sh +++ b/install/2fauth-install.sh @@ -47,7 +47,7 @@ msg_ok "Set up Database" msg_info "Setup 2FAuth" RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "2FAuth-${RELEASE//v/}/" /opt/2fauth diff --git a/install/actualbudget-install.sh b/install/actualbudget-install.sh index da24b535f..46f53d8dc 100644 --- a/install/actualbudget-install.sh +++ b/install/actualbudget-install.sh @@ -35,7 +35,7 @@ msg_ok "Installed Node.js" msg_info "Installing Actual Budget" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz mv actual-${RELEASE} /opt/actualbudget diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index e813e5268..05e159261 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -68,7 +68,7 @@ DJANGO_ADMIN_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" LOCAL_IP="$(hostname -I | awk '{print $1}')" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv AdventureLog-${RELEASE} /opt/adventurelog cat </opt/adventurelog/backend/server/.env diff --git a/install/agentdvr-install.sh b/install/agentdvr-install.sh index e7d7f085d..febf3f967 100644 --- a/install/agentdvr-install.sh +++ b/install/agentdvr-install.sh @@ -26,7 +26,7 @@ msg_info "Installing AgentDVR" mkdir -p /opt/agentdvr/agent RELEASE=$(curl -fsSL "https://www.ispyconnect.com/api/Agent/DownloadLocation4?platform=Linux64&fromVersion=0" | grep -o 'https://.*\.zip') cd /opt/agentdvr/agent -curl -fsSL "$RELEASE" -O $(basename "$RELEASE") +curl -fsSL "$RELEASE" -o $(basename"$RELEASE") $STD unzip Agent_Linux64*.zip rm -rf Agent_Linux64*.zip chmod +x ./Agent diff --git a/install/apache-guacamole-install.sh b/install/apache-guacamole-install.sh index b9fc2fe7a..f94c37961 100644 --- a/install/apache-guacamole-install.sh +++ b/install/apache-guacamole-install.sh @@ -63,10 +63,10 @@ $STD ldconfig RELEASE_CLIENT=$(curl -fsSLL https://api.github.com/repos/apache/guacamole-client/tags | jq -r '.[0].name') curl -fsSL "https://downloads.apache.org/guacamole/${RELEASE_CLIENT}/binary/guacamole-${RELEASE_CLIENT}.war" -o "/opt/apache-guacamole/tomcat9/webapps/guacamole.war" cd /root -curl -fsSL "--directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz" -O $(basename "--directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz") +curl -fsSL "--directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz" -o $(basename"--directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz") $STD tar -xf ~/mysql-connector-java-8.0.26.tar.gz mv ~/mysql-connector-java-8.0.26/mysql-connector-java-8.0.26.jar /etc/guacamole/lib/ -curl -fsSL "--directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz" -O $(basename "--directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz") +curl -fsSL "--directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz" -o $(basename"--directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz") $STD tar -xf ~/guacamole-auth-jdbc-1.5.5.tar.gz mv ~/guacamole-auth-jdbc-1.5.5/mysql/guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions/ msg_ok "Setup Apache Guacamole" diff --git a/install/apache-tika-install.sh b/install/apache-tika-install.sh index 0d8a6593c..76a5c937e 100644 --- a/install/apache-tika-install.sh +++ b/install/apache-tika-install.sh @@ -42,7 +42,7 @@ msg_info "Installing Apache Tika" mkdir -p /opt/apache-tika cd /opt/apache-tika RELEASE="$(curl -fsSL https://dlcdn.apache.org/tika/ | grep -oP '(?<=href=")[0-9]+\.[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1)" -curl -fsSL "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar" -O $(basename "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar") +curl -fsSL "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar" -o $(basename"https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar") mv tika-server-standard-${RELEASE}.jar tika-server-standard.jar echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Apache Tika" diff --git a/install/aria2-install.sh b/install/aria2-install.sh index 13bcbd3ba..baf96f6a9 100644 --- a/install/aria2-install.sh +++ b/install/aria2-install.sh @@ -22,7 +22,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then msg_info "Installing AriaNG" $STD apt-get install -y nginx systemctl disable -q --now nginx - curl -fsSL "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)") + curl -fsSL "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)") $STD unzip AriaNg-*-AllInOne.zip -d /var/www rm /etc/nginx/sites-enabled/* cat </etc/nginx/conf.d/ariang.conf diff --git a/install/authelia-install.sh b/install/authelia-install.sh index f35d7eed4..bb8119a15 100644 --- a/install/authelia-install.sh +++ b/install/authelia-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Authelia" RELEASE=$(curl -fsSL https://api.github.com/repos/authelia/authelia/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" -O $(basename "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb") +curl -fsSL "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" -o $(basename"https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb") $STD dpkg -i "authelia_${RELEASE}_amd64.deb" msg_ok "Install Authelia completed" diff --git a/install/authentik-install.sh b/install/authentik-install.sh index ef58a677e..8d452a786 100644 --- a/install/authentik-install.sh +++ b/install/authentik-install.sh @@ -39,7 +39,7 @@ msg_ok "Installed Dependencies" msg_info "Installing yq" cd /tmp YQ_LATEST="$(curl -fsSL "https://api.github.com/repos/mikefarah/yq/releases/latest" | grep -Po '"tag_name": \K.*?(?=")')" -curl -fsSL "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq" -O $(basename "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq") +curl -fsSL "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq" -o $(basename"https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq") chmod +x /usr/bin/yq msg_ok "Installed yq" diff --git a/install/autobrr-install.sh b/install/autobrr-install.sh index ccf356592..d0f035fce 100644 --- a/install/autobrr-install.sh +++ b/install/autobrr-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Autobrr" -curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)") +curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)") tar -C /usr/local/bin -xzf autobrr*.tar.gz rm -rf autobrr*.tar.gz mkdir -p /root/.config/autobrr diff --git a/install/baikal-install.sh b/install/baikal-install.sh index 2f1122386..6e010e0e3 100644 --- a/install/baikal-install.sh +++ b/install/baikal-install.sh @@ -38,7 +38,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Baikal" RELEASE=$(curl -fsSL https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt -curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -O $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") +curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename"https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") unzip -q "baikal-${RELEASE}.zip" cat </opt/baikal/config/baikal.yaml database: diff --git a/install/barcode-buddy-install.sh b/install/barcode-buddy-install.sh index 5709462f6..ec451b111 100644 --- a/install/barcode-buddy-install.sh +++ b/install/barcode-buddy-install.sh @@ -24,7 +24,7 @@ msg_ok "Installed Dependencies" msg_info "Installing barcodebuddy" RELEASE=$(curl -fsSL https://api.github.com/repos/Forceu/barcodebuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy chown -R www-data:www-data /opt/barcodebuddy/data diff --git a/install/bazarr-install.sh b/install/bazarr-install.sh index b2b71f592..0dc9a882b 100755 --- a/install/bazarr-install.sh +++ b/install/bazarr-install.sh @@ -23,7 +23,7 @@ msg_ok "Setup Python3" msg_info "Installing Bazarr" mkdir -p /var/lib/bazarr/ -curl -fsSL "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip" -O $(basename "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip") +curl -fsSL "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip" -o $(basename"https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip") unzip -qq bazarr -d /opt/bazarr chmod 775 /opt/bazarr /var/lib/bazarr/ python3 -m pip install -q -r /opt/bazarr/requirements.txt diff --git a/install/bookstack-install.sh b/install/bookstack-install.sh index b98a9adf9..45b49a25b 100644 --- a/install/bookstack-install.sh +++ b/install/bookstack-install.sh @@ -43,7 +43,7 @@ msg_info "Setup Bookstack (Patience)" LOCAL_IP="$(hostname -I | awk '{print $1}')" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/BookStackApp/BookStack/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv BookStack-${RELEASE} /opt/bookstack cd /opt/bookstack diff --git a/install/caddy-install.sh b/install/caddy-install.sh index fd0fe35b7..05333304a 100644 --- a/install/caddy-install.sh +++ b/install/caddy-install.sh @@ -44,7 +44,7 @@ curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" msg_info "Setup xCaddy" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb" -O $(basename "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb") +curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb" -o $(basename"https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb") $STD dpkg -i xcaddy_${RELEASE:1}_linux_amd64.deb rm -rf /opt/xcaddy* $STD xcaddy build diff --git a/install/commafeed-install.sh b/install/commafeed-install.sh index ef5372bc3..1ba8887e7 100644 --- a/install/commafeed-install.sh +++ b/install/commafeed-install.sh @@ -19,7 +19,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Azul Zulu" curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" -curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -O $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename"https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu17-jdk @@ -28,7 +28,7 @@ msg_ok "Installed Azul Zulu" RELEASE=$(curl -fsSLL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Installing CommaFeed ${RELEASE}" mkdir /opt/commafeed -curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -O $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") +curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename"https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") unzip -q commafeed-${RELEASE}-h2-jvm.zip mv commafeed-${RELEASE}-h2/* /opt/commafeed/ echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/cosmos-install.sh b/install/cosmos-install.sh index 40e5dc541..75435c201 100644 --- a/install/cosmos-install.sh +++ b/install/cosmos-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Install mergerfs" MERGERFS_VERSION="2.40.2" -curl -fsSL "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" -O $(basename "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb") +curl -fsSL "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" -o $(basename"https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb") $STD dpkg -i "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" || $STD apt-get install -f -y rm "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" msg_ok "Installed mergerfs" diff --git a/install/crafty-controller-install.sh b/install/crafty-controller-install.sh index faf628e70..95bad71ba 100644 --- a/install/crafty-controller-install.sh +++ b/install/crafty-controller-install.sh @@ -47,7 +47,7 @@ cd /opt mkdir -p /opt/crafty-controller/crafty /opt/crafty-controller/server RELEASE=$(curl -fsSL "https://gitlab.com/api/v4/projects/20430749/releases" | grep -o '"tag_name":"v[^"]*"' | head -n 1 | sed 's/"tag_name":"v//;s/"//') echo "${RELEASE}" >"/opt/crafty-controller_version.txt" -curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -O $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") +curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename"https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") unzip -q crafty-4-v${RELEASE}.zip cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/ rm -rf crafty-4-v${RELEASE} diff --git a/install/duplicati-install.sh b/install/duplicati-install.sh index bdcfe9ec0..181a6b72e 100644 --- a/install/duplicati-install.sh +++ b/install/duplicati-install.sh @@ -22,7 +22,7 @@ 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 $(basename "https://github.com/duplicati/duplicati/releases/download/v${RELEASE}/duplicati-${RELEASE}-linux-x64-gui.deb") +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/Duplicati_version.txt msg_ok "Finished setting up Duplicati" diff --git a/install/emby-install.sh b/install/emby-install.sh index b34d91dbc..7deca04e8 100644 --- a/install/emby-install.sh +++ b/install/emby-install.sh @@ -27,7 +27,7 @@ msg_ok "Set Up Hardware Acceleration" LATEST=$(curl -fsSLL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Installing Emby" -curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -O $(basename "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb") +curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -o $(basename"https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb") $STD dpkg -i emby-server-deb_${LATEST}_amd64.deb if [[ "$CTTYPE" == "0" ]]; then sed -i -e 's/^ssl-cert:x:104:$/render:x:104:root,emby/' -e 's/^render:x:108:root,emby$/ssl-cert:x:108:/' /etc/group diff --git a/install/ersatztv-install.sh b/install/ersatztv-install.sh index 1f0fcf977..49acc997e 100644 --- a/install/ersatztv-install.sh +++ b/install/ersatztv-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing FFmpeg (Patience)" cd /usr/local/bin -curl -fsSL "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz" -O $(basename "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz") +curl -fsSL "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz" -o $(basename"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz") $STD tar -xvf ffmpeg-release-amd64-static.tar.xz rm -f ffmpeg-*.tar.xz cd ffmpeg-* diff --git a/install/fenrus-install.sh b/install/fenrus-install.sh index ce300c416..711010018 100644 --- a/install/fenrus-install.sh +++ b/install/fenrus-install.sh @@ -22,7 +22,7 @@ msg_info "Installing ASP.NET Core 7 SDK" var_os=$(grep "^ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"') var_version=$(grep "^VERSION_ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"') if [ "${var_os}" = "debian" ]; then - curl -fsSL "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb" -O $(basename "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb") + curl -fsSL "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb" -o $(basename"https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb") $STD dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb fi diff --git a/install/firefly-install.sh b/install/firefly-install.sh index d87a4ec64..912db6487 100644 --- a/install/firefly-install.sh +++ b/install/firefly-install.sh @@ -44,7 +44,7 @@ msg_ok "Set up database" msg_info "Installing Firefly III (Patience)" RELEASE=$(curl -fsSL https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') cd /opt -curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -O $(basename "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -o $(basename"https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz") mkdir -p /opt/firefly tar -xzf FireflyIII-v${RELEASE}.tar.gz -C /opt/firefly chown -R www-data:www-data /opt/firefly diff --git a/install/freshrss-install.sh b/install/freshrss-install.sh index da4de9746..9b34bdf56 100644 --- a/install/freshrss-install.sh +++ b/install/freshrss-install.sh @@ -38,7 +38,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing FreshRSS" RELEASE=$(curl -fsSL https://api.github.com/repos/FreshRSS/FreshRSS/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt -curl -fsSL "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "/opt/FreshRSS-${RELEASE}" /opt/freshrss cd /opt/freshrss diff --git a/install/frigate-install.sh b/install/frigate-install.sh index bd4128711..ea311c1e6 100644 --- a/install/frigate-install.sh +++ b/install/frigate-install.sh @@ -142,7 +142,7 @@ msg_info "Installing Coral Object Detection Model (Patience)" cd /opt/frigate export CCACHE_DIR=/root/.ccache export CCACHE_MAXSIZE=2G -curl -fsSL "https://github.com/libusb/libusb/archive/v1.0.26.zip" -O $(basename "https://github.com/libusb/libusb/archive/v1.0.26.zip") +curl -fsSL "https://github.com/libusb/libusb/archive/v1.0.26.zip" -o $(basename"https://github.com/libusb/libusb/archive/v1.0.26.zip") unzip -q v1.0.26.zip rm v1.0.26.zip cd libusb-1.0.26 diff --git a/install/gitea-install.sh b/install/gitea-install.sh index 719cdb1d9..072de507c 100644 --- a/install/gitea-install.sh +++ b/install/gitea-install.sh @@ -21,7 +21,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Gitea" RELEASE=$(curl -fsSL https://github.com/go-gitea/gitea/releases/latest | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//') -curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -O $(basename "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64") +curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -o $(basename"https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64") mv gitea* /usr/local/bin/gitea chmod +x /usr/local/bin/gitea adduser --system --group --disabled-password --shell /bin/bash --home /etc/gitea gitea >/dev/null diff --git a/install/glance-install.sh b/install/glance-install.sh index f1887f850..472ceb5b6 100644 --- a/install/glance-install.sh +++ b/install/glance-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing Glance" RELEASE=$(curl -fsSL https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz" -O $(basename "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz") +curl -fsSL "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz" -o $(basename"https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz") mkdir -p /opt/glance tar -xzf glance-linux-amd64.tar.gz -C /opt/glance cat </opt/glance/glance.yml diff --git a/install/glpi-install.sh b/install/glpi-install.sh index 2ce96eeac..11af1307e 100644 --- a/install/glpi-install.sh +++ b/install/glpi-install.sh @@ -43,7 +43,7 @@ msg_ok "Set up database" msg_info "Installing GLPi" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') -curl -fsSL "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz" -O $(basename "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz") +curl -fsSL "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz" -o $(basename"https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz") $STD tar -xzvf glpi-${RELEASE}.tgz cd /opt/glpi $STD php bin/console db:install --db-name=$DB_NAME --db-user=$DB_USER --db-password=$DB_PASS --no-interaction diff --git a/install/go2rtc-install.sh b/install/go2rtc-install.sh index 6ca7fa048..8c34fd7c2 100644 --- a/install/go2rtc-install.sh +++ b/install/go2rtc-install.sh @@ -16,7 +16,7 @@ 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 $(basename "https://github.com/AlexxIT/go2rtc/releases/latest/download/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 msg_ok "Installed go2rtc" diff --git a/install/gokapi-install.sh b/install/gokapi-install.sh index dc6ef6f44..f46f649d7 100644 --- a/install/gokapi-install.sh +++ b/install/gokapi-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing Gokapi" LATEST=$(curl -fsSLL https://api.github.com/repos/Forceu/Gokapi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) mkdir -p /opt/gokapi/{data,config} -curl -fsSL "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip" -O $(basename "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip") +curl -fsSL "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip" -o $(basename"https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip") unzip -q gokapi-linux_amd64.zip -d /opt/gokapi rm gokapi-linux_amd64.zip chmod +x /opt/gokapi/gokapi-linux_amd64 diff --git a/install/gotify-install.sh b/install/gotify-install.sh index 1df880aca..96b50928b 100644 --- a/install/gotify-install.sh +++ b/install/gotify-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Gotify" RELEASE=$(curl -fsSL https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /opt/gotify cd /opt/gotify -curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -O $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") +curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename"https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") unzip -q gotify-linux-amd64.zip rm -rf gotify-linux-amd64.zip chmod +x gotify-linux-amd64 diff --git a/install/graylog-install.sh b/install/graylog-install.sh index 4a9009142..d0218c387 100644 --- a/install/graylog-install.sh +++ b/install/graylog-install.sh @@ -28,7 +28,7 @@ msg_ok "Setup MongoDB" msg_info "Setup Graylog Data Node" PASSWORD_SECRET=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16) -curl -fsSL "https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb" -O $(basename "https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb") +curl -fsSL "https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb" -o $(basename"https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb") $STD dpkg -i graylog-6.1-repository_latest.deb $STD apt-get update $STD apt-get install graylog-datanode -y diff --git a/install/grist-install.sh b/install/grist-install.sh index 3a43b28cc..29a929a41 100644 --- a/install/grist-install.sh +++ b/install/grist-install.sh @@ -36,7 +36,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/ export CYPRESS_INSTALL_BINARY=0 export NODE_OPTIONS="--max-old-space-size=2048" cd /opt -curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") unzip -q v$RELEASE.zip mv grist-core-${RELEASE} grist cd grist diff --git a/install/grocy-install.sh b/install/grocy-install.sh index bde660482..d98f1f553 100644 --- a/install/grocy-install.sh +++ b/install/grocy-install.sh @@ -32,7 +32,7 @@ msg_ok "Installed PHP8.2" msg_info "Installing grocy" latest=$(curl -fsSL https://api.github.com/repos/grocy/grocy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip" -O $(basename "https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip") +curl -fsSL "https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip" -o $(basename"https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip") $STD unzip grocy_${latest}.zip -d /var/www/html chown -R www-data:www-data /var/www/html cp /var/www/html/config-dist.php /var/www/html/data/config.php diff --git a/install/habitica-install.sh b/install/habitica-install.sh index 14a3b5537..b63f81b00 100644 --- a/install/habitica-install.sh +++ b/install/habitica-install.sh @@ -19,7 +19,7 @@ $STD apt-get install -y \ gnupg \ build-essential \ git -curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -O $(basename "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb") +curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o $(basename"http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb") $STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb msg_ok "Installed Dependencies" diff --git a/install/headscale-install.sh b/install/headscale-install.sh index 4d93b15df..4f21b9c71 100644 --- a/install/headscale-install.sh +++ b/install/headscale-install.sh @@ -15,7 +15,7 @@ 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 $(basename "https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb") +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") $STD dpkg -i headscale_${RELEASE}_linux_amd64.deb systemctl enable -q --now headscale echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/heimdall-dashboard-install.sh b/install/heimdall-dashboard-install.sh index 47864dc06..63152c664 100644 --- a/install/heimdall-dashboard-install.sh +++ b/install/heimdall-dashboard-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" RELEASE=$(curl -fsSLX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_info "Installing Heimdall Dashboard ${RELEASE}" -curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -O $(basename "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") +curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -o $(basename"https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") tar xzf ${RELEASE}.tar.gz VER=$(curl -fsSL https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') rm -rf ${RELEASE}.tar.gz diff --git a/install/hivemq-install.sh b/install/hivemq-install.sh index abac64895..091e3aed6 100644 --- a/install/hivemq-install.sh +++ b/install/hivemq-install.sh @@ -26,7 +26,7 @@ msg_ok "Installed OpenJDK" msg_info "Installing HiveMQ CE" RELEASE=$(curl -fsSL https://api.github.com/repos/hivemq/hivemq-community-edition/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip" -O $(basename "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip") +curl -fsSL "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip" -o $(basename"https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip") unzip -q hivemq-ce-${RELEASE}.zip mkdir -p /opt/hivemq mv hivemq-ce-${RELEASE}/* /opt/hivemq diff --git a/install/hoarder-install.sh b/install/hoarder-install.sh index d90da3fd4..e01337538 100644 --- a/install/hoarder-install.sh +++ b/install/hoarder-install.sh @@ -35,7 +35,7 @@ msg_ok "Installed Additional Tools" msg_info "Installing Meilisearch" cd /tmp -curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -O $(basename "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb") +curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -o $(basename"https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb") $STD dpkg -i meilisearch.deb curl -fsSL "https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml" -o "/etc/meilisearch.toml" MASTER_KEY=$(openssl rand -base64 12) @@ -61,7 +61,7 @@ msg_ok "Installed Node.js" msg_info "Installing Hoarder" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv hoarder-${RELEASE} /opt/hoarder cd /opt/hoarder diff --git a/install/homarr-install.sh b/install/homarr-install.sh index 3805adc6b..2c6f354fd 100644 --- a/install/homarr-install.sh +++ b/install/homarr-install.sh @@ -41,7 +41,7 @@ msg_ok "Installed Node.js/pnpm" msg_info "Installing Homarr (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv homarr-${RELEASE} /opt/homarr mkdir -p /opt/homarr_db diff --git a/install/homer-install.sh b/install/homer-install.sh index a9cfd457b..e2ab28c27 100644 --- a/install/homer-install.sh +++ b/install/homer-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Homer" mkdir -p /opt/homer cd /opt/homer -curl -fsSL "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip" -O $(basename "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip") +curl -fsSL "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip" -o $(basename"https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip") $STD unzip homer.zip rm -rf homer.zip cp assets/config.yml.dist assets/config.yml diff --git a/install/influxdb-install.sh b/install/influxdb-install.sh index 8b71a248c..86b10cf95 100644 --- a/install/influxdb-install.sh +++ b/install/influxdb-install.sh @@ -37,7 +37,7 @@ if [[ $INFLUX == "2" ]]; then $STD apt-get install -y influxdb2 else $STD apt-get install -y influxdb - curl -fsSL "https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb" -O $(basename "https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb") + curl -fsSL "https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb" -o $(basename"https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb") $STD dpkg -i chronograf_1.10.1_amd64.deb fi $STD systemctl enable --now influxdb diff --git a/install/inspircd-install.sh b/install/inspircd-install.sh index e69dd6610..1acf85af6 100644 --- a/install/inspircd-install.sh +++ b/install/inspircd-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing InspIRCd" RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -O $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb") +curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -o $(basename"https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb") $STD apt-get install "./inspircd_${RELEASE}.deb12u1_amd64.deb" -y &>/dev/null cat </etc/inspircd/inspircd.conf diff --git a/install/iventoy-install.sh b/install/iventoy-install.sh index 452771ba3..353d9f3b4 100644 --- a/install/iventoy-install.sh +++ b/install/iventoy-install.sh @@ -16,7 +16,7 @@ update_os RELEASE=$(curl -fsSL https://api.github.com/repos/ventoy/pxe/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing iVentoy v${RELEASE}" mkdir -p /opt/iventoy/{data,iso} -curl -fsSL "https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz" -O $(basename "https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz") +curl -fsSL "https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz" -o $(basename"https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz") tar -C /tmp -xzf iventoy*.tar.gz mv /tmp/iventoy*/* /opt/iventoy/ rm -rf iventoy*.tar.gz diff --git a/install/jackett-install.sh b/install/jackett-install.sh index 3a80cdf7b..f5b511314 100644 --- a/install/jackett-install.sh +++ b/install/jackett-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Jackett" RELEASE=$(curl -fsSL https://github.com/Jackett/Jackett/releases/latest | grep "title>Release" | cut -d " " -f 4) -curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -O $(basename "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") +curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o $(basename"https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/kimai-install.sh b/install/kimai-install.sh index 8ad22f2c6..9a73054e2 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -58,7 +58,7 @@ msg_ok "Set up database" msg_info "Installing Kimai (Patience)" RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv kimai-${RELEASE} /opt/kimai cd /opt/kimai diff --git a/install/koillection-install.sh b/install/koillection-install.sh index 3f2af63fd..1edca202e 100644 --- a/install/koillection-install.sh +++ b/install/koillection-install.sh @@ -62,7 +62,7 @@ msg_ok "Installed Node.js/Yarn" msg_info "Installing Koillection" RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt -curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "/opt/koillection-${RELEASE}" /opt/koillection cd /opt/koillection diff --git a/install/komga-install.sh b/install/komga-install.sh index 4d63d8b67..b7dc272ed 100644 --- a/install/komga-install.sh +++ b/install/komga-install.sh @@ -19,7 +19,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Komga" RELEASE=$(curl -fsSL https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -O $(basename "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") +curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -o $(basename"https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") mkdir -p /opt/komga mv -f komga-${RELEASE}.jar /opt/komga/komga.jar echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/komodo-install.sh b/install/komodo-install.sh index d482655b3..a33998d0f 100644 --- a/install/komodo-install.sh +++ b/install/komodo-install.sh @@ -61,7 +61,7 @@ case $DB_CHOICE in esac mkdir -p /opt/komodo cd /opt/komodo -curl -fsSL "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$DB_COMPOSE_FILE" -O $(basename "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$DB_COMPOSE_FILE") +curl -fsSL "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$DB_COMPOSE_FILE" -o $(basename"https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$DB_COMPOSE_FILE") msg_info "Setup Komodo Environment" curl -fsSL "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/compose.env" -o "/opt/komodo/compose.env" diff --git a/install/linkwarden-install.sh b/install/linkwarden-install.sh index d4698785b..70e232f86 100644 --- a/install/linkwarden-install.sh +++ b/install/linkwarden-install.sh @@ -92,7 +92,7 @@ fi msg_info "Installing Linkwarden (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv linkwarden-${RELEASE:1} /opt/linkwarden cd /opt/linkwarden diff --git a/install/listmonk-install.sh b/install/listmonk-install.sh index 42e9abe88..5b3255794 100644 --- a/install/listmonk-install.sh +++ b/install/listmonk-install.sh @@ -36,7 +36,7 @@ cd /opt mkdir /opt/listmonk mkdir /opt/listmonk/uploads RELEASE=$(curl -fsSL https://api.github.com/repos/knadh/listmonk/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz") +curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz") tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk $STD /opt/listmonk/listmonk --new-config --config /opt/listmonk/config.toml diff --git a/install/lubelogger-install.sh b/install/lubelogger-install.sh index e45935933..b70f52c27 100644 --- a/install/lubelogger-install.sh +++ b/install/lubelogger-install.sh @@ -23,7 +23,7 @@ mkdir -p /opt/lubelogger RELEASE=$(curl -fsSL https://api.github.com/repos/hargata/lubelog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE_TRIMMED=$(echo "${RELEASE}" | tr -d ".") cd /opt/lubelogger -curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -O $(basename "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") +curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -o $(basename"https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") unzip -q LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip chmod 700 /opt/lubelogger/CarCareTracker cp /opt/lubelogger/appsettings.json /opt/lubelogger/appsettings_bak.json diff --git a/install/mafl-install.sh b/install/mafl-install.sh index 4bcd01654..ac848fe04 100644 --- a/install/mafl-install.sh +++ b/install/mafl-install.sh @@ -36,7 +36,7 @@ msg_ok "Installed Node.js" RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing Mafl v${RELEASE}" -curl -fsSL "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz mkdir -p /opt/mafl/data curl -fsSL "https://raw.githubusercontent.com/hywax/mafl/main/.example/config.yml" -o "/opt/mafl/data/config.yml" diff --git a/install/mariadb-install.sh b/install/mariadb-install.sh index 07796c75f..5ed7eea20 100644 --- a/install/mariadb-install.sh +++ b/install/mariadb-install.sh @@ -32,7 +32,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then php-json \ php-curl - curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -O $(basename "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz") + curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -o $(basename"https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz") mkdir -p /var/www/html/phpMyAdmin tar xf phpMyAdmin-5.2.1-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php diff --git a/install/mediamtx-install.sh b/install/mediamtx-install.sh index 3e424ee81..ff85dd8c0 100644 --- a/install/mediamtx-install.sh +++ b/install/mediamtx-install.sh @@ -21,7 +21,7 @@ msg_info "Installing MediaMTX" RELEASE=$(curl -fsSL https://api.github.com/repos/bluenviron/mediamtx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') mkdir -p /opt/mediamtx cd /opt/mediamtx -curl -fsSL "https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz") +curl -fsSL "https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz") tar xzf mediamtx_${RELEASE}_linux_amd64.tar.gz rm -rf mediamtx_${RELEASE}_linux_amd64.tar.gz msg_ok "Installed MediaMTX" diff --git a/install/minio-install.sh b/install/minio-install.sh index 27415b5ea..4c1227a36 100644 --- a/install/minio-install.sh +++ b/install/minio-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Setup MinIO" RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}') -curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -O $(basename "https://dl.min.io/server/minio/release/linux-amd64/minio") +curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o $(basename"https://dl.min.io/server/minio/release/linux-amd64/minio") mv minio /usr/local/bin/ chmod +x /usr/local/bin/minio useradd -r minio-user -s /sbin/nologin diff --git a/install/monica-install.sh b/install/monica-install.sh index cc8c0740e..9f5ab703b 100644 --- a/install/monica-install.sh +++ b/install/monica-install.sh @@ -50,7 +50,7 @@ msg_ok "Installed Node.js/Yarn" msg_info "Installing monica" RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -O $(basename "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") +curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -o $(basename"https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") tar -xjf "monica-v${RELEASE}.tar.bz2" mv "/opt/monica-v${RELEASE}" /opt/monica cd /opt/monica diff --git a/install/myspeed-install.sh b/install/myspeed-install.sh index 05220e30a..d5105762f 100644 --- a/install/myspeed-install.sh +++ b/install/myspeed-install.sh @@ -37,7 +37,7 @@ msg_ok "Installed Node.js" msg_info "Installing MySpeed" RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5) cd /opt -curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -O $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") +curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename"https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") unzip -q MySpeed-$RELEASE.zip -d myspeed cd myspeed $STD npm install diff --git a/install/mysql-install.sh b/install/mysql-install.sh index 26edbbc40..f5bfba2b9 100644 --- a/install/mysql-install.sh +++ b/install/mysql-install.sh @@ -63,7 +63,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then php-json \ php-curl - curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -O $(basename "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz") + curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -o $(basename"https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz") mkdir -p /var/www/html/phpMyAdmin tar xf phpMyAdmin-5.2.1-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php diff --git a/install/netbox-install.sh b/install/netbox-install.sh index f9d193d7d..20ec75624 100644 --- a/install/netbox-install.sh +++ b/install/netbox-install.sh @@ -48,7 +48,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing NetBox (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/netbox-community/netbox/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv /opt/netbox-${RELEASE}/ /opt/netbox diff --git a/install/nextpvr-install.sh b/install/nextpvr-install.sh index f483521ce..4205a9d2e 100644 --- a/install/nextpvr-install.sh +++ b/install/nextpvr-install.sh @@ -29,7 +29,7 @@ msg_ok "Installed Dependencies" msg_info "Setup NextPVR (Patience)" cd /opt -curl -fsSL "https://nextpvr.com/nextpvr-helper.deb" -O $(basename "https://nextpvr.com/nextpvr-helper.deb") +curl -fsSL "https://nextpvr.com/nextpvr-helper.deb" -o $(basename"https://nextpvr.com/nextpvr-helper.deb") $STD dpkg -i nextpvr-helper.deb msg_ok "Installed NextPVR" diff --git a/install/nodebb-install.sh b/install/nodebb-install.sh index 5d8aac035..774528b40 100644 --- a/install/nodebb-install.sh +++ b/install/nodebb-install.sh @@ -87,7 +87,7 @@ msg_ok "MongoDB successfully configurated" msg_info "Install NodeBB" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/NodeBB/NodeBB/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv NodeBB-${RELEASE} /opt/nodebb cd /opt/nodebb diff --git a/install/npmplus-install.sh b/install/npmplus-install.sh index ca15c0462..1d1578909 100644 --- a/install/npmplus-install.sh +++ b/install/npmplus-install.sh @@ -37,7 +37,7 @@ msg_ok "Installed Docker & Compose" msg_info "Fetching NPMplus" cd /opt -curl -fsSL "https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml" -O $(basename "https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml") +curl -fsSL "https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml" -o $(basename"https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml") msg_ok "Fetched NPMplus" attempts=0 diff --git a/install/omada-install.sh b/install/omada-install.sh index b0d9d4644..af45d1ec3 100644 --- a/install/omada-install.sh +++ b/install/omada-install.sh @@ -31,7 +31,7 @@ fi msg_info "Installing Azul Zulu Java" curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" -curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -O $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename"https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu21-jre-headless diff --git a/install/ombi-install.sh b/install/ombi-install.sh index 1c466bfc3..a12acf170 100644 --- a/install/ombi-install.sh +++ b/install/ombi-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Ombi" RELEASE=$(curl -fsSLL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) -curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -O $(basename "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") +curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -o $(basename"https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/ombi tar -xzf linux-x64.tar.gz -C /opt/ombi diff --git a/install/onedev-install.sh b/install/onedev-install.sh index 4e7cfef5e..52134f960 100644 --- a/install/onedev-install.sh +++ b/install/onedev-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Installing OneDev" cd /opt -curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -O $(basename "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz") +curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -o $(basename"https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz") tar -xzf onedev-latest.tar.gz mv /opt/onedev-latest /opt/onedev $STD /opt/onedev/bin/server.sh install diff --git a/install/opengist-install.sh b/install/opengist-install.sh index 818b201e4..23cb6cb3b 100644 --- a/install/opengist-install.sh +++ b/install/opengist-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Install Opengist" RELEASE=$(curl -fsSL https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -O $(basename "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") +curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -o $(basename"https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") $STD tar -xzf opengist${RELEASE}-linux-amd64.tar.gz mv opengist /opt/opengist chmod +x /opt/opengist/opengist diff --git a/install/openhab-install.sh b/install/openhab-install.sh index a86b97c68..0ab2e8ea1 100644 --- a/install/openhab-install.sh +++ b/install/openhab-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Azul Zulu21" curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" -curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -O $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename"https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu21-jdk diff --git a/install/owncast-install.sh b/install/owncast-install.sh index 0a9558953..f9f7754aa 100644 --- a/install/owncast-install.sh +++ b/install/owncast-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Owncast" mkdir /opt/owncast cd /opt/owncast -curl -fsSL "$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4)") +curl -fsSL "$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4)") $STD unzip owncast*.zip rm owncast*.zip msg_ok "Installed Owncast" diff --git a/install/paperless-ai-install.sh b/install/paperless-ai-install.sh index 2313c312d..e3bd84a51 100644 --- a/install/paperless-ai-install.sh +++ b/install/paperless-ai-install.sh @@ -36,7 +36,7 @@ msg_ok "Installed Node.js" msg_info "Setup Paperless-AI" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/clusterzx/paperless-ai/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv paperless-ai-${RELEASE} /opt/paperless-ai cd /opt/paperless-ai diff --git a/install/paperless-ngx-install.sh b/install/paperless-ngx-install.sh index 1a2bfd6e1..06a79013d 100644 --- a/install/paperless-ngx-install.sh +++ b/install/paperless-ngx-install.sh @@ -59,7 +59,7 @@ $STD apt-get install -y \ tesseract-ocr-eng cd /tmp -curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -O $(basename "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") +curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o $(basename"https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") $STD tar -xzf ghostscript-10.04.0.tar.gz cd ghostscript-10.04.0 $STD ./configure diff --git a/install/part-db-install.sh b/install/part-db-install.sh index 6df95697e..7ccf8fed2 100644 --- a/install/part-db-install.sh +++ b/install/part-db-install.sh @@ -58,7 +58,7 @@ msg_ok "Installed Node.js/Yarn" msg_info "Installing Part-DB (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb diff --git a/install/paymenter-install.sh b/install/paymenter-install.sh index 4649385eb..2331d32fd 100644 --- a/install/paymenter-install.sh +++ b/install/paymenter-install.sh @@ -33,7 +33,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/paymenter/paymenter/releases/l echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/paymenter cd /opt/paymenter -curl -fsSL "https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz" -O $(basename "https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz") +curl -fsSL "https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz" -o $(basename"https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz") $STD tar -xzvf paymenter.tar.gz chmod -R 755 storage/* bootstrap/cache/ msg_ok "Installed Paymenter" diff --git a/install/pelican-panel-install.sh b/install/pelican-panel-install.sh index 73b026d48..69e8ee99d 100644 --- a/install/pelican-panel-install.sh +++ b/install/pelican-panel-install.sh @@ -56,7 +56,7 @@ msg_info "Installing Pelican Panel" RELEASE=$(curl -fsSL https://api.github.com/repos/pelican-dev/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir /opt/pelican-panel cd /opt/pelican-panel -curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -O $(basename "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") +curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename"https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" $STD composer install --no-dev --optimize-autoloader --no-interaction $STD php artisan p:environment:setup diff --git a/install/pf2etools-install.sh b/install/pf2etools-install.sh index 12c0b1cb3..690cb1df0 100644 --- a/install/pf2etools-install.sh +++ b/install/pf2etools-install.sh @@ -35,7 +35,7 @@ msg_ok "Installed Node.js" msg_info "Setup Pf2eTools" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Pf2eToolsOrg/Pf2eTools/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "Pf2eTools-${RELEASE:1}" /opt/Pf2eTools cd /opt/Pf2eTools diff --git a/install/photoprism-install.sh b/install/photoprism-install.sh index a02ac0cb3..0ce8a8511 100644 --- a/install/photoprism-install.sh +++ b/install/photoprism-install.sh @@ -35,9 +35,9 @@ msg_info "Installing PhotoPrism (Patience)" mkdir -p /opt/photoprism/{cache,config,photos,storage,temp} mkdir -p /opt/photoprism/photos/{originals,import} mkdir -p /opt/photoprism_backups -curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1" -O $(basename "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1") +curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1" -o $(basename"-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1") LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1) -curl -fsSL "-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1" -O $(basename "-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1") +curl -fsSL "-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1" -o $(basename"-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1") ldconfig chmod -R 755 /opt/photoprism/photos/originals cat </opt/photoprism/config/.env diff --git a/install/phpipam-install.sh b/install/phpipam-install.sh index c9e56d74a..b8678115d 100644 --- a/install/phpipam-install.sh +++ b/install/phpipam-install.sh @@ -40,7 +40,7 @@ msg_ok "Set up MariaDB" msg_info "Installing phpIPAM" RELEASE=$(curl -fsSL https://api.github.com/repos/phpipam/phpipam/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -O $(basename "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") +curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o $(basename"https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") unzip -q "phpipam-v${RELEASE}.zip" mysql -u root "${DB_NAME}" "/opt/${APPLICATION}_version.txt" -curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip echo "${RELEASE}" >"/opt/pingvin_version.txt" mv pingvin-share-${RELEASE} /opt/pingvin-share diff --git a/install/plant-it-install.sh b/install/plant-it-install.sh index 3bc3edf3a..b8d38a10b 100644 --- a/install/plant-it-install.sh +++ b/install/plant-it-install.sh @@ -50,7 +50,7 @@ msg_ok "Set up MariaDB" msg_info "Setup Plant-it" RELEASE=$(curl -fsSL https://api.github.com/repos/MDeLuise/plant-it/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar" -O $(basename "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar") +curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar" -o $(basename"https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar") mkdir -p /opt/plant-it/{backend,frontend} mkdir -p /opt/plant-it-data mv -f server.jar /opt/plant-it/backend/server.jar @@ -80,7 +80,7 @@ CACHE_PORT=6379 EOF cd /opt/plant-it/frontend -curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz" -O $(basename "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz") +curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz" -o $(basename"https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz") tar -xzf client.tar.gz echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Setup Plant-it" diff --git a/install/pocketid-install.sh b/install/pocketid-install.sh index 0d75ccc72..ab2419b0e 100644 --- a/install/pocketid-install.sh +++ b/install/pocketid-install.sh @@ -46,7 +46,7 @@ read -r -p "What public URL do you want to use (e.g. pocketid.mydomain.com)? " p msg_info "Setup Pocket ID" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/pocket-id/pocket-id/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv pocket-id-${RELEASE}/ /opt/pocket-id diff --git a/install/privatebin-install.sh b/install/privatebin-install.sh index 67d4b0ce2..dd57702ba 100644 --- a/install/privatebin-install.sh +++ b/install/privatebin-install.sh @@ -27,7 +27,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/PrivateBin/PrivateBin/releases echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/privatebin cd /opt/privatebin -curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") $STD unzip -q ${RELEASE}.zip mv PrivateBin-${RELEASE}/* . msg_ok "Installed PrivateBin" diff --git a/install/projectsend-install.sh b/install/projectsend-install.sh index 3c99d3dda..ff11533b2 100644 --- a/install/projectsend-install.sh +++ b/install/projectsend-install.sh @@ -39,7 +39,7 @@ msg_ok "Set up MariaDB" msg_info "Installing projectsend" RELEASE=$(curl -fsSL https://api.github.com/repos/projectsend/projectsend/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -O $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") +curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename"https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") mkdir projectsend unzip -q "projectsend-r${RELEASE}.zip" -d projectsend mv /opt/projectsend/includes/sys.config.sample.php /opt/projectsend/includes/sys.config.php diff --git a/install/prometheus-alertmanager-install.sh b/install/prometheus-alertmanager-install.sh index 7f986acb8..1682ec178 100755 --- a/install/prometheus-alertmanager-install.sh +++ b/install/prometheus-alertmanager-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Prometheus Alertmanager" RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/alertmanager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /etc/alertmanager mkdir -p /var/lib/alertmanager -curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -O $(basename "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz") +curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o $(basename"https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz") tar -xf alertmanager-${RELEASE}.linux-amd64.tar.gz mv alertmanager-${RELEASE}.linux-amd64/alertmanager alertmanager-${RELEASE}.linux-amd64/amtool /usr/local/bin/ mv alertmanager-${RELEASE}.linux-amd64/alertmanager.yml /etc/alertmanager/alertmanager.yml diff --git a/install/prometheus-install.sh b/install/prometheus-install.sh index 9c6958941..baa0ee6b0 100644 --- a/install/prometheus-install.sh +++ b/install/prometheus-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Prometheus" RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/prometheus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /etc/prometheus mkdir -p /var/lib/prometheus -curl -fsSL "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz" -O $(basename "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz") +curl -fsSL "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz" -o $(basename"https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz") tar -xf prometheus-${RELEASE}.linux-amd64.tar.gz mv prometheus-${RELEASE}.linux-amd64/prometheus prometheus-${RELEASE}.linux-amd64/promtool /usr/local/bin/ mv prometheus-${RELEASE}.linux-amd64/prometheus.yml /etc/prometheus/prometheus.yml diff --git a/install/prometheus-paperless-ngx-exporter-install.sh b/install/prometheus-paperless-ngx-exporter-install.sh index 7ccb8b235..a13a4d12a 100755 --- a/install/prometheus-paperless-ngx-exporter-install.sh +++ b/install/prometheus-paperless-ngx-exporter-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Prometheus Paperless NGX Exporter" RELEASE=$(curl -fsSL https://api.github.com/repos/hansmi/prometheus-paperless-exporter/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz") +curl -fsSL "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz") tar -xf prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz mv prometheus-paperless-exporter_${RELEASE}_linux_amd64/prometheus-paperless-exporter /usr/local/bin/ mkdir -p /etc/prometheus-paperless-ngx-exporter diff --git a/install/pterodactyl-panel-install.sh b/install/pterodactyl-panel-install.sh index 6cf0103f8..1d0cf2562 100644 --- a/install/pterodactyl-panel-install.sh +++ b/install/pterodactyl-panel-install.sh @@ -61,7 +61,7 @@ msg_info "Installing pterodactyl Panel" RELEASE=$(curl -fsSL https://api.github.com/repos/pterodactyl/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir /opt/pterodactyl-panel cd /opt/pterodactyl-panel -curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -O $(basename "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") +curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename"https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" cp .env.example .env IP=$(hostname -I | awk '{print $1}') diff --git a/install/rdtclient-install.sh b/install/rdtclient-install.sh index 4c5ce3ce9..bd587e8eb 100644 --- a/install/rdtclient-install.sh +++ b/install/rdtclient-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing ASP.NET Core Runtime" -curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -O $(basename "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb") +curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -o $(basename"https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb") $STD dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb $STD apt-get update @@ -22,7 +22,7 @@ $STD apt-get install -y dotnet-sdk-9.0 msg_ok "Installed ASP.NET Core Runtime" msg_info "Installing rdtclient" -curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -O $(basename "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") +curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o $(basename"https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") unzip -qq RealDebridClient.zip -d /opt/rdtc rm RealDebridClient.zip cd /opt/rdtc diff --git a/install/recyclarr-install.sh b/install/recyclarr-install.sh index 4957feb83..f9bf6aef4 100644 --- a/install/recyclarr-install.sh +++ b/install/recyclarr-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y git msg_ok "Installed Dependencies" msg_info "Installing Recyclarr" -curl -fsSL "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)" -O $(basename "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)") +curl -fsSL "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)") tar -C /usr/local/bin -xJf recyclarr*.tar.xz mkdir -p /root/.config/recyclarr recyclarr config create diff --git a/install/runtipi-install.sh b/install/runtipi-install.sh index 94ca2348a..4dec0ae26 100644 --- a/install/runtipi-install.sh +++ b/install/runtipi-install.sh @@ -18,7 +18,7 @@ DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p "$(dirname "$DOCKER_CONFIG_PATH")" echo -e '{\n "log-driver": "journald"\n}' >"$DOCKER_CONFIG_PATH" cd /opt -curl -fsSL "https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh" -O $(basename "https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh") +curl -fsSL "https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh" -o $(basename"https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh") chmod +x install.sh $STD ./install.sh chmod 666 /opt/runtipi/state/settings.json diff --git a/install/rustdeskserver-install.sh b/install/rustdeskserver-install.sh index 80c61d006..bd0813c17 100644 --- a/install/rustdeskserver-install.sh +++ b/install/rustdeskserver-install.sh @@ -16,9 +16,9 @@ update_os msg_info "Setup RustDesk" RELEASE=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') TEMPDIR=$(mktemp -d) -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR" -O $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR") -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR" -O $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR") -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR" -O $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename"https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename"https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename"https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR") $STD dpkg -i $TEMPDIR/*.deb echo "${RELEASE}" >/opt/rustdesk.txt msg_ok "Setup RustDesk" diff --git a/install/seelf-install.sh b/install/seelf-install.sh index b641ebba3..c5ca9cd7a 100644 --- a/install/seelf-install.sh +++ b/install/seelf-install.sh @@ -42,7 +42,7 @@ msg_ok "Installed Node.js" msg_info "Setting up seelf. Patience" RELEASE=$(curl -fsSL https://api.github.com/repos/YuukanOO/seelf/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz mv seelf-${RELEASE}/ /opt/seelf cd /opt/seelf diff --git a/install/semaphore-install.sh b/install/semaphore-install.sh index 4c98b7a8d..da3b5c855 100644 --- a/install/semaphore-install.sh +++ b/install/semaphore-install.sh @@ -30,7 +30,7 @@ msg_info "Setup Semaphore" RELEASE=$(curl -fsSL https://api.github.com/repos/semaphoreui/semaphore/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /opt/semaphore cd /opt/semaphore -curl -fsSL "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb" -O $(basename "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb") +curl -fsSL "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb" -o $(basename"https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb") $STD dpkg -i semaphore_${RELEASE}_linux_amd64.deb SEM_HASH=$(openssl rand -base64 32) diff --git a/install/silverbullet-install.sh b/install/silverbullet-install.sh index 424b74f86..ece9a33fc 100644 --- a/install/silverbullet-install.sh +++ b/install/silverbullet-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing Silverbullet" RELEASE=$(curl -fsSL https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') mkdir -p /opt/silverbullet/bin /opt/silverbullet/space -curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -O $(basename "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") +curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o $(basename"https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") unzip -oq -d /opt/silverbullet/bin/ silverbullet-server-linux-x86_64.zip chmod +x /opt/silverbullet/bin/silverbullet echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/spoolman-install.sh b/install/spoolman-install.sh index f4fa4b2be..5371196c6 100644 --- a/install/spoolman-install.sh +++ b/install/spoolman-install.sh @@ -34,7 +34,7 @@ msg_ok "Setup Python3" msg_info "Installing Spoolman" RELEASE=$(curl -fsSL https://github.com/Donkie/Spoolman/releases/latest | grep "title>Release" | cut -d " " -f 4) cd /opt -curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip" -O $(basename "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip") +curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip" -o $(basename"https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip") unzip -q spoolman.zip -d spoolman rm -rf spoolman.zip cd spoolman diff --git a/install/stirling-pdf-install.sh b/install/stirling-pdf-install.sh index ab99f73f4..93b6383b9 100644 --- a/install/stirling-pdf-install.sh +++ b/install/stirling-pdf-install.sh @@ -55,7 +55,7 @@ msg_ok "Installed Python Dependencies" msg_info "Installing Azul Zulu" curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" -curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -O $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename"https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu17-jdk @@ -76,7 +76,7 @@ msg_ok "Installed Language Packs" msg_info "Installing Stirling-PDF (Additional Patience)" RELEASE=$(curl -fsSL https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz" -O $(basename "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz cd Stirling-PDF-$RELEASE chmod +x ./gradlew diff --git a/install/suwayomiserver-install.sh b/install/suwayomiserver-install.sh index 3ca7be1c9..df9f8aab8 100644 --- a/install/suwayomiserver-install.sh +++ b/install/suwayomiserver-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Settting up Suwayomi-Server" URL=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "browser_download_url" | awk '{print substr($2, 2, length($2)-2) }' | tail -n+2 | head -n 1) RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "$URL" -O $(basename "$URL") +curl -fsSL "$URL" -o $(basename"$URL") $STD dpkg -i *.deb echo ${RELEASE} >/opt/suwayomi-server_version.txt msg_ok "Done setting up Suwayomi-Server" diff --git a/install/tasmoadmin-install.sh b/install/tasmoadmin-install.sh index 40c35e8da..1390e9ef0 100644 --- a/install/tasmoadmin-install.sh +++ b/install/tasmoadmin-install.sh @@ -25,7 +25,7 @@ $STD apt-get install -y git msg_ok "Installed Dependencies" msg_info "Installing TasmoAdmin" -curl -fsSL "https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz" -O $(basename "https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz") +curl -fsSL "https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz" -o $(basename"https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz") tar -xzf tasmoadmin_v3.1.1.tar.gz -C /var/www/ rm -rf tasmoadmin_v3.1.1.tar.gz /etc/php/8.2/apache2/conf.d/10-opcache.ini chown -R www-data:www-data /var/www/tasmoadmin diff --git a/install/tdarr-install.sh b/install/tdarr-install.sh index 87c81f779..59ac8d28b 100644 --- a/install/tdarr-install.sh +++ b/install/tdarr-install.sh @@ -32,7 +32,7 @@ msg_info "Installing Tdarr" mkdir -p /opt/tdarr cd /opt/tdarr RELEASE=$(curl -fsSL https://f000.backblazeb2.com/file/tdarrs/versions.json | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1) -curl -fsSL "$RELEASE" -O $(basename "$RELEASE") +curl -fsSL "$RELEASE" -o $(basename"$RELEASE") $STD unzip Tdarr_Updater.zip rm -rf Tdarr_Updater.zip chmod +x Tdarr_Updater diff --git a/install/teddycloud-install.sh b/install/teddycloud-install.sh index 85500c8cf..c00ac22b8 100644 --- a/install/teddycloud-install.sh +++ b/install/teddycloud-install.sh @@ -23,7 +23,7 @@ msg_ok "Installed Dependencies" msg_info "Installing TeddyCloud" RELEASE="$(curl -fsSL https://api.github.com/repos/toniebox-reverse-engineering/teddycloud/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')" VERSION="${RELEASE#tc_v}" -curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -O $(basename "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") +curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -o $(basename"https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") unzip -q -d "/opt/teddycloud-${VERSION}" "teddycloud.amd64.release_v${VERSION}.zip" ln -fns "/opt/teddycloud-${VERSION}" /opt/teddycloud rm -rf teddycloud.amd64.release_v${VERSION}.zip diff --git a/install/the-lounge-install.sh b/install/the-lounge-install.sh index 80bf8b5ea..f3084630f 100644 --- a/install/the-lounge-install.sh +++ b/install/the-lounge-install.sh @@ -35,7 +35,7 @@ msg_ok "Installed Node.js" msg_info "Installing The Lounge" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/thelounge/thelounge-deb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb" -O $(basename "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb") +curl -fsSL "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb" -o $(basename"https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb") $STD dpkg -i ./thelounge_${RELEASE}_all.deb echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Installed The Lounge" diff --git a/install/tianji-install.sh b/install/tianji-install.sh index 6f18cd0ec..9d5cfcc65 100644 --- a/install/tianji-install.sh +++ b/install/tianji-install.sh @@ -57,7 +57,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Tianji (Extreme Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/msgbyte/tianji/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv tianji-${RELEASE} /opt/tianji cd tianji diff --git a/install/traccar-install.sh b/install/traccar-install.sh index f465729ee..25e0a5f5a 100644 --- a/install/traccar-install.sh +++ b/install/traccar-install.sh @@ -15,7 +15,7 @@ update_os RELEASE=$(curl -fsSL https://api.github.com/repos/traccar/traccar/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing Traccar v${RELEASE}" -curl -fsSL "https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip" -O $(basename "https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip") +curl -fsSL "https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip" -o $(basename"https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip") $STD unzip traccar-linux-64-${RELEASE}.zip $STD ./traccar.run systemctl enable -q --now traccar diff --git a/install/traefik-install.sh b/install/traefik-install.sh index f451364c5..20790a068 100644 --- a/install/traefik-install.sh +++ b/install/traefik-install.sh @@ -21,7 +21,7 @@ msg_ok "Installed Dependencies" RELEASE=$(curl -fsSL https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1) msg_info "Installing Traefik v${RELEASE}" mkdir -p /etc/traefik/{conf.d,ssl} -curl -fsSL "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz" -O $(basename "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz") +curl -fsSL "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz") tar -C /tmp -xzf traefik*.tar.gz mv /tmp/traefik /usr/bin/ rm -rf traefik*.tar.gz diff --git a/install/trilium-install.sh b/install/trilium-install.sh index d50080713..6fa99c8aa 100644 --- a/install/trilium-install.sh +++ b/install/trilium-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Setup TriliumNext" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -O $(basename "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz") +curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o $(basename"https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz") tar -xf TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz mv TriliumNextNotes-Server-$RELEASE-linux-x64 /opt/trilium echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/typesense-install.sh b/install/typesense-install.sh index 369d2cf94..384a0e034 100644 --- a/install/typesense-install.sh +++ b/install/typesense-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing TypeSense" RELEASE=$(curl -fsSL https://api.github.com/repos/typesense/typesense/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb" -O $(basename "https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb") +curl -fsSL "https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb" -o $(basename"https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb") $STD apt install -y /opt/typesense-server-${RELEASE}-amd64.deb echo 'enable-cors = true' >>/etc/typesense/typesense-server.ini echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/unifi-install.sh b/install/unifi-install.sh index 084b7955f..dfdb1010f 100644 --- a/install/unifi-install.sh +++ b/install/unifi-install.sh @@ -29,7 +29,7 @@ if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then msg_ok "No AVX Support Detected" msg_info "Installing MongoDB 4.4" if ! dpkg -l | grep -q "libssl1.1"; then - curl -fsSL "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb" -O $(basename "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb") + curl -fsSL "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb" -o $(basename"http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb") $STD dpkg -i libssl1.1_1.1.1n-0+deb10u6_amd64.deb fi curl -fsSL "https://www.mongodb.org/static/pgp/server-4.4.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-4.4.gpg diff --git a/install/victoriametrics-install.sh b/install/victoriametrics-install.sh index e028a4f2a..206332f2e 100644 --- a/install/victoriametrics-install.sh +++ b/install/victoriametrics-install.sh @@ -18,8 +18,8 @@ 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 $(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") +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") 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/* diff --git a/install/vikunja-install.sh b/install/vikunja-install.sh index 293962c26..8310bd2a6 100644 --- a/install/vikunja-install.sh +++ b/install/vikunja-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Setup Vikunja (Patience)" cd /opt RELEASE=$(curl -fsSL https://dl.vikunja.io/vikunja/ | grep -oP 'href="/vikunja/\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1) -curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -O $(basename "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb") +curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -o $(basename"https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb") $STD dpkg -i vikunja-$RELEASE-amd64.deb sed -i 's|^ timezone: .*| timezone: UTC|' /etc/vikunja/config.yml sed -i 's|"./vikunja.db"|"/etc/vikunja/vikunja.db"|' /etc/vikunja/config.yml diff --git a/install/wallos-install.sh b/install/wallos-install.sh index 793a4ad1a..fc91addef 100644 --- a/install/wallos-install.sh +++ b/install/wallos-install.sh @@ -24,7 +24,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Wallos (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/ellite/Wallos/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv Wallos-${RELEASE} /opt/wallos cd /opt/wallos diff --git a/install/watchyourlan-install.sh b/install/watchyourlan-install.sh index 3d81684d5..efff0e1e3 100644 --- a/install/watchyourlan-install.sh +++ b/install/watchyourlan-install.sh @@ -19,7 +19,7 @@ msg_ok "Installed Dependencies" msg_info "Installing WatchYourLAN" RELEASE=$(curl -fsSL https://api.github.com/repos/aceberg/WatchYourLAN/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d '"' -f 4) -curl -fsSL "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb" -O $(basename "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb") +curl -fsSL "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb" -o $(basename"https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb") $STD dpkg -i watchyourlan_${RELEASE}_linux_amd64.deb rm watchyourlan_${RELEASE}_linux_amd64.deb mkdir /data diff --git a/install/wavelog-install.sh b/install/wavelog-install.sh index e35c05e73..dc3c5211a 100644 --- a/install/wavelog-install.sh +++ b/install/wavelog-install.sh @@ -43,7 +43,7 @@ msg_ok "Set up PHP" msg_info "Installing Wavelog" RELEASE=$(curl -fsSL https://api.github.com/repos/wavelog/wavelog/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv wavelog-${RELEASE}/ /opt/wavelog chown -R www-data:www-data /opt/wavelog/ diff --git a/install/wger-install.sh b/install/wger-install.sh index b12c6fa7f..c528e0152 100644 --- a/install/wger-install.sh +++ b/install/wger-install.sh @@ -49,7 +49,7 @@ chmod o+w /home/wger/media temp_dir=$(mktemp -d) cd $temp_dir RELEASE=$(curl -fsSL https://api.github.com/repos/wger-project/wger/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') -curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -O $(basename "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz") +curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -o $(basename"https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz") tar xzf $RELEASE.tar.gz mv wger-$RELEASE /home/wger/src cd /home/wger/src diff --git a/install/wordpress-install.sh b/install/wordpress-install.sh index 418a9f61e..9e074e34b 100644 --- a/install/wordpress-install.sh +++ b/install/wordpress-install.sh @@ -38,7 +38,7 @@ msg_ok "Set up Database" msg_info "Installing Wordpress (Patience)" cd /var/www/html -curl -fsSL "https://wordpress.org/latest.zip" -O $(basename "https://wordpress.org/latest.zip") +curl -fsSL "https://wordpress.org/latest.zip" -o $(basename"https://wordpress.org/latest.zip") unzip -q latest.zip chown -R www-data:www-data wordpress/ cd /var/www/html/wordpress diff --git a/install/zabbix-install.sh b/install/zabbix-install.sh index 8273d1236..48cc53d4d 100644 --- a/install/zabbix-install.sh +++ b/install/zabbix-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Zabbix" cd /tmp -curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -O $(basename "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb") +curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -o $(basename"https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb") $STD dpkg -i /tmp/zabbix-release_latest+debian12_all.deb $STD apt-get update $STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts diff --git a/install/zigbee2mqtt-install.sh b/install/zigbee2mqtt-install.sh index d006df8a6..403167d65 100644 --- a/install/zigbee2mqtt-install.sh +++ b/install/zigbee2mqtt-install.sh @@ -41,7 +41,7 @@ msg_ok "Installed pnpm" msg_info "Setting up Zigbee2MQTT" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -O $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt cd /opt/zigbee2mqtt/data diff --git a/install/zipline-install.sh b/install/zipline-install.sh index ddc7d57cf..a9dc4040e 100644 --- a/install/zipline-install.sh +++ b/install/zipline-install.sh @@ -52,7 +52,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Zipline (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -O $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv zipline-${RELEASE} /opt/zipline cd /opt/zipline diff --git a/install/zoraxy-install.sh b/install/zoraxy-install.sh index 1e279d503..a9c5bc27c 100644 --- a/install/zoraxy-install.sh +++ b/install/zoraxy-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Zoraxy (Patience)" RELEASE=$(curl -fsSL https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -O $(basename "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64") +curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -o $(basename"https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64") mkdir -p /opt/zoraxy mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy chmod +x /opt/zoraxy/zoraxy diff --git a/install/zwave-js-ui-install.sh b/install/zwave-js-ui-install.sh index d124af7aa..b3389aedb 100644 --- a/install/zwave-js-ui-install.sh +++ b/install/zwave-js-ui-install.sh @@ -18,7 +18,7 @@ mkdir -p /opt/zwave-js-ui mkdir -p /opt/zwave_store cd /opt/zwave-js-ui RELEASE=$(curl -fsSL https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -O $(basename "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") +curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o $(basename"https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") unzip -q zwave-js-ui-${RELEASE}-linux.zip cat </opt/.env ZWAVEJS_EXTERNAL_CONFIG=/opt/zwave_store/.config-db diff --git a/misc/microcode.sh b/misc/microcode.sh index 9d6c09efa..35017e68a 100644 --- a/misc/microcode.sh +++ b/misc/microcode.sh @@ -72,7 +72,7 @@ intel() { } msg_info "Downloading the Intel Processor Microcode Package $microcode" - curl -fsSL "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode" -O $(basename "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode") + curl -fsSL "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode" -o $(basename"http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode") msg_ok "Downloaded the Intel Processor Microcode Package $microcode" msg_info "Installing $microcode (Patience)" @@ -116,7 +116,7 @@ amd() { } msg_info "Downloading the AMD Processor Microcode Package $microcode" - curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode" -O $(basename "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode") + curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode" -o $(basename"https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode") msg_ok "Downloaded the AMD Processor Microcode Package $microcode" msg_info "Installing $microcode (Patience)" diff --git a/misc/netdata.sh b/misc/netdata.sh index 87c272d58..97dadc889 100644 --- a/misc/netdata.sh +++ b/misc/netdata.sh @@ -60,7 +60,7 @@ install() { msg_info "Setting up repository" $STD apt-get install -y debian-keyring - curl -fsSL "https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb" -O $(basename "https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb") + curl -fsSL "https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb" -o $(basename"https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb") $STD dpkg -i netdata-repo_5-1+debian12_all.deb rm -rf netdata-repo_5-1+debian12_all.deb msg_ok "Set up repository" diff --git a/misc/olivetin.sh b/misc/olivetin.sh index b9cd40e26..df5a97591 100644 --- a/misc/olivetin.sh +++ b/misc/olivetin.sh @@ -51,7 +51,7 @@ function msg_ok() { } msg_info "Installing ${APP}" -curl -fsSL "https://github.com/OliveTin/OliveTin/releases/latest/download/OliveTin_linux_amd64.deb" -O $(basename "https://github.com/OliveTin/OliveTin/releases/latest/download/OliveTin_linux_amd64.deb") +curl -fsSL "https://github.com/OliveTin/OliveTin/releases/latest/download/OliveTin_linux_amd64.deb" -o $(basename"https://github.com/OliveTin/OliveTin/releases/latest/download/OliveTin_linux_amd64.deb") dpkg -i OliveTin_linux_amd64.deb &>/dev/null systemctl enable --now OliveTin &>/dev/null rm OliveTin_linux_amd64.deb diff --git a/misc/pbs_microcode.sh b/misc/pbs_microcode.sh index 88ca95867..79735fe5f 100644 --- a/misc/pbs_microcode.sh +++ b/misc/pbs_microcode.sh @@ -89,7 +89,7 @@ intel() { } msg_info "Downloading Intel processor microcode package $microcode" - curl -fsSL "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode" -O $(basename "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode") + curl -fsSL "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode" -o $(basename"http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode") msg_ok "Downloaded Intel processor microcode package $microcode" msg_info "Installing $microcode (this might take a while)" @@ -136,7 +136,7 @@ amd() { } msg_info "Downloading AMD processor microcode package $microcode" - curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode" -O $(basename "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode") + curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode" -o $(basename"https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode") msg_ok "Downloaded AMD processor microcode package $microcode" msg_info "Installing $microcode (this might take a while)" diff --git a/misc/webmin.sh b/misc/webmin.sh index 6fc53a321..87a5ead73 100644 --- a/misc/webmin.sh +++ b/misc/webmin.sh @@ -48,7 +48,7 @@ msg_ok "Installed Prerequisites" LATEST=$(curl -fsSLL https://api.github.com/repos/webmin/webmin/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Downloading Webmin" -curl -fsSL "https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb" -O $(basename "https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb") +curl -fsSL "https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb" -o $(basename"https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb") msg_ok "Downloaded Webmin" msg_info "Installing Webmin" From 1b0fc168d7c9da71920d8446f1f615316c8dc976 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, 1 Apr 2025 10:53:38 +0200 Subject: [PATCH 060/166] Update CHANGELOG.md (#3551) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 137b99fc1..581d9ef65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,9 +16,9 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-04-01 -### πŸš€ Updated Scripts +### 🧰 Maintenance - - #### 🐞 Bug Fixes + - #### ✨ New Features - Replace wget with curl -fsSL, normalize downloads, and prep for IPv6 [@MickLesk](https://github.com/MickLesk) ([#3455](https://github.com/community-scripts/ProxmoxVE/pull/3455)) From 8b66c8a9dc79fe39dea8c3712b43ac5c57a6587e Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 10:58:29 +0200 Subject: [PATCH 061/166] fix basename -o --- ct/authelia.sh | 2 +- ct/autobrr.sh | 2 +- ct/baikal.sh | 2 +- ct/barcode-buddy.sh | 2 +- ct/bookstack.sh | 2 +- ct/cockpit.sh | 6 +++--- ct/commafeed.sh | 2 +- ct/crafty-controller.sh | 2 +- ct/cryptpad.sh | 2 +- ct/duplicati.sh | 2 +- ct/firefly.sh | 2 +- ct/flaresolverr.sh | 2 +- ct/gitea.sh | 2 +- ct/glance.sh | 2 +- ct/go2rtc.sh | 2 +- ct/gotify.sh | 2 +- ct/grist.sh | 2 +- ct/headscale.sh | 2 +- ct/heimdall-dashboard.sh | 2 +- ct/hoarder.sh | 2 +- ct/homarr.sh | 2 +- ct/homer.sh | 2 +- ct/inspircd.sh | 2 +- ct/jackett.sh | 2 +- ct/keycloak.sh | 2 +- ct/kimai.sh | 2 +- ct/koillection.sh | 2 +- ct/komga.sh | 2 +- ct/kubo.sh | 2 +- ct/linkwarden.sh | 2 +- ct/listmonk.sh | 2 +- ct/lubelogger.sh | 2 +- ct/mafl.sh | 2 +- ct/minio.sh | 2 +- ct/monica.sh | 2 +- ct/myspeed.sh | 2 +- ct/netbox.sh | 2 +- ct/nextpvr.sh | 2 +- ct/ombi.sh | 2 +- ct/onedev.sh | 2 +- ct/opengist.sh | 2 +- ct/paperless-ai.sh | 2 +- ct/paperless-ngx.sh | 4 ++-- ct/part-db.sh | 2 +- ct/pelican-panel.sh | 2 +- ct/pf2etools.sh | 2 +- ct/photoprism.sh | 2 +- ct/phpipam.sh | 2 +- ct/pingvin.sh | 2 +- ct/plant-it.sh | 2 +- ct/pocketid.sh | 2 +- ct/privatebin.sh | 2 +- ct/projectsend.sh | 2 +- ct/prometheus-alertmanager.sh | 2 +- ct/prometheus-paperless-ngx-exporter.sh | 2 +- ct/prometheus.sh | 2 +- ct/pterodactyl-panel.sh | 2 +- ct/rdtclient.sh | 2 +- ct/recyclarr.sh | 2 +- ct/rustdeskserver.sh | 6 +++--- ct/seelf.sh | 2 +- ct/semaphore.sh | 2 +- ct/silverbullet.sh | 2 +- ct/spoolman.sh | 2 +- ct/stirling-pdf.sh | 2 +- ct/suwayomiserver.sh | 2 +- ct/tasmocompiler.sh | 2 +- ct/technitiumdns.sh | 2 +- ct/teddycloud.sh | 2 +- ct/the-lounge.sh | 2 +- ct/tianji.sh | 2 +- ct/traefik.sh | 2 +- ct/trilium.sh | 2 +- ct/victoriametrics.sh | 4 ++-- ct/vikunja.sh | 2 +- ct/wallos.sh | 2 +- ct/watchyourlan.sh | 2 +- ct/wavelog.sh | 2 +- ct/wikijs.sh | 2 +- ct/zabbix.sh | 2 +- ct/zigbee2mqtt.sh | 2 +- ct/zipline.sh | 2 +- ct/zoraxy.sh | 2 +- ct/zwave-js-ui.sh | 2 +- install/2fauth-install.sh | 2 +- install/actualbudget-install.sh | 2 +- install/adventurelog-install.sh | 2 +- install/agentdvr-install.sh | 2 +- install/apache-guacamole-install.sh | 4 ++-- install/apache-tika-install.sh | 2 +- install/aria2-install.sh | 2 +- install/authelia-install.sh | 2 +- install/authentik-install.sh | 2 +- install/autobrr-install.sh | 2 +- install/baikal-install.sh | 2 +- install/barcode-buddy-install.sh | 2 +- install/bazarr-install.sh | 2 +- install/bookstack-install.sh | 2 +- install/caddy-install.sh | 2 +- install/commafeed-install.sh | 4 ++-- install/cosmos-install.sh | 2 +- install/crafty-controller-install.sh | 2 +- install/duplicati-install.sh | 2 +- install/emby-install.sh | 2 +- install/ersatztv-install.sh | 2 +- install/fenrus-install.sh | 2 +- install/firefly-install.sh | 2 +- install/freshrss-install.sh | 2 +- install/frigate-install.sh | 2 +- install/gitea-install.sh | 2 +- install/glance-install.sh | 2 +- install/glpi-install.sh | 2 +- install/go2rtc-install.sh | 2 +- install/gokapi-install.sh | 2 +- install/gotify-install.sh | 2 +- install/graylog-install.sh | 2 +- install/grist-install.sh | 2 +- install/grocy-install.sh | 2 +- install/habitica-install.sh | 2 +- install/headscale-install.sh | 2 +- install/heimdall-dashboard-install.sh | 2 +- install/hivemq-install.sh | 2 +- install/hoarder-install.sh | 4 ++-- install/homarr-install.sh | 2 +- install/homer-install.sh | 2 +- install/influxdb-install.sh | 2 +- install/inspircd-install.sh | 2 +- install/iventoy-install.sh | 2 +- install/jackett-install.sh | 2 +- install/kimai-install.sh | 2 +- install/koillection-install.sh | 2 +- install/komga-install.sh | 2 +- install/komodo-install.sh | 2 +- install/linkwarden-install.sh | 2 +- install/listmonk-install.sh | 2 +- install/lubelogger-install.sh | 2 +- install/mafl-install.sh | 2 +- install/mariadb-install.sh | 2 +- install/mediamtx-install.sh | 2 +- install/minio-install.sh | 2 +- install/monica-install.sh | 2 +- install/myspeed-install.sh | 2 +- install/mysql-install.sh | 2 +- install/netbox-install.sh | 2 +- install/nextpvr-install.sh | 2 +- install/nodebb-install.sh | 2 +- install/npmplus-install.sh | 2 +- install/omada-install.sh | 2 +- install/ombi-install.sh | 2 +- install/onedev-install.sh | 2 +- install/opengist-install.sh | 2 +- install/openhab-install.sh | 2 +- install/owncast-install.sh | 2 +- install/paperless-ai-install.sh | 2 +- install/paperless-ngx-install.sh | 2 +- install/part-db-install.sh | 2 +- install/paymenter-install.sh | 2 +- install/pelican-panel-install.sh | 2 +- install/pf2etools-install.sh | 2 +- install/photoprism-install.sh | 4 ++-- install/phpipam-install.sh | 2 +- install/pingvin-install.sh | 2 +- install/plant-it-install.sh | 4 ++-- install/pocketid-install.sh | 2 +- install/privatebin-install.sh | 2 +- install/projectsend-install.sh | 2 +- install/prometheus-alertmanager-install.sh | 2 +- install/prometheus-install.sh | 2 +- install/prometheus-paperless-ngx-exporter-install.sh | 2 +- install/pterodactyl-panel-install.sh | 2 +- install/rdtclient-install.sh | 4 ++-- install/recyclarr-install.sh | 2 +- install/runtipi-install.sh | 2 +- install/rustdeskserver-install.sh | 6 +++--- install/seelf-install.sh | 2 +- install/semaphore-install.sh | 2 +- install/silverbullet-install.sh | 2 +- install/spoolman-install.sh | 2 +- install/stirling-pdf-install.sh | 4 ++-- install/suwayomiserver-install.sh | 2 +- install/tasmoadmin-install.sh | 2 +- install/tdarr-install.sh | 2 +- install/teddycloud-install.sh | 2 +- install/the-lounge-install.sh | 2 +- install/tianji-install.sh | 2 +- install/traccar-install.sh | 2 +- install/traefik-install.sh | 2 +- install/trilium-install.sh | 2 +- install/typesense-install.sh | 2 +- install/unifi-install.sh | 2 +- install/victoriametrics-install.sh | 4 ++-- install/vikunja-install.sh | 2 +- install/wallos-install.sh | 2 +- install/watchyourlan-install.sh | 2 +- install/wavelog-install.sh | 2 +- install/wger-install.sh | 2 +- install/wordpress-install.sh | 2 +- install/zabbix-install.sh | 2 +- install/zigbee2mqtt-install.sh | 2 +- install/zipline-install.sh | 2 +- install/zoraxy-install.sh | 2 +- install/zwave-js-ui-install.sh | 2 +- misc/microcode.sh | 4 ++-- misc/netdata.sh | 2 +- misc/olivetin.sh | 2 +- misc/pbs_microcode.sh | 4 ++-- misc/webmin.sh | 2 +- 207 files changed, 225 insertions(+), 225 deletions(-) diff --git a/ct/authelia.sh b/ct/authelia.sh index c9f9e9bf7..11d3acb05 100644 --- a/ct/authelia.sh +++ b/ct/authelia.sh @@ -34,7 +34,7 @@ function update_script() { msg_info "Updating $APP to ${RELEASE}" $STD apt-get update $STD apt-get -y upgrade - curl -fsSL "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" -o $(basename"https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb") + curl -fsSL "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" -o $(basename "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb") $STD dpkg -i "authelia_${RELEASE}_amd64.deb" msg_info "Cleaning Up" rm -f "authelia_${RELEASE}_amd64.deb" diff --git a/ct/autobrr.sh b/ct/autobrr.sh index cdeb2b920..7da6af312 100644 --- a/ct/autobrr.sh +++ b/ct/autobrr.sh @@ -33,7 +33,7 @@ function update_script() { msg_info "Updating ${APP} LXC" rm -rf /usr/local/bin/* - curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)") + curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)") tar -C /usr/local/bin -xzf autobrr*.tar.gz rm -rf autobrr*.tar.gz msg_ok "Updated ${APP} LXC" diff --git a/ct/baikal.sh b/ct/baikal.sh index f5613e757..92fed5849 100644 --- a/ct/baikal.sh +++ b/ct/baikal.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename"https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") + curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") mv /opt/baikal /opt/baikal-backup unzip -o -q "baikal-${RELEASE}.zip" cp -r /opt/baikal-backup/config/baikal.yaml /opt/baikal/config/ diff --git a/ct/barcode-buddy.sh b/ct/barcode-buddy.sh index eede997fb..306610d31 100644 --- a/ct/barcode-buddy.sh +++ b/ct/barcode-buddy.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt mv /opt/barcodebuddy/ /opt/barcodebuddy-backup - curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy cp -r /opt/barcodebuddy-backup/data/. /opt/barcodebuddy/data diff --git a/ct/bookstack.sh b/ct/bookstack.sh index b843c738e..618b40d37 100644 --- a/ct/bookstack.sh +++ b/ct/bookstack.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" mv /opt/bookstack /opt/bookstack-backup -curl -fsSL "--directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o $(basename"--directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "--directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o $(basename "--directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") unzip -q /opt/v${RELEASE}.zip -d /opt mv /opt/BookStack-${RELEASE} /opt/bookstack cp /opt/bookstack-backup/.env /opt/bookstack/.env diff --git a/ct/cockpit.sh b/ct/cockpit.sh index 76d8fe70f..1d31618cd 100644 --- a/ct/cockpit.sh +++ b/ct/cockpit.sh @@ -51,7 +51,7 @@ function update_script() { $STD apt-get install -y gawk msg_ok "Installed dependencies" msg_info "Installing Cockpit file sharing" - curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") + curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") $STD dpkg -i cockpit-file-sharing_*focal_all.deb rm cockpit-file-sharing_*focal_all.deb msg_ok "Installed Cockpit file sharing" @@ -64,7 +64,7 @@ function update_script() { $STD apt-get install -y samba-common-bin msg_ok "Installed dependencies" msg_info "Installing Cockpit identities" - curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") + curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") $STD dpkg -i cockpit-identities_*focal_all.deb rm cockpit-identities_*focal_all.deb msg_ok "Installed Cockpit identities" @@ -76,7 +76,7 @@ function update_script() { $STD apt-get install -y zip msg_ok "Installed dependencies" msg_info "Installing Cockpit navigator" - curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") + curl -fsSL "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)") $STD dpkg -i cockpit-navigator_*focal_all.deb rm cockpit-navigator_*focal_all.deb msg_ok "Installed Cockpit navigator" diff --git a/ct/commafeed.sh b/ct/commafeed.sh index 1d0c018b7..7ac99e0a4 100644 --- a/ct/commafeed.sh +++ b/ct/commafeed.sh @@ -34,7 +34,7 @@ function update_script() { msg_ok "Stopped ${APP}" msg_info "Updating ${APP} to ${RELEASE}" - curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename"https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") + curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") unzip -q commafeed-${RELEASE}-h2-jvm.zip rsync -a --exclude 'data/' commafeed-${RELEASE}-h2/ /opt/commafeed/ rm -rf commafeed-${RELEASE}-h2 commafeed-${RELEASE}-h2-jvm.zip diff --git a/ct/crafty-controller.sh b/ct/crafty-controller.sh index ad2b40c2e..ce4058676 100644 --- a/ct/crafty-controller.sh +++ b/ct/crafty-controller.sh @@ -45,7 +45,7 @@ function update_script() { msg_ok "Backup Created" msg_info "Updating Crafty-Controller to v${RELEASE}" - curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename"https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") + curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") unzip -q crafty-4-v${RELEASE}.zip cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/ rm -rf crafty-4-v${RELEASE} diff --git a/ct/cryptpad.sh b/ct/cryptpad.sh index 6f5988e55..47e2564f6 100644 --- a/ct/cryptpad.sh +++ b/ct/cryptpad.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating $APP to ${RELEASE}" temp_dir=$(mktemp -d) cp -f /opt/cryptpad/config/config.js /opt/config.js -curl -fsSL "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir" -o $(basename"https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir") +curl -fsSL "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir" -o $(basename "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir") cd $temp_dir tar zxf $RELEASE.tar.gz cp -rf cryptpad-$RELEASE/* /opt/cryptpad diff --git a/ct/duplicati.sh b/ct/duplicati.sh index 3d785adfe..0596c9c80 100644 --- a/ct/duplicati.sh +++ b/ct/duplicati.sh @@ -33,7 +33,7 @@ function update_script() { 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") + 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}" diff --git a/ct/firefly.sh b/ct/firefly.sh index b0583745a..9ea67fc48 100644 --- a/ct/firefly.sh +++ b/ct/firefly.sh @@ -38,7 +38,7 @@ function update_script() { cp /opt/firefly/.env /opt/.env cp -r /opt/firefly/storage /opt/storage cd /opt - curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -o $(basename"https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz") + curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -o $(basename "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz") tar -xzf FireflyIII-v${RELEASE}.tar.gz -C /opt/firefly --exclude='storage' cp /opt/.env /opt/firefly/.env cp -r /opt/storage /opt/firefly/storage diff --git a/ct/flaresolverr.sh b/ct/flaresolverr.sh index 0801f44e2..2e871f006 100644 --- a/ct/flaresolverr.sh +++ b/ct/flaresolverr.sh @@ -31,7 +31,7 @@ function update_script() { if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Updating $APP LXC" systemctl stop flaresolverr - curl -fsSL "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz" -o $(basename"https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz") + curl -fsSL "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz" -o $(basename "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz") tar -xzf flaresolverr_linux_x64.tar.gz -C /opt rm flaresolverr_linux_x64.tar.gz systemctl start flaresolverr diff --git a/ct/gitea.sh b/ct/gitea.sh index bf2c61b75..955fbfad5 100644 --- a/ct/gitea.sh +++ b/ct/gitea.sh @@ -29,7 +29,7 @@ function update_script() { fi RELEASE=$(curl -fsSL https://github.com/go-gitea/gitea/releases/latest | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//') msg_info "Updating $APP to ${RELEASE}" - curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -o $(basename"https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64") + curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -o $(basename "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64") systemctl stop gitea rm -rf /usr/local/bin/gitea mv gitea* /usr/local/bin/gitea diff --git a/ct/glance.sh b/ct/glance.sh index 1ba07e38f..216c17803 100644 --- a/ct/glance.sh +++ b/ct/glance.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - curl -fsSL "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz" -o $(basename"https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz") + curl -fsSL "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz" -o $(basename "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz") rm -rf /opt/glance/glance tar -xzf glance-linux-amd64.tar.gz -C /opt/glance echo "${RELEASE}" >"/opt/${APP}_version.txt" diff --git a/ct/go2rtc.sh b/ct/go2rtc.sh index d25f5dcee..cdad074bd 100644 --- a/ct/go2rtc.sh +++ b/ct/go2rtc.sh @@ -31,7 +31,7 @@ function update_script() { 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") + 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" diff --git a/ct/gotify.sh b/ct/gotify.sh index 1cebc2a38..aeb2a80b3 100644 --- a/ct/gotify.sh +++ b/ct/gotify.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cd /opt/gotify - curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename"https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") + curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") unzip -oq gotify-linux-amd64.zip rm -rf gotify-linux-amd64.zip chmod +x gotify-linux-amd64 diff --git a/ct/grist.sh b/ct/grist.sh index abbe8e872..95e0dc98c 100644 --- a/ct/grist.sh +++ b/ct/grist.sh @@ -38,7 +38,7 @@ function update_script() { cd /opt rm -rf grist_bak mv grist grist_bak - curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") unzip -q v$RELEASE.zip mv grist-core-${RELEASE} grist diff --git a/ct/headscale.sh b/ct/headscale.sh index 87a467b8e..66443d44a 100644 --- a/ct/headscale.sh +++ b/ct/headscale.sh @@ -34,7 +34,7 @@ function update_script() { 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") + 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 diff --git a/ct/heimdall-dashboard.sh b/ct/heimdall-dashboard.sh index 7799ff275..fa4765014 100644 --- a/ct/heimdall-dashboard.sh +++ b/ct/heimdall-dashboard.sh @@ -39,7 +39,7 @@ function update_script() { sleep 1 msg_ok "Backed up Data" msg_info "Updating Heimdall Dashboard to ${RELEASE}" - curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -o $(basename"https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") + curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -o $(basename "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") tar xzf ${RELEASE}.tar.gz VER=$(curl -fsSL https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cp -R Heimdall-${VER}/* /opt/Heimdall diff --git a/ct/hoarder.sh b/ct/hoarder.sh index 788969db3..34896f8aa 100644 --- a/ct/hoarder.sh +++ b/ct/hoarder.sh @@ -46,7 +46,7 @@ function update_script() { mv /opt/hoarder/.env /etc/hoarder/hoarder.env fi rm -rf /opt/hoarder - curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv hoarder-${RELEASE} /opt/hoarder cd /opt/hoarder/apps/web diff --git a/ct/homarr.sh b/ct/homarr.sh index a91eb788b..c5a4c8b82 100644 --- a/ct/homarr.sh +++ b/ct/homarr.sh @@ -117,7 +117,7 @@ node apps/nextjs/server.js & PID=$! wait $PID EOF chmod +x /opt/run_homarr.sh -curl -fsSL "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip rm -rf v${RELEASE}.zip rm -rf /opt/homarr diff --git a/ct/homer.sh b/ct/homer.sh index 23e7c8746..69ba25960 100644 --- a/ct/homer.sh +++ b/ct/homer.sh @@ -40,7 +40,7 @@ function update_script() { msg_info "Updating ${APP}" rm -rf /opt/homer/* cd /opt/homer - curl -fsSL "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip" -o $(basename"https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip") + curl -fsSL "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip" -o $(basename "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip") $STD unzip homer.zip msg_ok "Updated ${APP}" diff --git a/ct/inspircd.sh b/ct/inspircd.sh index f1c8ccfd7..9f99287e9 100644 --- a/ct/inspircd.sh +++ b/ct/inspircd.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -o $(basename"https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb") + curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb") $STD apt-get install "./inspircd_${RELEASE}.deb12u1_amd64.deb" -y echo "${RELEASE}" >"/opt/${APP}_version.txt" msg_ok "Updated ${APP} to v${RELEASE}" diff --git a/ct/jackett.sh b/ct/jackett.sh index 11257786d..e75fbbd4f 100644 --- a/ct/jackett.sh +++ b/ct/jackett.sh @@ -30,7 +30,7 @@ function update_script() { RELEASE=$(curl -fsSL https://github.com/Jackett/Jackett/releases/latest | grep "title>Release" | cut -d " " -f 4) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating ${APP}" - curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o $(basename"https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") + curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o $(basename "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") systemctl stop jackett rm -rf /opt/Jackett tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt diff --git a/ct/keycloak.sh b/ct/keycloak.sh index 4ecf90a50..4d9880b0a 100644 --- a/ct/keycloak.sh +++ b/ct/keycloak.sh @@ -36,7 +36,7 @@ function update_script() { RELEASE=$(curl -fsSL https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') msg_info "Updating Keycloak to v$RELEASE" cd /opt - curl -fsSL "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz" -o $(basename"https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz") + curl -fsSL "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz" -o $(basename "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz") mv keycloak keycloak.old tar -xzf keycloak-$RELEASE.tar.gz cp -r keycloak.old/conf keycloak-$RELEASE diff --git a/ct/kimai.sh b/ct/kimai.sh index 61b6850aa..b88b47b7e 100644 --- a/ct/kimai.sh +++ b/ct/kimai.sh @@ -44,7 +44,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" rm -rf /opt/kimai - curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv kimai-${RELEASE} /opt/kimai [ -d "$BACKUP_DIR/var" ] && cp -r "$BACKUP_DIR/var" /opt/kimai/ diff --git a/ct/koillection.sh b/ct/koillection.sh index e77711d3d..c25730954 100644 --- a/ct/koillection.sh +++ b/ct/koillection.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt mv /opt/koillection/ /opt/koillection-backup - curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "/opt/koillection-${RELEASE}" /opt/koillection cd /opt/koillection diff --git a/ct/komga.sh b/ct/komga.sh index 73c2c7451..79a166262 100644 --- a/ct/komga.sh +++ b/ct/komga.sh @@ -35,7 +35,7 @@ function update_script() { msg_ok "Stopped ${APP}" msg_info "Updating ${APP} to ${RELEASE}" - curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -o $(basename"https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") + curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -o $(basename "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") rm -rf /opt/komga/komga.jar mv -f komga-${RELEASE}.jar /opt/komga/komga.jar echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/kubo.sh b/ct/kubo.sh index f83006c2f..4de0510cd 100644 --- a/ct/kubo.sh +++ b/ct/kubo.sh @@ -32,7 +32,7 @@ function update_script() { msg_info "Updating $APP LXC" $STD apt-get update $STD apt-get -y upgrade - curl -fsSL "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" -o $(basename"https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz") + curl -fsSL "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" -o $(basename "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz") tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local systemctl restart ipfs.service echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/linkwarden.sh b/ct/linkwarden.sh index 9ed317285..7850becac 100644 --- a/ct/linkwarden.sh +++ b/ct/linkwarden.sh @@ -46,7 +46,7 @@ function update_script() { mv /opt/linkwarden/.env /opt/.env rm -rf /opt/linkwarden RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv linkwarden-${RELEASE:1} /opt/linkwarden cd /opt/linkwarden diff --git a/ct/listmonk.sh b/ct/listmonk.sh index e6b7acef4..2e6589a1a 100644 --- a/ct/listmonk.sh +++ b/ct/listmonk.sh @@ -38,7 +38,7 @@ function update_script() { cd /opt mv /opt/listmonk/ /opt/listmonk-backup mkdir /opt/listmonk/ - curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz") + curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz") tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk mv /opt/listmonk-backup/config.toml /opt/listmonk/config.toml mv /opt/listmonk-backup/uploads /opt/listmonk/uploads diff --git a/ct/lubelogger.sh b/ct/lubelogger.sh index 7c296de40..d00c246e0 100644 --- a/ct/lubelogger.sh +++ b/ct/lubelogger.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -o $(basename"https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") + curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -o $(basename "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") mkdir -p /tmp/lubeloggerData/data cp /opt/lubelogger/appsettings.json /tmp/lubeloggerData/appsettings.json cp -r /opt/lubelogger/data/ /tmp/lubeloggerData/ diff --git a/ct/mafl.sh b/ct/mafl.sh index 94d5905e3..9c92c23b9 100644 --- a/ct/mafl.sh +++ b/ct/mafl.sh @@ -30,7 +30,7 @@ function update_script() { RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Updating Mafl to v${RELEASE} (Patience)" systemctl stop mafl - curl -fsSL "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz") + curl -fsSL "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz cp -r mafl-${RELEASE}/* /opt/mafl/ rm -rf mafl-${RELEASE} diff --git a/ct/minio.sh b/ct/minio.sh index 1907805a6..08a5fbec3 100644 --- a/ct/minio.sh +++ b/ct/minio.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" mv /usr/local/bin/minio /usr/local/bin/minio_bak - curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o $(basename"https://dl.min.io/server/minio/release/linux-amd64/minio") + curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o $(basename "https://dl.min.io/server/minio/release/linux-amd64/minio") mv minio /usr/local/bin/ chmod +x /usr/local/bin/minio echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/monica.sh b/ct/monica.sh index c095d5f4e..17d861682 100644 --- a/ct/monica.sh +++ b/ct/monica.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt mv /opt/monica/ /opt/monica-backup - curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -o $(basename"https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") + curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -o $(basename "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") tar -xjf "monica-v${RELEASE}.tar.bz2" mv "/opt/monica-v${RELEASE}" /opt/monica cd /opt/monica/ diff --git a/ct/myspeed.sh b/ct/myspeed.sh index 6ec636a78..8a7487cc7 100644 --- a/ct/myspeed.sh +++ b/ct/myspeed.sh @@ -38,7 +38,7 @@ function update_script() { cd /opt rm -rf myspeed_bak mv myspeed myspeed_bak - curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename"https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") + curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") unzip -q MySpeed-$RELEASE.zip -d myspeed cd myspeed $STD npm install diff --git a/ct/netbox.sh b/ct/netbox.sh index f76bb713f..3f9b85fe9 100644 --- a/ct/netbox.sh +++ b/ct/netbox.sh @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" mv /opt/netbox/ /opt/netbox-backup cd /opt - curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv /opt/netbox-${RELEASE}/ /opt/netbox/ diff --git a/ct/nextpvr.sh b/ct/nextpvr.sh index 40d556155..271ca9fd9 100644 --- a/ct/nextpvr.sh +++ b/ct/nextpvr.sh @@ -39,7 +39,7 @@ function update_script() { msg_info "Updating ${APP}" cd /opt - curl -fsSL "https://nextpvr.com/nextpvr-helper.deb" -o $(basename"https://nextpvr.com/nextpvr-helper.deb") + curl -fsSL "https://nextpvr.com/nextpvr-helper.deb" -o $(basename "https://nextpvr.com/nextpvr-helper.deb") $STD dpkg -i nextpvr-helper.deb msg_ok "Updated ${APP}" diff --git a/ct/ombi.sh b/ct/ombi.sh index 6d8589001..359f5fe8c 100644 --- a/ct/ombi.sh +++ b/ct/ombi.sh @@ -34,7 +34,7 @@ function update_script() { msg_ok "Stopped ${APP}" msg_info "Updating ${APP} to ${RELEASE}" - curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -o $(basename"https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") + curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -o $(basename "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") tar -xzf linux-x64.tar.gz -C /opt/ombi rm -rf linux-x64.tar.gz echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/onedev.sh b/ct/onedev.sh index d2fafcb72..d34bfcaa9 100644 --- a/ct/onedev.sh +++ b/ct/onedev.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${GITHUB_RELEASE}" cd /opt - curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -o $(basename"https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz") + curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -o $(basename "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz") tar -xzf onedev-latest.tar.gz $STD /opt/onedev-latest/bin/upgrade.sh /opt/onedev RELEASE=$(cat /opt/onedev/release.properties | grep "version" | cut -d'=' -f2) diff --git a/ct/opengist.sh b/ct/opengist.sh index e13640ea8..d1b57c315 100644 --- a/ct/opengist.sh +++ b/ct/opengist.sh @@ -38,7 +38,7 @@ function update_script() { $STD apt-get -y upgrade cd /opt mv /opt/opengist /opt/opengist-backup - curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -o $(basename"https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") + curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -o $(basename "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") tar -xzf opengist${RELEASE}-linux-amd64.tar.gz mv /opt/opengist-backup/config.yml /opt/opengist/config.yml chmod +x /opt/opengist/opengist diff --git a/ct/paperless-ai.sh b/ct/paperless-ai.sh index 3cf8dc1ee..2f1ebda43 100644 --- a/ct/paperless-ai.sh +++ b/ct/paperless-ai.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" cd /opt mv /opt/paperless-ai /opt/paperless-ai_bak - curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv paperless-ai-${RELEASE} /opt/paperless-ai mkdir -p /opt/paperless-ai/data diff --git a/ct/paperless-ngx.sh b/ct/paperless-ngx.sh index 24fcdb631..7566dfbc0 100644 --- a/ct/paperless-ngx.sh +++ b/ct/paperless-ngx.sh @@ -38,7 +38,7 @@ function update_script() { if [[ "$(gs --version 2>/dev/null)" != "10.04.0" ]]; then msg_info "Updating Ghostscript (Patience)" cd /tmp - curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o $(basename"https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") + curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o $(basename "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") tar -xzf ghostscript-10.04.0.tar.gz cd ghostscript-10.04.0 $STD ./configure @@ -53,7 +53,7 @@ function update_script() { msg_info "Updating to ${RELEASE}" cd ~ - curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz" -o $(basename"https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz") + curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz" -o $(basename "https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz") tar -xf paperless-ngx-$RELEASE.tar.xz cp -r /opt/paperless/paperless.conf paperless-ngx/ cp -r paperless-ngx/* /opt/paperless/ diff --git a/ct/part-db.sh b/ct/part-db.sh index f0a2dcf28..b9d84255e 100644 --- a/ct/part-db.sh +++ b/ct/part-db.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" cd /opt mv /opt/partdb/ /opt/partdb-backup - curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb diff --git a/ct/pelican-panel.sh b/ct/pelican-panel.sh index f9a05b6a5..a83c50b7d 100644 --- a/ct/pelican-panel.sh +++ b/ct/pelican-panel.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cp -r /opt/pelican-panel/.env /opt/ rm -rf * .* - curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename"https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") + curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" mv /opt/.env /opt/pelican-panel/ $STD composer install --no-dev --optimize-autoloader --no-interaction diff --git a/ct/pf2etools.sh b/ct/pf2etools.sh index 107ffc42b..0fc8b11ce 100644 --- a/ct/pf2etools.sh +++ b/ct/pf2etools.sh @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating ${APP}" cd /opt - curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip rm -rf "/opt/${APP}" mv ${APP}-${RELEASE:1} /opt/${APP} diff --git a/ct/photoprism.sh b/ct/photoprism.sh index d7214f4a4..fbda50a13 100644 --- a/ct/photoprism.sh +++ b/ct/photoprism.sh @@ -33,7 +33,7 @@ function update_script() { msg_info "Updating PhotoPrism" $STD apt-get install -y libvips42 - curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1" -o $(basename"-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1") + curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1" -o $(basename "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1") msg_ok "Updated PhotoPrism" msg_info "Starting PhotoPrism" diff --git a/ct/phpipam.sh b/ct/phpipam.sh index 9af2dff84..51894f806 100644 --- a/ct/phpipam.sh +++ b/ct/phpipam.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt mv /opt/phpipam/ /opt/phpipam-backup - curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o $(basename"https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") + curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o $(basename "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") unzip -q "phpipam-v${RELEASE}.zip" cp /opt/phpipam-backup/config.php /opt/phpipam echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/pingvin.sh b/ct/pingvin.sh index cba6cc951..0a699bd3c 100644 --- a/ct/pingvin.sh +++ b/ct/pingvin.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating Pingvin Share to v${RELEASE}" cd /opt - curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip cp -rf pingvin-share-${RELEASE}/* /opt/pingvin-share cd /opt/pingvin-share diff --git a/ct/plant-it.sh b/ct/plant-it.sh index 78074210b..4e2ebddd6 100644 --- a/ct/plant-it.sh +++ b/ct/plant-it.sh @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar" -o "/opt/plant-it/server.jar" cd /opt/plant-it/frontend - curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz" -o $(basename"https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz") + curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz" -o $(basename "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz") tar -xzf client.tar.gz rm -f client.tar.gz echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/pocketid.sh b/ct/pocketid.sh index 88fa2c659..11a106b0a 100755 --- a/ct/pocketid.sh +++ b/ct/pocketid.sh @@ -45,7 +45,7 @@ function update_script() { cp /opt/pocket-id/backend/.env /opt/backend.env cp /opt/pocket-id/frontend/.env /opt/frontend.env rm -r /opt/pocket-id - curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv pocket-id-${RELEASE} /opt/pocket-id mv /opt/data /opt/pocket-id/backend/data diff --git a/ct/privatebin.sh b/ct/privatebin.sh index f1d0c1fe1..81eefab40 100644 --- a/ct/privatebin.sh +++ b/ct/privatebin.sh @@ -32,7 +32,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" echo "${RELEASE}" >/opt/${APP}_version.txt cp -f /opt/privatebin/cfg/conf.php /tmp/privatebin_conf.bak - curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip rm -rf /opt/privatebin/* mv PrivateBin-${RELEASE}/* /opt/privatebin/ diff --git a/ct/projectsend.sh b/ct/projectsend.sh index f3dbc76e7..b40465d43 100644 --- a/ct/projectsend.sh +++ b/ct/projectsend.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename"https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") + curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") unzip -o -q "projectsend-r${RELEASE}.zip" -d projectsend chown -R www-data:www-data /opt/projectsend chmod -R 775 /opt/projectsend diff --git a/ct/prometheus-alertmanager.sh b/ct/prometheus-alertmanager.sh index 131600bed..51885e527 100755 --- a/ct/prometheus-alertmanager.sh +++ b/ct/prometheus-alertmanager.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o $(basename"https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz") + curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o $(basename "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz") tar -xf alertmanager-${RELEASE}.linux-amd64.tar.gz cp -rf alertmanager-${RELEASE}.linux-amd64/alertmanager alertmanager-${RELEASE}.linux-amd64/amtool /usr/local/bin/ rm -rf alertmanager-${RELEASE}.linux-amd64 alertmanager-${RELEASE}.linux-amd64.tar.gz diff --git a/ct/prometheus-paperless-ngx-exporter.sh b/ct/prometheus-paperless-ngx-exporter.sh index 80bd6adfc..96b4dc0c7 100755 --- a/ct/prometheus-paperless-ngx-exporter.sh +++ b/ct/prometheus-paperless-ngx-exporter.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - curl -fsSL "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz") + curl -fsSL "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz") tar -xf prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz cp -rf prometheus-paperless-exporter_${RELEASE}_linux_amd64/prometheus-paperless-exporter /usr/local/bin/ rm -rf prometheus-paperless-exporter_${RELEASE}_linux_amd64/ prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz diff --git a/ct/prometheus.sh b/ct/prometheus.sh index 20ac48918..50be5ea58 100644 --- a/ct/prometheus.sh +++ b/ct/prometheus.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - curl -fsSL "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz" -o $(basename"https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz") + curl -fsSL "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz" -o $(basename "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz") tar -xf prometheus-${RELEASE}.linux-amd64.tar.gz cp -rf prometheus-${RELEASE}.linux-amd64/prometheus prometheus-${RELEASE}.linux-amd64/promtool /usr/local/bin/ rm -rf prometheus-${RELEASE}.linux-amd64 prometheus-${RELEASE}.linux-amd64.tar.gz diff --git a/ct/pterodactyl-panel.sh b/ct/pterodactyl-panel.sh index 472709678..04732c011 100644 --- a/ct/pterodactyl-panel.sh +++ b/ct/pterodactyl-panel.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cp -r /opt/pterodactyl-panel/.env /opt/ rm -rf * .* - curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename"https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") + curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" mv /opt/.env /opt/pterodactyl-panel/ $STD composer install --no-dev --optimize-autoloader --no-interaction diff --git a/ct/rdtclient.sh b/ct/rdtclient.sh index 8a3b0def4..cea9692c2 100755 --- a/ct/rdtclient.sh +++ b/ct/rdtclient.sh @@ -38,7 +38,7 @@ function update_script() { fi mkdir -p rdtc-backup cp -R /opt/rdtc/appsettings.json rdtc-backup/ - curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o $(basename"https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") + curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o $(basename "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") unzip -oqq RealDebridClient.zip -d /opt/rdtc cp -R rdtc-backup/appsettings.json /opt/rdtc/ msg_ok "Updated ${APP}" diff --git a/ct/recyclarr.sh b/ct/recyclarr.sh index 35be2e197..062cf7f96 100644 --- a/ct/recyclarr.sh +++ b/ct/recyclarr.sh @@ -29,7 +29,7 @@ function update_script() { fi msg_info "Updating ${APP}" - curl -fsSL "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)") + curl -fsSL "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)") tar -C /usr/local/bin -xJf recyclarr*.tar.xz rm -rf recyclarr*.tar.xz msg_ok "Updated ${APP}" diff --git a/ct/rustdeskserver.sh b/ct/rustdeskserver.sh index 8e64d29b9..34285c1ef 100644 --- a/ct/rustdeskserver.sh +++ b/ct/rustdeskserver.sh @@ -37,9 +37,9 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" TEMPDIR=$(mktemp -d) -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename"https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR") -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename"https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR") -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename"https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR") $STD dpkg -i $TEMPDIR/*.deb msg_ok "Updated $APP to v${RELEASE}" diff --git a/ct/seelf.sh b/ct/seelf.sh index d5f0d5c9a..a27f57e9d 100644 --- a/ct/seelf.sh +++ b/ct/seelf.sh @@ -40,7 +40,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}. Patience" export PATH=$PATH:/usr/local/go/bin source ~/.bashrc - curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz") + curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz cp -r seelf-${RELEASE}/ /opt/seelf cd /opt/seelf diff --git a/ct/semaphore.sh b/ct/semaphore.sh index 405c98709..b35c239ca 100644 --- a/ct/semaphore.sh +++ b/ct/semaphore.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - curl -fsSL "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb" -o $(basename"https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb") + curl -fsSL "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb" -o $(basename "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb") $STD dpkg -i semaphore_${RELEASE}_linux_amd64.deb echo "${RELEASE}" >"/opt/${APP}_version.txt" msg_ok "Updated ${APP} to v${RELEASE}" diff --git a/ct/silverbullet.sh b/ct/silverbullet.sh index 701f487cc..61c9a3d43 100644 --- a/ct/silverbullet.sh +++ b/ct/silverbullet.sh @@ -33,7 +33,7 @@ function update_script() { msg_ok "Stopped ${APP}" msg_info "Updating ${APP} to v${RELEASE}" - curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o $(basename"https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") + curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o $(basename "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") unzip -q silverbullet-server-linux-x86_64.zip mv silverbullet /opt/silverbullet/bin/ chmod +x /opt/silverbullet/bin/silverbullet diff --git a/ct/spoolman.sh b/ct/spoolman.sh index a26f97a04..78e55ff0c 100644 --- a/ct/spoolman.sh +++ b/ct/spoolman.sh @@ -38,7 +38,7 @@ function update_script() { cd /opt rm -rf spoolman_bak mv spoolman spoolman_bak - curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip" -o $(basename"https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip") + curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip" -o $(basename "https://github.com/Donkie/Spoolman/releases/download/${RELEASE}/spoolman.zip") unzip -q spoolman.zip -d spoolman cd spoolman $STD pip3 install -r requirements.txt diff --git a/ct/stirling-pdf.sh b/ct/stirling-pdf.sh index fb09c20b1..f91e93249 100644 --- a/ct/stirling-pdf.sh +++ b/ct/stirling-pdf.sh @@ -34,7 +34,7 @@ function update_script() { $STD apt-get install -y qpdf fi RELEASE=$(curl -fsSL https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - curl -fsSL "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz" -o $(basename"https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz") + curl -fsSL "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz" -o $(basename "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v$RELEASE.tar.gz") tar -xzf v$RELEASE.tar.gz cd Stirling-PDF-$RELEASE chmod +x ./gradlew diff --git a/ct/suwayomiserver.sh b/ct/suwayomiserver.sh index a5d49306c..271f2af9a 100644 --- a/ct/suwayomiserver.sh +++ b/ct/suwayomiserver.sh @@ -37,7 +37,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" cd /tmp URL=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "browser_download_url" | awk '{print substr($2, 2, length($2)-2) }' | tail -n+2 | head -n 1) - curl -fsSL "$URL" -o $(basename"$URL") + curl -fsSL "$URL" -o $(basename "$URL") $STD dpkg -i /tmp/*.deb msg_ok "Updated $APP to v${RELEASE}" msg_info "Starting $APP" diff --git a/ct/tasmocompiler.sh b/ct/tasmocompiler.sh index 9b0294d54..066d4f049 100644 --- a/ct/tasmocompiler.sh +++ b/ct/tasmocompiler.sh @@ -36,7 +36,7 @@ function update_script() { cd /opt rm -rf /opt/tasmocompiler RELEASE=$(curl -fsSL https://api.github.com/repos/benzino77/tasmocompiler/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz") + curl -fsSL "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/benzino77/tasmocompiler/archive/refs/tags/v${RELEASE}.tar.gz") tar xzf v${RELEASE}.tar.gz mv tasmocompiler-${RELEASE}/ /opt/tasmocompiler/ cd /opt/tasmocompiler diff --git a/ct/technitiumdns.sh b/ct/technitiumdns.sh index a761dde8a..2266d132c 100644 --- a/ct/technitiumdns.sh +++ b/ct/technitiumdns.sh @@ -30,7 +30,7 @@ function update_script() { msg_info "Updating ${APP}" if ! dpkg -s aspnetcore-runtime-8.0 >/dev/null 2>&1; then - curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -o $(basename"https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb") + curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -o $(basename "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb") $STD dpkg -i packages-microsoft-prod.deb $STD apt-get update $STD apt-get install -y aspnetcore-runtime-8.0 diff --git a/ct/teddycloud.sh b/ct/teddycloud.sh index c27190cc5..3789e9855 100644 --- a/ct/teddycloud.sh +++ b/ct/teddycloud.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to v${VERSION}" cd /opt mv /opt/teddycloud /opt/teddycloud_bak - curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -o $(basename"https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") + curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -o $(basename "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") unzip -q -d /opt/teddycloud teddycloud.amd64.release_v${VERSION}.zip cp -R /opt/teddycloud_bak/certs /opt/teddycloud_bak/config /opt/teddycloud_bak/data /opt/teddycloud echo "${VERSION}" >"/opt/${APP}_version.txt" diff --git a/ct/the-lounge.sh b/ct/the-lounge.sh index 1daa9ccc1..8d7f8d359 100644 --- a/ct/the-lounge.sh +++ b/ct/the-lounge.sh @@ -43,7 +43,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" $STD apt-get install --only-upgrade nodejs cd /opt - curl -fsSL "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb" -o $(basename"https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb") + curl -fsSL "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb" -o $(basename "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb") dpkg -i ./thelounge_${RELEASE}_all.deb msg_ok "Updated ${APP} to v${RELEASE}" diff --git a/ct/tianji.sh b/ct/tianji.sh index f757f6562..1e88b8c26 100644 --- a/ct/tianji.sh +++ b/ct/tianji.sh @@ -52,7 +52,7 @@ function update_script() { cd /opt cp /opt/tianji/src/server/.env /opt/.env mv /opt/tianji /opt/tianji_bak - curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv tianji-${RELEASE} /opt/tianji cd tianji diff --git a/ct/traefik.sh b/ct/traefik.sh index 6beb73b18..2f60c260c 100644 --- a/ct/traefik.sh +++ b/ct/traefik.sh @@ -30,7 +30,7 @@ function update_script() { RELEASE=$(curl -fsSL https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1) msg_info "Updating $APP LXC" if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - curl -fsSL "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz") + curl -fsSL "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz") tar -C /tmp -xzf traefik*.tar.gz mv /tmp/traefik /usr/bin/ rm -rf traefik*.tar.gz diff --git a/ct/trilium.sh b/ct/trilium.sh index 740239f0a..30ab1de5a 100644 --- a/ct/trilium.sh +++ b/ct/trilium.sh @@ -40,7 +40,7 @@ function update_script() { mv /opt/trilium/{db,dump-db} /opt/trilium_backup/ rm -rf /opt/trilium cd /tmp - curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o $(basename"https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz") + curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o $(basename "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz") tar -xf TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz mv TriliumNextNotes-Server-$RELEASE-linux-x64 /opt/trilium cp -r /opt/trilium_backup/{db,dump-db} /opt/trilium/ diff --git a/ct/victoriametrics.sh b/ct/victoriametrics.sh index 7e3590fd8..1939b2585 100644 --- a/ct/victoriametrics.sh +++ b/ct/victoriametrics.sh @@ -36,8 +36,8 @@ function update_script() { 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") + 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 diff --git a/ct/vikunja.sh b/ct/vikunja.sh index aa153a7da..1ccfbc4d4 100644 --- a/ct/vikunja.sh +++ b/ct/vikunja.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cd /opt rm -rf /opt/vikunja/vikunja - curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -o $(basename"https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb") + curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -o $(basename "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb") export DEBIAN_FRONTEND=noninteractive $STD dpkg -i vikunja-$RELEASE-amd64.deb echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/ct/wallos.sh b/ct/wallos.sh index 0a8ef2bcb..4827a4880 100644 --- a/ct/wallos.sh +++ b/ct/wallos.sh @@ -31,7 +31,7 @@ function update_script() { if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating ${APP} to ${RELEASE}" cd /opt - curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip") mkdir -p /opt/logos mv /opt/wallos/db/wallos.db /opt/wallos.db mv /opt/wallos/images/uploads/logos /opt/logos/ diff --git a/ct/watchyourlan.sh b/ct/watchyourlan.sh index b1688f640..d2c647847 100644 --- a/ct/watchyourlan.sh +++ b/ct/watchyourlan.sh @@ -31,7 +31,7 @@ function update_script() { systemctl stop watchyourlan.service cp -R /data/config.yaml config.yaml RELEASE=$(curl -fsSL https://api.github.com/repos/aceberg/WatchYourLAN/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d '"' -f 4) - curl -fsSL "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb" -o $(basename"https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb") + curl -fsSL "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb" -o $(basename "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb") dpkg -i watchyourlan_${RELEASE}_linux_amd64.deb cp -R config.yaml /data/config.yaml sed -i 's|/etc/watchyourlan/config.yaml|/data/config.yaml|' /lib/systemd/system/watchyourlan.service diff --git a/ct/wavelog.sh b/ct/wavelog.sh index f6c223a68..cee59f2b5 100644 --- a/ct/wavelog.sh +++ b/ct/wavelog.sh @@ -40,7 +40,7 @@ function update_script() { if [[ -f /opt/wavelog/assets/js/sections/custom.js ]]; then cp /opt/wavelog/assets/js/sections/custom.js /opt/custom.js fi - curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip rm -rf /opt/wavelog mv wavelog-${RELEASE}/ /opt/wavelog diff --git a/ct/wikijs.sh b/ct/wikijs.sh index 1a508fe1e..3f0bd723d 100644 --- a/ct/wikijs.sh +++ b/ct/wikijs.sh @@ -50,7 +50,7 @@ function update_script() { msg_info "Updating ${APP}" rm -rf /opt/wikijs/* cd /opt/wikijs - curl -fsSL "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz" -o $(basename"https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz") + curl -fsSL "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz" -o $(basename "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz") tar -xzf wiki-js.tar.gz msg_ok "Updated ${APP}" diff --git a/ct/zabbix.sh b/ct/zabbix.sh index 40aa65cd9..e14b5af21 100644 --- a/ct/zabbix.sh +++ b/ct/zabbix.sh @@ -39,7 +39,7 @@ function update_script() { #cp -R /usr/share/zabbix-* /opt/zabbix-backup/ Remove temporary rm -Rf /etc/apt/sources.list.d/zabbix.list cd /tmp - curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -o $(basename"https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb") + curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -o $(basename "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb") $STD dpkg -i zabbix-release_latest+debian12_all.deb $STD apt-get update $STD apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-* diff --git a/ct/zigbee2mqtt.sh b/ct/zigbee2mqtt.sh index 8db102a06..1bdca547d 100644 --- a/ct/zigbee2mqtt.sh +++ b/ct/zigbee2mqtt.sh @@ -46,7 +46,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt - curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") + curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip rm -rf /opt/zigbee2mqtt mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt diff --git a/ct/zipline.sh b/ct/zipline.sh index c4b7d3d6c..a453b98a0 100644 --- a/ct/zipline.sh +++ b/ct/zipline.sh @@ -41,7 +41,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" cp /opt/zipline/.env /opt/ rm -R /opt/zipline - curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv zipline-${RELEASE} /opt/zipline cd /opt/zipline diff --git a/ct/zoraxy.sh b/ct/zoraxy.sh index 89e807f0e..abd4395d5 100644 --- a/ct/zoraxy.sh +++ b/ct/zoraxy.sh @@ -31,7 +31,7 @@ function update_script() { if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating $APP to ${RELEASE}" systemctl stop zoraxy - curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -o $(basename"https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64") + curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -o $(basename "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64") rm -rf /opt/zoraxy/zoraxy mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy chmod +x /opt/zoraxy/zoraxy diff --git a/ct/zwave-js-ui.sh b/ct/zwave-js-ui.sh index 760e8e68e..f7ea12385 100644 --- a/ct/zwave-js-ui.sh +++ b/ct/zwave-js-ui.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Updating Z-Wave JS UI" rm -rf /opt/zwave-js-ui/* cd /opt/zwave-js-ui - curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o $(basename"https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") + curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o $(basename "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") unzip -q zwave-js-ui-${RELEASE}-linux.zip msg_ok "Updated Z-Wave JS UI" diff --git a/install/2fauth-install.sh b/install/2fauth-install.sh index 2d1368130..1ef59d150 100644 --- a/install/2fauth-install.sh +++ b/install/2fauth-install.sh @@ -47,7 +47,7 @@ msg_ok "Set up Database" msg_info "Setup 2FAuth" RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "2FAuth-${RELEASE//v/}/" /opt/2fauth diff --git a/install/actualbudget-install.sh b/install/actualbudget-install.sh index 46f53d8dc..24f412596 100644 --- a/install/actualbudget-install.sh +++ b/install/actualbudget-install.sh @@ -35,7 +35,7 @@ msg_ok "Installed Node.js" msg_info "Installing Actual Budget" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz mv actual-${RELEASE} /opt/actualbudget diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index 05e159261..5b1c4e6fe 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -68,7 +68,7 @@ DJANGO_ADMIN_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" LOCAL_IP="$(hostname -I | awk '{print $1}')" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv AdventureLog-${RELEASE} /opt/adventurelog cat </opt/adventurelog/backend/server/.env diff --git a/install/agentdvr-install.sh b/install/agentdvr-install.sh index febf3f967..f2e46f32b 100644 --- a/install/agentdvr-install.sh +++ b/install/agentdvr-install.sh @@ -26,7 +26,7 @@ msg_info "Installing AgentDVR" mkdir -p /opt/agentdvr/agent RELEASE=$(curl -fsSL "https://www.ispyconnect.com/api/Agent/DownloadLocation4?platform=Linux64&fromVersion=0" | grep -o 'https://.*\.zip') cd /opt/agentdvr/agent -curl -fsSL "$RELEASE" -o $(basename"$RELEASE") +curl -fsSL "$RELEASE" -o $(basename "$RELEASE") $STD unzip Agent_Linux64*.zip rm -rf Agent_Linux64*.zip chmod +x ./Agent diff --git a/install/apache-guacamole-install.sh b/install/apache-guacamole-install.sh index f94c37961..7d6566dd8 100644 --- a/install/apache-guacamole-install.sh +++ b/install/apache-guacamole-install.sh @@ -63,10 +63,10 @@ $STD ldconfig RELEASE_CLIENT=$(curl -fsSLL https://api.github.com/repos/apache/guacamole-client/tags | jq -r '.[0].name') curl -fsSL "https://downloads.apache.org/guacamole/${RELEASE_CLIENT}/binary/guacamole-${RELEASE_CLIENT}.war" -o "/opt/apache-guacamole/tomcat9/webapps/guacamole.war" cd /root -curl -fsSL "--directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz" -o $(basename"--directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz") +curl -fsSL "--directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz" -o $(basename "--directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz") $STD tar -xf ~/mysql-connector-java-8.0.26.tar.gz mv ~/mysql-connector-java-8.0.26/mysql-connector-java-8.0.26.jar /etc/guacamole/lib/ -curl -fsSL "--directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz" -o $(basename"--directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz") +curl -fsSL "--directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz" -o $(basename "--directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz") $STD tar -xf ~/guacamole-auth-jdbc-1.5.5.tar.gz mv ~/guacamole-auth-jdbc-1.5.5/mysql/guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions/ msg_ok "Setup Apache Guacamole" diff --git a/install/apache-tika-install.sh b/install/apache-tika-install.sh index 76a5c937e..f654ad6bc 100644 --- a/install/apache-tika-install.sh +++ b/install/apache-tika-install.sh @@ -42,7 +42,7 @@ msg_info "Installing Apache Tika" mkdir -p /opt/apache-tika cd /opt/apache-tika RELEASE="$(curl -fsSL https://dlcdn.apache.org/tika/ | grep -oP '(?<=href=")[0-9]+\.[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1)" -curl -fsSL "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar" -o $(basename"https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar") +curl -fsSL "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar" -o $(basename "https://dlcdn.apache.org/tika/${RELEASE}/tika-server-standard-${RELEASE}.jar") mv tika-server-standard-${RELEASE}.jar tika-server-standard.jar echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed Apache Tika" diff --git a/install/aria2-install.sh b/install/aria2-install.sh index baf96f6a9..ec37e7b54 100644 --- a/install/aria2-install.sh +++ b/install/aria2-install.sh @@ -22,7 +22,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then msg_info "Installing AriaNG" $STD apt-get install -y nginx systemctl disable -q --now nginx - curl -fsSL "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)") + curl -fsSL "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)") $STD unzip AriaNg-*-AllInOne.zip -d /var/www rm /etc/nginx/sites-enabled/* cat </etc/nginx/conf.d/ariang.conf diff --git a/install/authelia-install.sh b/install/authelia-install.sh index bb8119a15..36b62bad4 100644 --- a/install/authelia-install.sh +++ b/install/authelia-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Authelia" RELEASE=$(curl -fsSL https://api.github.com/repos/authelia/authelia/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" -o $(basename"https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb") +curl -fsSL "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb" -o $(basename "https://github.com/authelia/authelia/releases/download/${RELEASE}/authelia_${RELEASE}_amd64.deb") $STD dpkg -i "authelia_${RELEASE}_amd64.deb" msg_ok "Install Authelia completed" diff --git a/install/authentik-install.sh b/install/authentik-install.sh index 8d452a786..5d288ad66 100644 --- a/install/authentik-install.sh +++ b/install/authentik-install.sh @@ -39,7 +39,7 @@ msg_ok "Installed Dependencies" msg_info "Installing yq" cd /tmp YQ_LATEST="$(curl -fsSL "https://api.github.com/repos/mikefarah/yq/releases/latest" | grep -Po '"tag_name": \K.*?(?=")')" -curl -fsSL "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq" -o $(basename"https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq") +curl -fsSL "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq" -o $(basename "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq") chmod +x /usr/bin/yq msg_ok "Installed yq" diff --git a/install/autobrr-install.sh b/install/autobrr-install.sh index d0f035fce..06febc839 100644 --- a/install/autobrr-install.sh +++ b/install/autobrr-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Autobrr" -curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)") +curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)") tar -C /usr/local/bin -xzf autobrr*.tar.gz rm -rf autobrr*.tar.gz mkdir -p /root/.config/autobrr diff --git a/install/baikal-install.sh b/install/baikal-install.sh index 6e010e0e3..da5054684 100644 --- a/install/baikal-install.sh +++ b/install/baikal-install.sh @@ -38,7 +38,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Baikal" RELEASE=$(curl -fsSL https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt -curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename"https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") +curl -fsSL "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip" -o $(basename "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip") unzip -q "baikal-${RELEASE}.zip" cat </opt/baikal/config/baikal.yaml database: diff --git a/install/barcode-buddy-install.sh b/install/barcode-buddy-install.sh index ec451b111..b646bf9ee 100644 --- a/install/barcode-buddy-install.sh +++ b/install/barcode-buddy-install.sh @@ -24,7 +24,7 @@ msg_ok "Installed Dependencies" msg_info "Installing barcodebuddy" RELEASE=$(curl -fsSL https://api.github.com/repos/Forceu/barcodebuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Forceu/barcodebuddy/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv "/opt/barcodebuddy-${RELEASE}" /opt/barcodebuddy chown -R www-data:www-data /opt/barcodebuddy/data diff --git a/install/bazarr-install.sh b/install/bazarr-install.sh index 0dc9a882b..3ca6783d8 100755 --- a/install/bazarr-install.sh +++ b/install/bazarr-install.sh @@ -23,7 +23,7 @@ msg_ok "Setup Python3" msg_info "Installing Bazarr" mkdir -p /var/lib/bazarr/ -curl -fsSL "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip" -o $(basename"https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip") +curl -fsSL "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip" -o $(basename "https://github.com/morpheus65535/bazarr/releases/latest/download/bazarr.zip") unzip -qq bazarr -d /opt/bazarr chmod 775 /opt/bazarr /var/lib/bazarr/ python3 -m pip install -q -r /opt/bazarr/requirements.txt diff --git a/install/bookstack-install.sh b/install/bookstack-install.sh index 45b49a25b..4756a0868 100644 --- a/install/bookstack-install.sh +++ b/install/bookstack-install.sh @@ -43,7 +43,7 @@ msg_info "Setup Bookstack (Patience)" LOCAL_IP="$(hostname -I | awk '{print $1}')" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/BookStackApp/BookStack/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv BookStack-${RELEASE} /opt/bookstack cd /opt/bookstack diff --git a/install/caddy-install.sh b/install/caddy-install.sh index 05333304a..fb339f64b 100644 --- a/install/caddy-install.sh +++ b/install/caddy-install.sh @@ -44,7 +44,7 @@ curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" msg_info "Setup xCaddy" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb" -o $(basename"https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb") +curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb" -o $(basename "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb") $STD dpkg -i xcaddy_${RELEASE:1}_linux_amd64.deb rm -rf /opt/xcaddy* $STD xcaddy build diff --git a/install/commafeed-install.sh b/install/commafeed-install.sh index 1ba8887e7..5e9a58dd3 100644 --- a/install/commafeed-install.sh +++ b/install/commafeed-install.sh @@ -19,7 +19,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Azul Zulu" curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" -curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename"https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu17-jdk @@ -28,7 +28,7 @@ msg_ok "Installed Azul Zulu" RELEASE=$(curl -fsSLL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Installing CommaFeed ${RELEASE}" mkdir /opt/commafeed -curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename"https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") +curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") unzip -q commafeed-${RELEASE}-h2-jvm.zip mv commafeed-${RELEASE}-h2/* /opt/commafeed/ echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/cosmos-install.sh b/install/cosmos-install.sh index 75435c201..2e0caf1fe 100644 --- a/install/cosmos-install.sh +++ b/install/cosmos-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Install mergerfs" MERGERFS_VERSION="2.40.2" -curl -fsSL "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" -o $(basename"https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb") +curl -fsSL "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" -o $(basename "https://github.com/trapexit/mergerfs/releases/download/${MERGERFS_VERSION}/mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb") $STD dpkg -i "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" || $STD apt-get install -f -y rm "mergerfs_${MERGERFS_VERSION}.debian-bullseye_amd64.deb" msg_ok "Installed mergerfs" diff --git a/install/crafty-controller-install.sh b/install/crafty-controller-install.sh index 95bad71ba..9a859eb58 100644 --- a/install/crafty-controller-install.sh +++ b/install/crafty-controller-install.sh @@ -47,7 +47,7 @@ cd /opt mkdir -p /opt/crafty-controller/crafty /opt/crafty-controller/server RELEASE=$(curl -fsSL "https://gitlab.com/api/v4/projects/20430749/releases" | grep -o '"tag_name":"v[^"]*"' | head -n 1 | sed 's/"tag_name":"v//;s/"//') echo "${RELEASE}" >"/opt/crafty-controller_version.txt" -curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename"https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") +curl -fsSL "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip" -o $(basename "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip") unzip -q crafty-4-v${RELEASE}.zip cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/ rm -rf crafty-4-v${RELEASE} diff --git a/install/duplicati-install.sh b/install/duplicati-install.sh index 181a6b72e..088a3a402 100644 --- a/install/duplicati-install.sh +++ b/install/duplicati-install.sh @@ -22,7 +22,7 @@ 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 $(basename"https://github.com/duplicati/duplicati/releases/download/v${RELEASE}/duplicati-${RELEASE}-linux-x64-gui.deb") +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/Duplicati_version.txt msg_ok "Finished setting up Duplicati" diff --git a/install/emby-install.sh b/install/emby-install.sh index 7deca04e8..bbe5fac47 100644 --- a/install/emby-install.sh +++ b/install/emby-install.sh @@ -27,7 +27,7 @@ msg_ok "Set Up Hardware Acceleration" LATEST=$(curl -fsSLL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Installing Emby" -curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -o $(basename"https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb") +curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -o $(basename "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb") $STD dpkg -i emby-server-deb_${LATEST}_amd64.deb if [[ "$CTTYPE" == "0" ]]; then sed -i -e 's/^ssl-cert:x:104:$/render:x:104:root,emby/' -e 's/^render:x:108:root,emby$/ssl-cert:x:108:/' /etc/group diff --git a/install/ersatztv-install.sh b/install/ersatztv-install.sh index 49acc997e..035745f32 100644 --- a/install/ersatztv-install.sh +++ b/install/ersatztv-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing FFmpeg (Patience)" cd /usr/local/bin -curl -fsSL "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz" -o $(basename"https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz") +curl -fsSL "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz" -o $(basename "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz") $STD tar -xvf ffmpeg-release-amd64-static.tar.xz rm -f ffmpeg-*.tar.xz cd ffmpeg-* diff --git a/install/fenrus-install.sh b/install/fenrus-install.sh index 711010018..72d2dd0e9 100644 --- a/install/fenrus-install.sh +++ b/install/fenrus-install.sh @@ -22,7 +22,7 @@ msg_info "Installing ASP.NET Core 7 SDK" var_os=$(grep "^ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"') var_version=$(grep "^VERSION_ID=" /etc/os-release | cut -d'=' -f2 | tr -d '"') if [ "${var_os}" = "debian" ]; then - curl -fsSL "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb" -o $(basename"https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb") + curl -fsSL "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb" -o $(basename "https://packages.microsoft.com/config/debian/$var_version/packages-microsoft-prod.deb") $STD dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb fi diff --git a/install/firefly-install.sh b/install/firefly-install.sh index 912db6487..4d3cacc23 100644 --- a/install/firefly-install.sh +++ b/install/firefly-install.sh @@ -44,7 +44,7 @@ msg_ok "Set up database" msg_info "Installing Firefly III (Patience)" RELEASE=$(curl -fsSL https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') cd /opt -curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -o $(basename"https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz" -o $(basename "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz") mkdir -p /opt/firefly tar -xzf FireflyIII-v${RELEASE}.tar.gz -C /opt/firefly chown -R www-data:www-data /opt/firefly diff --git a/install/freshrss-install.sh b/install/freshrss-install.sh index 9b34bdf56..679737d7a 100644 --- a/install/freshrss-install.sh +++ b/install/freshrss-install.sh @@ -38,7 +38,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing FreshRSS" RELEASE=$(curl -fsSL https://api.github.com/repos/FreshRSS/FreshRSS/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt -curl -fsSL "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/FreshRSS/FreshRSS/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "/opt/FreshRSS-${RELEASE}" /opt/freshrss cd /opt/freshrss diff --git a/install/frigate-install.sh b/install/frigate-install.sh index ea311c1e6..b3dd21c5f 100644 --- a/install/frigate-install.sh +++ b/install/frigate-install.sh @@ -142,7 +142,7 @@ msg_info "Installing Coral Object Detection Model (Patience)" cd /opt/frigate export CCACHE_DIR=/root/.ccache export CCACHE_MAXSIZE=2G -curl -fsSL "https://github.com/libusb/libusb/archive/v1.0.26.zip" -o $(basename"https://github.com/libusb/libusb/archive/v1.0.26.zip") +curl -fsSL "https://github.com/libusb/libusb/archive/v1.0.26.zip" -o $(basename "https://github.com/libusb/libusb/archive/v1.0.26.zip") unzip -q v1.0.26.zip rm v1.0.26.zip cd libusb-1.0.26 diff --git a/install/gitea-install.sh b/install/gitea-install.sh index 072de507c..96f2829ae 100644 --- a/install/gitea-install.sh +++ b/install/gitea-install.sh @@ -21,7 +21,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Gitea" RELEASE=$(curl -fsSL https://github.com/go-gitea/gitea/releases/latest | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//') -curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -o $(basename"https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64") +curl -fsSL "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64" -o $(basename "https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64") mv gitea* /usr/local/bin/gitea chmod +x /usr/local/bin/gitea adduser --system --group --disabled-password --shell /bin/bash --home /etc/gitea gitea >/dev/null diff --git a/install/glance-install.sh b/install/glance-install.sh index 472ceb5b6..88841a596 100644 --- a/install/glance-install.sh +++ b/install/glance-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing Glance" RELEASE=$(curl -fsSL https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz" -o $(basename"https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz") +curl -fsSL "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz" -o $(basename "https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz") mkdir -p /opt/glance tar -xzf glance-linux-amd64.tar.gz -C /opt/glance cat </opt/glance/glance.yml diff --git a/install/glpi-install.sh b/install/glpi-install.sh index 11af1307e..b157100d8 100644 --- a/install/glpi-install.sh +++ b/install/glpi-install.sh @@ -43,7 +43,7 @@ msg_ok "Set up database" msg_info "Installing GLPi" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/') -curl -fsSL "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz" -o $(basename"https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz") +curl -fsSL "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz" -o $(basename "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz") $STD tar -xzvf glpi-${RELEASE}.tgz cd /opt/glpi $STD php bin/console db:install --db-name=$DB_NAME --db-user=$DB_USER --db-password=$DB_PASS --no-interaction diff --git a/install/go2rtc-install.sh b/install/go2rtc-install.sh index 8c34fd7c2..8a5bf5e1e 100644 --- a/install/go2rtc-install.sh +++ b/install/go2rtc-install.sh @@ -16,7 +16,7 @@ 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 $(basename"https://github.com/AlexxIT/go2rtc/releases/latest/download/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 msg_ok "Installed go2rtc" diff --git a/install/gokapi-install.sh b/install/gokapi-install.sh index f46f649d7..a00851ef1 100644 --- a/install/gokapi-install.sh +++ b/install/gokapi-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing Gokapi" LATEST=$(curl -fsSLL https://api.github.com/repos/Forceu/Gokapi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) mkdir -p /opt/gokapi/{data,config} -curl -fsSL "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip" -o $(basename"https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip") +curl -fsSL "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip" -o $(basename "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip") unzip -q gokapi-linux_amd64.zip -d /opt/gokapi rm gokapi-linux_amd64.zip chmod +x /opt/gokapi/gokapi-linux_amd64 diff --git a/install/gotify-install.sh b/install/gotify-install.sh index 96b50928b..431aea59d 100644 --- a/install/gotify-install.sh +++ b/install/gotify-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Gotify" RELEASE=$(curl -fsSL https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /opt/gotify cd /opt/gotify -curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename"https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") +curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") unzip -q gotify-linux-amd64.zip rm -rf gotify-linux-amd64.zip chmod +x gotify-linux-amd64 diff --git a/install/graylog-install.sh b/install/graylog-install.sh index d0218c387..5316dcc4a 100644 --- a/install/graylog-install.sh +++ b/install/graylog-install.sh @@ -28,7 +28,7 @@ msg_ok "Setup MongoDB" msg_info "Setup Graylog Data Node" PASSWORD_SECRET=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c16) -curl -fsSL "https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb" -o $(basename"https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb") +curl -fsSL "https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb" -o $(basename "https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb") $STD dpkg -i graylog-6.1-repository_latest.deb $STD apt-get update $STD apt-get install graylog-datanode -y diff --git a/install/grist-install.sh b/install/grist-install.sh index 29a929a41..bc15e0326 100644 --- a/install/grist-install.sh +++ b/install/grist-install.sh @@ -36,7 +36,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/ export CYPRESS_INSTALL_BINARY=0 export NODE_OPTIONS="--max-old-space-size=2048" cd /opt -curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip") unzip -q v$RELEASE.zip mv grist-core-${RELEASE} grist cd grist diff --git a/install/grocy-install.sh b/install/grocy-install.sh index d98f1f553..d67c1ec73 100644 --- a/install/grocy-install.sh +++ b/install/grocy-install.sh @@ -32,7 +32,7 @@ msg_ok "Installed PHP8.2" msg_info "Installing grocy" latest=$(curl -fsSL https://api.github.com/repos/grocy/grocy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip" -o $(basename"https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip") +curl -fsSL "https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip" -o $(basename "https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip") $STD unzip grocy_${latest}.zip -d /var/www/html chown -R www-data:www-data /var/www/html cp /var/www/html/config-dist.php /var/www/html/data/config.php diff --git a/install/habitica-install.sh b/install/habitica-install.sh index b63f81b00..3b35a99f7 100644 --- a/install/habitica-install.sh +++ b/install/habitica-install.sh @@ -19,7 +19,7 @@ $STD apt-get install -y \ gnupg \ build-essential \ git -curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o $(basename"http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb") +curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb" -o $(basename "http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb") $STD dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb msg_ok "Installed Dependencies" diff --git a/install/headscale-install.sh b/install/headscale-install.sh index 4f21b9c71..2d9b91a6e 100644 --- a/install/headscale-install.sh +++ b/install/headscale-install.sh @@ -15,7 +15,7 @@ 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 $(basename"https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb") +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") $STD dpkg -i headscale_${RELEASE}_linux_amd64.deb systemctl enable -q --now headscale echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/heimdall-dashboard-install.sh b/install/heimdall-dashboard-install.sh index 63152c664..7c52f9f96 100644 --- a/install/heimdall-dashboard-install.sh +++ b/install/heimdall-dashboard-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" RELEASE=$(curl -fsSLX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_info "Installing Heimdall Dashboard ${RELEASE}" -curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -o $(basename"https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") +curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -o $(basename "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") tar xzf ${RELEASE}.tar.gz VER=$(curl -fsSL https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') rm -rf ${RELEASE}.tar.gz diff --git a/install/hivemq-install.sh b/install/hivemq-install.sh index 091e3aed6..82110390a 100644 --- a/install/hivemq-install.sh +++ b/install/hivemq-install.sh @@ -26,7 +26,7 @@ msg_ok "Installed OpenJDK" msg_info "Installing HiveMQ CE" RELEASE=$(curl -fsSL https://api.github.com/repos/hivemq/hivemq-community-edition/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip" -o $(basename"https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip") +curl -fsSL "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip" -o $(basename "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip") unzip -q hivemq-ce-${RELEASE}.zip mkdir -p /opt/hivemq mv hivemq-ce-${RELEASE}/* /opt/hivemq diff --git a/install/hoarder-install.sh b/install/hoarder-install.sh index e01337538..0ec48beda 100644 --- a/install/hoarder-install.sh +++ b/install/hoarder-install.sh @@ -35,7 +35,7 @@ msg_ok "Installed Additional Tools" msg_info "Installing Meilisearch" cd /tmp -curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -o $(basename"https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb") +curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -o $(basename "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb") $STD dpkg -i meilisearch.deb curl -fsSL "https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml" -o "/etc/meilisearch.toml" MASTER_KEY=$(openssl rand -base64 12) @@ -61,7 +61,7 @@ msg_ok "Installed Node.js" msg_info "Installing Hoarder" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv hoarder-${RELEASE} /opt/hoarder cd /opt/hoarder diff --git a/install/homarr-install.sh b/install/homarr-install.sh index 2c6f354fd..efb41c662 100644 --- a/install/homarr-install.sh +++ b/install/homarr-install.sh @@ -41,7 +41,7 @@ msg_ok "Installed Node.js/pnpm" msg_info "Installing Homarr (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/homarr-labs/homarr/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv homarr-${RELEASE} /opt/homarr mkdir -p /opt/homarr_db diff --git a/install/homer-install.sh b/install/homer-install.sh index e2ab28c27..eb6c30d3d 100644 --- a/install/homer-install.sh +++ b/install/homer-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Homer" mkdir -p /opt/homer cd /opt/homer -curl -fsSL "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip" -o $(basename"https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip") +curl -fsSL "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip" -o $(basename "https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip") $STD unzip homer.zip rm -rf homer.zip cp assets/config.yml.dist assets/config.yml diff --git a/install/influxdb-install.sh b/install/influxdb-install.sh index 86b10cf95..ee02eb8d8 100644 --- a/install/influxdb-install.sh +++ b/install/influxdb-install.sh @@ -37,7 +37,7 @@ if [[ $INFLUX == "2" ]]; then $STD apt-get install -y influxdb2 else $STD apt-get install -y influxdb - curl -fsSL "https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb" -o $(basename"https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb") + curl -fsSL "https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb" -o $(basename "https://dl.influxdata.com/chronograf/releases/chronograf_1.10.1_amd64.deb") $STD dpkg -i chronograf_1.10.1_amd64.deb fi $STD systemctl enable --now influxdb diff --git a/install/inspircd-install.sh b/install/inspircd-install.sh index 1acf85af6..b2840c359 100644 --- a/install/inspircd-install.sh +++ b/install/inspircd-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing InspIRCd" RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -o $(basename"https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb") +curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u1_amd64.deb") $STD apt-get install "./inspircd_${RELEASE}.deb12u1_amd64.deb" -y &>/dev/null cat </etc/inspircd/inspircd.conf diff --git a/install/iventoy-install.sh b/install/iventoy-install.sh index 353d9f3b4..20d469221 100644 --- a/install/iventoy-install.sh +++ b/install/iventoy-install.sh @@ -16,7 +16,7 @@ update_os RELEASE=$(curl -fsSL https://api.github.com/repos/ventoy/pxe/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing iVentoy v${RELEASE}" mkdir -p /opt/iventoy/{data,iso} -curl -fsSL "https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz" -o $(basename"https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz") +curl -fsSL "https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz" -o $(basename "https://github.com/ventoy/PXE/releases/download/v${RELEASE}/iventoy-${RELEASE}-linux-free.tar.gz") tar -C /tmp -xzf iventoy*.tar.gz mv /tmp/iventoy*/* /opt/iventoy/ rm -rf iventoy*.tar.gz diff --git a/install/jackett-install.sh b/install/jackett-install.sh index f5b511314..8501842dd 100644 --- a/install/jackett-install.sh +++ b/install/jackett-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Jackett" RELEASE=$(curl -fsSL https://github.com/Jackett/Jackett/releases/latest | grep "title>Release" | cut -d " " -f 4) -curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o $(basename"https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") +curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o $(basename "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/kimai-install.sh b/install/kimai-install.sh index 9a73054e2..ae9ddcb46 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -58,7 +58,7 @@ msg_ok "Set up database" msg_info "Installing Kimai (Patience)" RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv kimai-${RELEASE} /opt/kimai cd /opt/kimai diff --git a/install/koillection-install.sh b/install/koillection-install.sh index 1edca202e..e4486327a 100644 --- a/install/koillection-install.sh +++ b/install/koillection-install.sh @@ -62,7 +62,7 @@ msg_ok "Installed Node.js/Yarn" msg_info "Installing Koillection" RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cd /opt -curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "/opt/koillection-${RELEASE}" /opt/koillection cd /opt/koillection diff --git a/install/komga-install.sh b/install/komga-install.sh index b7dc272ed..4236c9cc6 100644 --- a/install/komga-install.sh +++ b/install/komga-install.sh @@ -19,7 +19,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Komga" RELEASE=$(curl -fsSL https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -o $(basename"https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") +curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -o $(basename "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") mkdir -p /opt/komga mv -f komga-${RELEASE}.jar /opt/komga/komga.jar echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/komodo-install.sh b/install/komodo-install.sh index a33998d0f..78adfdcfc 100644 --- a/install/komodo-install.sh +++ b/install/komodo-install.sh @@ -61,7 +61,7 @@ case $DB_CHOICE in esac mkdir -p /opt/komodo cd /opt/komodo -curl -fsSL "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$DB_COMPOSE_FILE" -o $(basename"https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$DB_COMPOSE_FILE") +curl -fsSL "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$DB_COMPOSE_FILE" -o $(basename "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$DB_COMPOSE_FILE") msg_info "Setup Komodo Environment" curl -fsSL "https://raw.githubusercontent.com/mbecker20/komodo/main/compose/compose.env" -o "/opt/komodo/compose.env" diff --git a/install/linkwarden-install.sh b/install/linkwarden-install.sh index 70e232f86..efe0ccd1f 100644 --- a/install/linkwarden-install.sh +++ b/install/linkwarden-install.sh @@ -92,7 +92,7 @@ fi msg_info "Installing Linkwarden (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv linkwarden-${RELEASE:1} /opt/linkwarden cd /opt/linkwarden diff --git a/install/listmonk-install.sh b/install/listmonk-install.sh index 5b3255794..9186f5b9a 100644 --- a/install/listmonk-install.sh +++ b/install/listmonk-install.sh @@ -36,7 +36,7 @@ cd /opt mkdir /opt/listmonk mkdir /opt/listmonk/uploads RELEASE=$(curl -fsSL https://api.github.com/repos/knadh/listmonk/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz") +curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz") tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk $STD /opt/listmonk/listmonk --new-config --config /opt/listmonk/config.toml diff --git a/install/lubelogger-install.sh b/install/lubelogger-install.sh index b70f52c27..10d14761d 100644 --- a/install/lubelogger-install.sh +++ b/install/lubelogger-install.sh @@ -23,7 +23,7 @@ mkdir -p /opt/lubelogger RELEASE=$(curl -fsSL https://api.github.com/repos/hargata/lubelog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE_TRIMMED=$(echo "${RELEASE}" | tr -d ".") cd /opt/lubelogger -curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -o $(basename"https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") +curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -o $(basename "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") unzip -q LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip chmod 700 /opt/lubelogger/CarCareTracker cp /opt/lubelogger/appsettings.json /opt/lubelogger/appsettings_bak.json diff --git a/install/mafl-install.sh b/install/mafl-install.sh index ac848fe04..f4c959635 100644 --- a/install/mafl-install.sh +++ b/install/mafl-install.sh @@ -36,7 +36,7 @@ msg_ok "Installed Node.js" RELEASE=$(curl -fsSL https://api.github.com/repos/hywax/mafl/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing Mafl v${RELEASE}" -curl -fsSL "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/hywax/mafl/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz mkdir -p /opt/mafl/data curl -fsSL "https://raw.githubusercontent.com/hywax/mafl/main/.example/config.yml" -o "/opt/mafl/data/config.yml" diff --git a/install/mariadb-install.sh b/install/mariadb-install.sh index 5ed7eea20..6eba9d310 100644 --- a/install/mariadb-install.sh +++ b/install/mariadb-install.sh @@ -32,7 +32,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then php-json \ php-curl - curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -o $(basename"https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz") + curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -o $(basename "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz") mkdir -p /var/www/html/phpMyAdmin tar xf phpMyAdmin-5.2.1-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php diff --git a/install/mediamtx-install.sh b/install/mediamtx-install.sh index ff85dd8c0..a7dabb90e 100644 --- a/install/mediamtx-install.sh +++ b/install/mediamtx-install.sh @@ -21,7 +21,7 @@ msg_info "Installing MediaMTX" RELEASE=$(curl -fsSL https://api.github.com/repos/bluenviron/mediamtx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') mkdir -p /opt/mediamtx cd /opt/mediamtx -curl -fsSL "https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz") +curl -fsSL "https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz") tar xzf mediamtx_${RELEASE}_linux_amd64.tar.gz rm -rf mediamtx_${RELEASE}_linux_amd64.tar.gz msg_ok "Installed MediaMTX" diff --git a/install/minio-install.sh b/install/minio-install.sh index 4c1227a36..5a5cd2317 100644 --- a/install/minio-install.sh +++ b/install/minio-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Setup MinIO" RELEASE=$(curl -fsSL https://api.github.com/repos/minio/minio/releases/latest | grep '"tag_name"' | awk -F '"' '{print $4}') -curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o $(basename"https://dl.min.io/server/minio/release/linux-amd64/minio") +curl -fsSL "https://dl.min.io/server/minio/release/linux-amd64/minio" -o $(basename "https://dl.min.io/server/minio/release/linux-amd64/minio") mv minio /usr/local/bin/ chmod +x /usr/local/bin/minio useradd -r minio-user -s /sbin/nologin diff --git a/install/monica-install.sh b/install/monica-install.sh index 9f5ab703b..66de5dc76 100644 --- a/install/monica-install.sh +++ b/install/monica-install.sh @@ -50,7 +50,7 @@ msg_ok "Installed Node.js/Yarn" msg_info "Installing monica" RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -o $(basename"https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") +curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -o $(basename "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") tar -xjf "monica-v${RELEASE}.tar.bz2" mv "/opt/monica-v${RELEASE}" /opt/monica cd /opt/monica diff --git a/install/myspeed-install.sh b/install/myspeed-install.sh index d5105762f..134ed7cbc 100644 --- a/install/myspeed-install.sh +++ b/install/myspeed-install.sh @@ -37,7 +37,7 @@ msg_ok "Installed Node.js" msg_info "Installing MySpeed" RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5) cd /opt -curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename"https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") +curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") unzip -q MySpeed-$RELEASE.zip -d myspeed cd myspeed $STD npm install diff --git a/install/mysql-install.sh b/install/mysql-install.sh index f5bfba2b9..4df9822f2 100644 --- a/install/mysql-install.sh +++ b/install/mysql-install.sh @@ -63,7 +63,7 @@ if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then php-json \ php-curl - curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -o $(basename"https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz") + curl -fsSL "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz" -o $(basename "https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz") mkdir -p /var/www/html/phpMyAdmin tar xf phpMyAdmin-5.2.1-all-languages.tar.gz --strip-components=1 -C /var/www/html/phpMyAdmin cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php diff --git a/install/netbox-install.sh b/install/netbox-install.sh index 20ec75624..192747e85 100644 --- a/install/netbox-install.sh +++ b/install/netbox-install.sh @@ -48,7 +48,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing NetBox (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/netbox-community/netbox/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/netbox-community/netbox/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv /opt/netbox-${RELEASE}/ /opt/netbox diff --git a/install/nextpvr-install.sh b/install/nextpvr-install.sh index 4205a9d2e..3754dfb8b 100644 --- a/install/nextpvr-install.sh +++ b/install/nextpvr-install.sh @@ -29,7 +29,7 @@ msg_ok "Installed Dependencies" msg_info "Setup NextPVR (Patience)" cd /opt -curl -fsSL "https://nextpvr.com/nextpvr-helper.deb" -o $(basename"https://nextpvr.com/nextpvr-helper.deb") +curl -fsSL "https://nextpvr.com/nextpvr-helper.deb" -o $(basename "https://nextpvr.com/nextpvr-helper.deb") $STD dpkg -i nextpvr-helper.deb msg_ok "Installed NextPVR" diff --git a/install/nodebb-install.sh b/install/nodebb-install.sh index 774528b40..862b2dbc2 100644 --- a/install/nodebb-install.sh +++ b/install/nodebb-install.sh @@ -87,7 +87,7 @@ msg_ok "MongoDB successfully configurated" msg_info "Install NodeBB" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/NodeBB/NodeBB/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv NodeBB-${RELEASE} /opt/nodebb cd /opt/nodebb diff --git a/install/npmplus-install.sh b/install/npmplus-install.sh index 1d1578909..415588de3 100644 --- a/install/npmplus-install.sh +++ b/install/npmplus-install.sh @@ -37,7 +37,7 @@ msg_ok "Installed Docker & Compose" msg_info "Fetching NPMplus" cd /opt -curl -fsSL "https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml" -o $(basename"https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml") +curl -fsSL "https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml" -o $(basename "https://raw.githubusercontent.com/ZoeyVid/NPMplus/refs/heads/develop/compose.yaml") msg_ok "Fetched NPMplus" attempts=0 diff --git a/install/omada-install.sh b/install/omada-install.sh index af45d1ec3..92f02445e 100644 --- a/install/omada-install.sh +++ b/install/omada-install.sh @@ -31,7 +31,7 @@ fi msg_info "Installing Azul Zulu Java" curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" -curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename"https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu21-jre-headless diff --git a/install/ombi-install.sh b/install/ombi-install.sh index a12acf170..620e73440 100644 --- a/install/ombi-install.sh +++ b/install/ombi-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Ombi" RELEASE=$(curl -fsSLL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) -curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -o $(basename"https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") +curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -o $(basename "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/ombi tar -xzf linux-x64.tar.gz -C /opt/ombi diff --git a/install/onedev-install.sh b/install/onedev-install.sh index 52134f960..e788f4f14 100644 --- a/install/onedev-install.sh +++ b/install/onedev-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Installing OneDev" cd /opt -curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -o $(basename"https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz") +curl -fsSL "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz" -o $(basename "https://code.onedev.io/onedev/server/~site/onedev-latest.tar.gz") tar -xzf onedev-latest.tar.gz mv /opt/onedev-latest /opt/onedev $STD /opt/onedev/bin/server.sh install diff --git a/install/opengist-install.sh b/install/opengist-install.sh index 23cb6cb3b..68b35e66a 100644 --- a/install/opengist-install.sh +++ b/install/opengist-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Install Opengist" RELEASE=$(curl -fsSL https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -o $(basename"https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") +curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -o $(basename "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") $STD tar -xzf opengist${RELEASE}-linux-amd64.tar.gz mv opengist /opt/opengist chmod +x /opt/opengist/opengist diff --git a/install/openhab-install.sh b/install/openhab-install.sh index 0ab2e8ea1..3a834d766 100644 --- a/install/openhab-install.sh +++ b/install/openhab-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Azul Zulu21" curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" -curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename"https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu21-jdk diff --git a/install/owncast-install.sh b/install/owncast-install.sh index f9f7754aa..6e8a38955 100644 --- a/install/owncast-install.sh +++ b/install/owncast-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Owncast" mkdir /opt/owncast cd /opt/owncast -curl -fsSL "$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4)") +curl -fsSL "$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4)") $STD unzip owncast*.zip rm owncast*.zip msg_ok "Installed Owncast" diff --git a/install/paperless-ai-install.sh b/install/paperless-ai-install.sh index e3bd84a51..95a223ba8 100644 --- a/install/paperless-ai-install.sh +++ b/install/paperless-ai-install.sh @@ -36,7 +36,7 @@ msg_ok "Installed Node.js" msg_info "Setup Paperless-AI" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/clusterzx/paperless-ai/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/clusterzx/paperless-ai/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv paperless-ai-${RELEASE} /opt/paperless-ai cd /opt/paperless-ai diff --git a/install/paperless-ngx-install.sh b/install/paperless-ngx-install.sh index 06a79013d..204769720 100644 --- a/install/paperless-ngx-install.sh +++ b/install/paperless-ngx-install.sh @@ -59,7 +59,7 @@ $STD apt-get install -y \ tesseract-ocr-eng cd /tmp -curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o $(basename"https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") +curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o $(basename "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") $STD tar -xzf ghostscript-10.04.0.tar.gz cd ghostscript-10.04.0 $STD ./configure diff --git a/install/part-db-install.sh b/install/part-db-install.sh index 7ccf8fed2..9cd883bb9 100644 --- a/install/part-db-install.sh +++ b/install/part-db-install.sh @@ -58,7 +58,7 @@ msg_ok "Installed Node.js/Yarn" msg_info "Installing Part-DB (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Part-DB/Part-DB-server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/Part-DB/Part-DB-server/archive/refs/tags/v${RELEASE}.zip") unzip -q "v${RELEASE}.zip" mv /opt/Part-DB-server-${RELEASE}/ /opt/partdb diff --git a/install/paymenter-install.sh b/install/paymenter-install.sh index 2331d32fd..461f620d1 100644 --- a/install/paymenter-install.sh +++ b/install/paymenter-install.sh @@ -33,7 +33,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/paymenter/paymenter/releases/l echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/paymenter cd /opt/paymenter -curl -fsSL "https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz" -o $(basename"https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz") +curl -fsSL "https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz" -o $(basename "https://github.com/paymenter/paymenter/releases/download/${RELEASE}/paymenter.tar.gz") $STD tar -xzvf paymenter.tar.gz chmod -R 755 storage/* bootstrap/cache/ msg_ok "Installed Paymenter" diff --git a/install/pelican-panel-install.sh b/install/pelican-panel-install.sh index 69e8ee99d..d89a0a0c7 100644 --- a/install/pelican-panel-install.sh +++ b/install/pelican-panel-install.sh @@ -56,7 +56,7 @@ msg_info "Installing Pelican Panel" RELEASE=$(curl -fsSL https://api.github.com/repos/pelican-dev/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir /opt/pelican-panel cd /opt/pelican-panel -curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename"https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") +curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" $STD composer install --no-dev --optimize-autoloader --no-interaction $STD php artisan p:environment:setup diff --git a/install/pf2etools-install.sh b/install/pf2etools-install.sh index 690cb1df0..13c5f0283 100644 --- a/install/pf2etools-install.sh +++ b/install/pf2etools-install.sh @@ -35,7 +35,7 @@ msg_ok "Installed Node.js" msg_info "Setup Pf2eTools" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Pf2eToolsOrg/Pf2eTools/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Pf2eToolsOrg/Pf2eTools/archive/refs/tags/${RELEASE}.zip") unzip -q "${RELEASE}.zip" mv "Pf2eTools-${RELEASE:1}" /opt/Pf2eTools cd /opt/Pf2eTools diff --git a/install/photoprism-install.sh b/install/photoprism-install.sh index 0ce8a8511..123249e2b 100644 --- a/install/photoprism-install.sh +++ b/install/photoprism-install.sh @@ -35,9 +35,9 @@ msg_info "Installing PhotoPrism (Patience)" mkdir -p /opt/photoprism/{cache,config,photos,storage,temp} mkdir -p /opt/photoprism/photos/{originals,import} mkdir -p /opt/photoprism_backups -curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1" -o $(basename"-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1") +curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1" -o $(basename "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1") LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1) -curl -fsSL "-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1" -o $(basename"-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1") +curl -fsSL "-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1" -o $(basename "-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1") ldconfig chmod -R 755 /opt/photoprism/photos/originals cat </opt/photoprism/config/.env diff --git a/install/phpipam-install.sh b/install/phpipam-install.sh index b8678115d..3950ff88d 100644 --- a/install/phpipam-install.sh +++ b/install/phpipam-install.sh @@ -40,7 +40,7 @@ msg_ok "Set up MariaDB" msg_info "Installing phpIPAM" RELEASE=$(curl -fsSL https://api.github.com/repos/phpipam/phpipam/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o $(basename"https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") +curl -fsSL "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip" -o $(basename "https://github.com/phpipam/phpipam/releases/download/v${RELEASE}/phpipam-v${RELEASE}.zip") unzip -q "phpipam-v${RELEASE}.zip" mysql -u root "${DB_NAME}" "/opt/${APPLICATION}_version.txt" -curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/stonith404/pingvin-share/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip echo "${RELEASE}" >"/opt/pingvin_version.txt" mv pingvin-share-${RELEASE} /opt/pingvin-share diff --git a/install/plant-it-install.sh b/install/plant-it-install.sh index b8d38a10b..21fda4fad 100644 --- a/install/plant-it-install.sh +++ b/install/plant-it-install.sh @@ -50,7 +50,7 @@ msg_ok "Set up MariaDB" msg_info "Setup Plant-it" RELEASE=$(curl -fsSL https://api.github.com/repos/MDeLuise/plant-it/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar" -o $(basename"https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar") +curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar" -o $(basename "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/server.jar") mkdir -p /opt/plant-it/{backend,frontend} mkdir -p /opt/plant-it-data mv -f server.jar /opt/plant-it/backend/server.jar @@ -80,7 +80,7 @@ CACHE_PORT=6379 EOF cd /opt/plant-it/frontend -curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz" -o $(basename"https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz") +curl -fsSL "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz" -o $(basename "https://github.com/MDeLuise/plant-it/releases/download/${RELEASE}/client.tar.gz") tar -xzf client.tar.gz echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Setup Plant-it" diff --git a/install/pocketid-install.sh b/install/pocketid-install.sh index ab2419b0e..0845436ee 100644 --- a/install/pocketid-install.sh +++ b/install/pocketid-install.sh @@ -46,7 +46,7 @@ read -r -p "What public URL do you want to use (e.g. pocketid.mydomain.com)? " p msg_info "Setup Pocket ID" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/pocket-id/pocket-id/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/pocket-id/pocket-id/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv pocket-id-${RELEASE}/ /opt/pocket-id diff --git a/install/privatebin-install.sh b/install/privatebin-install.sh index dd57702ba..3fd6e83f7 100644 --- a/install/privatebin-install.sh +++ b/install/privatebin-install.sh @@ -27,7 +27,7 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/PrivateBin/PrivateBin/releases echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/privatebin cd /opt/privatebin -curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/PrivateBin/PrivateBin/archive/refs/tags/${RELEASE}.zip") $STD unzip -q ${RELEASE}.zip mv PrivateBin-${RELEASE}/* . msg_ok "Installed PrivateBin" diff --git a/install/projectsend-install.sh b/install/projectsend-install.sh index ff11533b2..8dc819b9a 100644 --- a/install/projectsend-install.sh +++ b/install/projectsend-install.sh @@ -39,7 +39,7 @@ msg_ok "Set up MariaDB" msg_info "Installing projectsend" RELEASE=$(curl -fsSL https://api.github.com/repos/projectsend/projectsend/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename"https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") +curl -fsSL "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip" -o $(basename "https://github.com/projectsend/projectsend/releases/download/r${RELEASE}/projectsend-r${RELEASE}.zip") mkdir projectsend unzip -q "projectsend-r${RELEASE}.zip" -d projectsend mv /opt/projectsend/includes/sys.config.sample.php /opt/projectsend/includes/sys.config.php diff --git a/install/prometheus-alertmanager-install.sh b/install/prometheus-alertmanager-install.sh index 1682ec178..4a71e95cb 100755 --- a/install/prometheus-alertmanager-install.sh +++ b/install/prometheus-alertmanager-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Prometheus Alertmanager" RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/alertmanager/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /etc/alertmanager mkdir -p /var/lib/alertmanager -curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o $(basename"https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz") +curl -fsSL "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz" -o $(basename "https://github.com/prometheus/alertmanager/releases/download/v${RELEASE}/alertmanager-${RELEASE}.linux-amd64.tar.gz") tar -xf alertmanager-${RELEASE}.linux-amd64.tar.gz mv alertmanager-${RELEASE}.linux-amd64/alertmanager alertmanager-${RELEASE}.linux-amd64/amtool /usr/local/bin/ mv alertmanager-${RELEASE}.linux-amd64/alertmanager.yml /etc/alertmanager/alertmanager.yml diff --git a/install/prometheus-install.sh b/install/prometheus-install.sh index baa0ee6b0..c645566d5 100644 --- a/install/prometheus-install.sh +++ b/install/prometheus-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Prometheus" RELEASE=$(curl -fsSL https://api.github.com/repos/prometheus/prometheus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /etc/prometheus mkdir -p /var/lib/prometheus -curl -fsSL "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz" -o $(basename"https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz") +curl -fsSL "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz" -o $(basename "https://github.com/prometheus/prometheus/releases/download/v${RELEASE}/prometheus-${RELEASE}.linux-amd64.tar.gz") tar -xf prometheus-${RELEASE}.linux-amd64.tar.gz mv prometheus-${RELEASE}.linux-amd64/prometheus prometheus-${RELEASE}.linux-amd64/promtool /usr/local/bin/ mv prometheus-${RELEASE}.linux-amd64/prometheus.yml /etc/prometheus/prometheus.yml diff --git a/install/prometheus-paperless-ngx-exporter-install.sh b/install/prometheus-paperless-ngx-exporter-install.sh index a13a4d12a..96b77404e 100755 --- a/install/prometheus-paperless-ngx-exporter-install.sh +++ b/install/prometheus-paperless-ngx-exporter-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Prometheus Paperless NGX Exporter" RELEASE=$(curl -fsSL https://api.github.com/repos/hansmi/prometheus-paperless-exporter/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz") +curl -fsSL "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/hansmi/prometheus-paperless-exporter/releases/download/v${RELEASE}/prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz") tar -xf prometheus-paperless-exporter_${RELEASE}_linux_amd64.tar.gz mv prometheus-paperless-exporter_${RELEASE}_linux_amd64/prometheus-paperless-exporter /usr/local/bin/ mkdir -p /etc/prometheus-paperless-ngx-exporter diff --git a/install/pterodactyl-panel-install.sh b/install/pterodactyl-panel-install.sh index 1d0cf2562..7082be573 100644 --- a/install/pterodactyl-panel-install.sh +++ b/install/pterodactyl-panel-install.sh @@ -61,7 +61,7 @@ msg_info "Installing pterodactyl Panel" RELEASE=$(curl -fsSL https://api.github.com/repos/pterodactyl/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir /opt/pterodactyl-panel cd /opt/pterodactyl-panel -curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename"https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") +curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" cp .env.example .env IP=$(hostname -I | awk '{print $1}') diff --git a/install/rdtclient-install.sh b/install/rdtclient-install.sh index bd587e8eb..68f792e0c 100644 --- a/install/rdtclient-install.sh +++ b/install/rdtclient-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing ASP.NET Core Runtime" -curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -o $(basename"https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb") +curl -fsSL "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb" -o $(basename "https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb") $STD dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb $STD apt-get update @@ -22,7 +22,7 @@ $STD apt-get install -y dotnet-sdk-9.0 msg_ok "Installed ASP.NET Core Runtime" msg_info "Installing rdtclient" -curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o $(basename"https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") +curl -fsSL "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip" -o $(basename "https://github.com/rogerfar/rdt-client/releases/latest/download/RealDebridClient.zip") unzip -qq RealDebridClient.zip -d /opt/rdtc rm RealDebridClient.zip cd /opt/rdtc diff --git a/install/recyclarr-install.sh b/install/recyclarr-install.sh index f9bf6aef4..e265311c6 100644 --- a/install/recyclarr-install.sh +++ b/install/recyclarr-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y git msg_ok "Installed Dependencies" msg_info "Installing Recyclarr" -curl -fsSL "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)" -o $(basename"$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)") +curl -fsSL "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/recyclarr/recyclarr/releases/latest | grep download | grep linux-x64 | cut -d\" -f4)") tar -C /usr/local/bin -xJf recyclarr*.tar.xz mkdir -p /root/.config/recyclarr recyclarr config create diff --git a/install/runtipi-install.sh b/install/runtipi-install.sh index 4dec0ae26..d0257c8d3 100644 --- a/install/runtipi-install.sh +++ b/install/runtipi-install.sh @@ -18,7 +18,7 @@ DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p "$(dirname "$DOCKER_CONFIG_PATH")" echo -e '{\n "log-driver": "journald"\n}' >"$DOCKER_CONFIG_PATH" cd /opt -curl -fsSL "https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh" -o $(basename"https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh") +curl -fsSL "https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh" -o $(basename "https://raw.githubusercontent.com/runtipi/runtipi/master/scripts/install.sh") chmod +x install.sh $STD ./install.sh chmod 666 /opt/runtipi/state/settings.json diff --git a/install/rustdeskserver-install.sh b/install/rustdeskserver-install.sh index bd0813c17..e654ca06c 100644 --- a/install/rustdeskserver-install.sh +++ b/install/rustdeskserver-install.sh @@ -16,9 +16,9 @@ update_os msg_info "Setup RustDesk" RELEASE=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') TEMPDIR=$(mktemp -d) -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename"https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR") -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename"https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR") -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename"https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR") +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR") $STD dpkg -i $TEMPDIR/*.deb echo "${RELEASE}" >/opt/rustdesk.txt msg_ok "Setup RustDesk" diff --git a/install/seelf-install.sh b/install/seelf-install.sh index c5ca9cd7a..e45e5dd25 100644 --- a/install/seelf-install.sh +++ b/install/seelf-install.sh @@ -42,7 +42,7 @@ msg_ok "Installed Node.js" msg_info "Setting up seelf. Patience" RELEASE=$(curl -fsSL https://api.github.com/repos/YuukanOO/seelf/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/YuukanOO/seelf/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz mv seelf-${RELEASE}/ /opt/seelf cd /opt/seelf diff --git a/install/semaphore-install.sh b/install/semaphore-install.sh index da3b5c855..1bd903436 100644 --- a/install/semaphore-install.sh +++ b/install/semaphore-install.sh @@ -30,7 +30,7 @@ msg_info "Setup Semaphore" RELEASE=$(curl -fsSL https://api.github.com/repos/semaphoreui/semaphore/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir -p /opt/semaphore cd /opt/semaphore -curl -fsSL "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb" -o $(basename"https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb") +curl -fsSL "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb" -o $(basename "https://github.com/semaphoreui/semaphore/releases/download/v${RELEASE}/semaphore_${RELEASE}_linux_amd64.deb") $STD dpkg -i semaphore_${RELEASE}_linux_amd64.deb SEM_HASH=$(openssl rand -base64 32) diff --git a/install/silverbullet-install.sh b/install/silverbullet-install.sh index ece9a33fc..3afd2f890 100644 --- a/install/silverbullet-install.sh +++ b/install/silverbullet-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing Silverbullet" RELEASE=$(curl -fsSL https://api.github.com/repos/silverbulletmd/silverbullet/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') mkdir -p /opt/silverbullet/bin /opt/silverbullet/space -curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o $(basename"https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") +curl -fsSL "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip" -o $(basename "https://github.com/silverbulletmd/silverbullet/releases/download/${RELEASE}/silverbullet-server-linux-x86_64.zip") unzip -oq -d /opt/silverbullet/bin/ silverbullet-server-linux-x86_64.zip chmod +x /opt/silverbullet/bin/silverbullet echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/spoolman-install.sh b/install/spoolman-install.sh index 5371196c6..c3be0d760 100644 --- a/install/spoolman-install.sh +++ b/install/spoolman-install.sh @@ -34,7 +34,7 @@ msg_ok "Setup Python3" msg_info "Installing Spoolman" RELEASE=$(curl -fsSL https://github.com/Donkie/Spoolman/releases/latest | grep "title>Release" | cut -d " " -f 4) cd /opt -curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip" -o $(basename"https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip") +curl -fsSL "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip" -o $(basename "https://github.com/Donkie/Spoolman/releases/download/$RELEASE/spoolman.zip") unzip -q spoolman.zip -d spoolman rm -rf spoolman.zip cd spoolman diff --git a/install/stirling-pdf-install.sh b/install/stirling-pdf-install.sh index 93b6383b9..64f47f276 100644 --- a/install/stirling-pdf-install.sh +++ b/install/stirling-pdf-install.sh @@ -55,7 +55,7 @@ msg_ok "Installed Python Dependencies" msg_info "Installing Azul Zulu" curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xB1998361219BD9C9" -o "/etc/apt/trusted.gpg.d/zulu-repo.asc" -curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename"https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") +curl -fsSL "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb" -o $(basename "https://cdn.azul.com/zulu/bin/zulu-repo_1.0.0-3_all.deb") $STD dpkg -i zulu-repo_1.0.0-3_all.deb $STD apt-get update $STD apt-get -y install zulu17-jdk @@ -76,7 +76,7 @@ msg_ok "Installed Language Packs" msg_info "Installing Stirling-PDF (Additional Patience)" RELEASE=$(curl -fsSL https://api.github.com/repos/Stirling-Tools/Stirling-PDF/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename"https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz") +curl -fsSL "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/Stirling-Tools/Stirling-PDF/archive/refs/tags/v${RELEASE}.tar.gz") tar -xzf v${RELEASE}.tar.gz cd Stirling-PDF-$RELEASE chmod +x ./gradlew diff --git a/install/suwayomiserver-install.sh b/install/suwayomiserver-install.sh index df9f8aab8..9a23c147d 100644 --- a/install/suwayomiserver-install.sh +++ b/install/suwayomiserver-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Settting up Suwayomi-Server" URL=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "browser_download_url" | awk '{print substr($2, 2, length($2)-2) }' | tail -n+2 | head -n 1) RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "$URL" -o $(basename"$URL") +curl -fsSL "$URL" -o $(basename "$URL") $STD dpkg -i *.deb echo ${RELEASE} >/opt/suwayomi-server_version.txt msg_ok "Done setting up Suwayomi-Server" diff --git a/install/tasmoadmin-install.sh b/install/tasmoadmin-install.sh index 1390e9ef0..45b99527f 100644 --- a/install/tasmoadmin-install.sh +++ b/install/tasmoadmin-install.sh @@ -25,7 +25,7 @@ $STD apt-get install -y git msg_ok "Installed Dependencies" msg_info "Installing TasmoAdmin" -curl -fsSL "https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz" -o $(basename"https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz") +curl -fsSL "https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz" -o $(basename "https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v3.1.1/tasmoadmin_v3.1.1.tar.gz") tar -xzf tasmoadmin_v3.1.1.tar.gz -C /var/www/ rm -rf tasmoadmin_v3.1.1.tar.gz /etc/php/8.2/apache2/conf.d/10-opcache.ini chown -R www-data:www-data /var/www/tasmoadmin diff --git a/install/tdarr-install.sh b/install/tdarr-install.sh index 59ac8d28b..cc16b657f 100644 --- a/install/tdarr-install.sh +++ b/install/tdarr-install.sh @@ -32,7 +32,7 @@ msg_info "Installing Tdarr" mkdir -p /opt/tdarr cd /opt/tdarr RELEASE=$(curl -fsSL https://f000.backblazeb2.com/file/tdarrs/versions.json | grep -oP '(?<="Tdarr_Updater": ")[^"]+' | grep linux_x64 | head -n 1) -curl -fsSL "$RELEASE" -o $(basename"$RELEASE") +curl -fsSL "$RELEASE" -o $(basename "$RELEASE") $STD unzip Tdarr_Updater.zip rm -rf Tdarr_Updater.zip chmod +x Tdarr_Updater diff --git a/install/teddycloud-install.sh b/install/teddycloud-install.sh index c00ac22b8..7794702bb 100644 --- a/install/teddycloud-install.sh +++ b/install/teddycloud-install.sh @@ -23,7 +23,7 @@ msg_ok "Installed Dependencies" msg_info "Installing TeddyCloud" RELEASE="$(curl -fsSL https://api.github.com/repos/toniebox-reverse-engineering/teddycloud/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')" VERSION="${RELEASE#tc_v}" -curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -o $(basename"https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") +curl -fsSL "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip" -o $(basename "https://github.com/toniebox-reverse-engineering/teddycloud/releases/download/${RELEASE}/teddycloud.amd64.release_v${VERSION}.zip") unzip -q -d "/opt/teddycloud-${VERSION}" "teddycloud.amd64.release_v${VERSION}.zip" ln -fns "/opt/teddycloud-${VERSION}" /opt/teddycloud rm -rf teddycloud.amd64.release_v${VERSION}.zip diff --git a/install/the-lounge-install.sh b/install/the-lounge-install.sh index f3084630f..4fe52a7e5 100644 --- a/install/the-lounge-install.sh +++ b/install/the-lounge-install.sh @@ -35,7 +35,7 @@ msg_ok "Installed Node.js" msg_info "Installing The Lounge" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/thelounge/thelounge-deb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb" -o $(basename"https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb") +curl -fsSL "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb" -o $(basename "https://github.com/thelounge/thelounge-deb/releases/download/v${RELEASE}/thelounge_${RELEASE}_all.deb") $STD dpkg -i ./thelounge_${RELEASE}_all.deb echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Installed The Lounge" diff --git a/install/tianji-install.sh b/install/tianji-install.sh index 9d5cfcc65..44935ddc7 100644 --- a/install/tianji-install.sh +++ b/install/tianji-install.sh @@ -57,7 +57,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Tianji (Extreme Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/msgbyte/tianji/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/msgbyte/tianji/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv tianji-${RELEASE} /opt/tianji cd tianji diff --git a/install/traccar-install.sh b/install/traccar-install.sh index 25e0a5f5a..3cf775b0f 100644 --- a/install/traccar-install.sh +++ b/install/traccar-install.sh @@ -15,7 +15,7 @@ update_os RELEASE=$(curl -fsSL https://api.github.com/repos/traccar/traccar/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') msg_info "Installing Traccar v${RELEASE}" -curl -fsSL "https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip" -o $(basename"https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip") +curl -fsSL "https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip" -o $(basename "https://github.com/traccar/traccar/releases/download/v${RELEASE}/traccar-linux-64-${RELEASE}.zip") $STD unzip traccar-linux-64-${RELEASE}.zip $STD ./traccar.run systemctl enable -q --now traccar diff --git a/install/traefik-install.sh b/install/traefik-install.sh index 20790a068..6701ec41d 100644 --- a/install/traefik-install.sh +++ b/install/traefik-install.sh @@ -21,7 +21,7 @@ msg_ok "Installed Dependencies" RELEASE=$(curl -fsSL https://api.github.com/repos/traefik/traefik/releases | grep -oP '"tag_name":\s*"v\K[\d.]+?(?=")' | sort -V | tail -n 1) msg_info "Installing Traefik v${RELEASE}" mkdir -p /etc/traefik/{conf.d,ssl} -curl -fsSL "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz" -o $(basename"https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz") +curl -fsSL "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/traefik/traefik/releases/download/v${RELEASE}/traefik_v${RELEASE}_linux_amd64.tar.gz") tar -C /tmp -xzf traefik*.tar.gz mv /tmp/traefik /usr/bin/ rm -rf traefik*.tar.gz diff --git a/install/trilium-install.sh b/install/trilium-install.sh index 6fa99c8aa..805a7fd44 100644 --- a/install/trilium-install.sh +++ b/install/trilium-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Setup TriliumNext" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/TriliumNext/Notes/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o $(basename"https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz") +curl -fsSL "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz" -o $(basename "https://github.com/TriliumNext/Notes/releases/download/v${RELEASE}/TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz") tar -xf TriliumNextNotes-Server-v${RELEASE}-linux-x64.tar.xz mv TriliumNextNotes-Server-$RELEASE-linux-x64 /opt/trilium echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/typesense-install.sh b/install/typesense-install.sh index 384a0e034..7512887ce 100644 --- a/install/typesense-install.sh +++ b/install/typesense-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing TypeSense" RELEASE=$(curl -fsSL https://api.github.com/repos/typesense/typesense/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') cd /opt -curl -fsSL "https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb" -o $(basename"https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb") +curl -fsSL "https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb" -o $(basename "https://dl.typesense.org/releases/${RELEASE}/typesense-server-${RELEASE}-amd64.deb") $STD apt install -y /opt/typesense-server-${RELEASE}-amd64.deb echo 'enable-cors = true' >>/etc/typesense/typesense-server.ini echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" diff --git a/install/unifi-install.sh b/install/unifi-install.sh index dfdb1010f..aa0c15d83 100644 --- a/install/unifi-install.sh +++ b/install/unifi-install.sh @@ -29,7 +29,7 @@ if ! grep -q -m1 'avx[^ ]*' /proc/cpuinfo; then msg_ok "No AVX Support Detected" msg_info "Installing MongoDB 4.4" if ! dpkg -l | grep -q "libssl1.1"; then - curl -fsSL "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb" -o $(basename"http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb") + curl -fsSL "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb" -o $(basename "http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1n-0+deb10u6_amd64.deb") $STD dpkg -i libssl1.1_1.1.1n-0+deb10u6_amd64.deb fi curl -fsSL "https://www.mongodb.org/static/pgp/server-4.4.asc" | gpg --dearmor >/usr/share/keyrings/mongodb-server-4.4.gpg diff --git a/install/victoriametrics-install.sh b/install/victoriametrics-install.sh index 206332f2e..3bc53732a 100644 --- a/install/victoriametrics-install.sh +++ b/install/victoriametrics-install.sh @@ -18,8 +18,8 @@ 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 $(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") +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") 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/* diff --git a/install/vikunja-install.sh b/install/vikunja-install.sh index 8310bd2a6..28489ea1f 100644 --- a/install/vikunja-install.sh +++ b/install/vikunja-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Setup Vikunja (Patience)" cd /opt RELEASE=$(curl -fsSL https://dl.vikunja.io/vikunja/ | grep -oP 'href="/vikunja/\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1) -curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -o $(basename"https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb") +curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -o $(basename "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb") $STD dpkg -i vikunja-$RELEASE-amd64.deb sed -i 's|^ timezone: .*| timezone: UTC|' /etc/vikunja/config.yml sed -i 's|"./vikunja.db"|"/etc/vikunja/vikunja.db"|' /etc/vikunja/config.yml diff --git a/install/wallos-install.sh b/install/wallos-install.sh index fc91addef..e74e152f3 100644 --- a/install/wallos-install.sh +++ b/install/wallos-install.sh @@ -24,7 +24,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Wallos (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/ellite/Wallos/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/ellite/Wallos/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv Wallos-${RELEASE} /opt/wallos cd /opt/wallos diff --git a/install/watchyourlan-install.sh b/install/watchyourlan-install.sh index efff0e1e3..1306adf2b 100644 --- a/install/watchyourlan-install.sh +++ b/install/watchyourlan-install.sh @@ -19,7 +19,7 @@ msg_ok "Installed Dependencies" msg_info "Installing WatchYourLAN" RELEASE=$(curl -fsSL https://api.github.com/repos/aceberg/WatchYourLAN/releases/latest | grep -o '"tag_name": *"[^"]*"' | cut -d '"' -f 4) -curl -fsSL "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb" -o $(basename"https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb") +curl -fsSL "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb" -o $(basename "https://github.com/aceberg/WatchYourLAN/releases/download/$RELEASE/watchyourlan_${RELEASE}_linux_amd64.deb") $STD dpkg -i watchyourlan_${RELEASE}_linux_amd64.deb rm watchyourlan_${RELEASE}_linux_amd64.deb mkdir /data diff --git a/install/wavelog-install.sh b/install/wavelog-install.sh index dc3c5211a..4ddde5081 100644 --- a/install/wavelog-install.sh +++ b/install/wavelog-install.sh @@ -43,7 +43,7 @@ msg_ok "Set up PHP" msg_info "Installing Wavelog" RELEASE=$(curl -fsSL https://api.github.com/repos/wavelog/wavelog/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/wavelog/wavelog/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv wavelog-${RELEASE}/ /opt/wavelog chown -R www-data:www-data /opt/wavelog/ diff --git a/install/wger-install.sh b/install/wger-install.sh index c528e0152..0f5560762 100644 --- a/install/wger-install.sh +++ b/install/wger-install.sh @@ -49,7 +49,7 @@ chmod o+w /home/wger/media temp_dir=$(mktemp -d) cd $temp_dir RELEASE=$(curl -fsSL https://api.github.com/repos/wger-project/wger/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') -curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -o $(basename"https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz") +curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -o $(basename "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz") tar xzf $RELEASE.tar.gz mv wger-$RELEASE /home/wger/src cd /home/wger/src diff --git a/install/wordpress-install.sh b/install/wordpress-install.sh index 9e074e34b..a6d68779d 100644 --- a/install/wordpress-install.sh +++ b/install/wordpress-install.sh @@ -38,7 +38,7 @@ msg_ok "Set up Database" msg_info "Installing Wordpress (Patience)" cd /var/www/html -curl -fsSL "https://wordpress.org/latest.zip" -o $(basename"https://wordpress.org/latest.zip") +curl -fsSL "https://wordpress.org/latest.zip" -o $(basename "https://wordpress.org/latest.zip") unzip -q latest.zip chown -R www-data:www-data wordpress/ cd /var/www/html/wordpress diff --git a/install/zabbix-install.sh b/install/zabbix-install.sh index 48cc53d4d..462635e23 100644 --- a/install/zabbix-install.sh +++ b/install/zabbix-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Zabbix" cd /tmp -curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -o $(basename"https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb") +curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -o $(basename "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb") $STD dpkg -i /tmp/zabbix-release_latest+debian12_all.deb $STD apt-get update $STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts diff --git a/install/zigbee2mqtt-install.sh b/install/zigbee2mqtt-install.sh index 403167d65..04da3e9a7 100644 --- a/install/zigbee2mqtt-install.sh +++ b/install/zigbee2mqtt-install.sh @@ -41,7 +41,7 @@ msg_ok "Installed pnpm" msg_info "Setting up Zigbee2MQTT" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename"https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") +curl -fsSL "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${RELEASE}.zip") unzip -q ${RELEASE}.zip mv zigbee2mqtt-${RELEASE} /opt/zigbee2mqtt cd /opt/zigbee2mqtt/data diff --git a/install/zipline-install.sh b/install/zipline-install.sh index a9dc4040e..c88958bfe 100644 --- a/install/zipline-install.sh +++ b/install/zipline-install.sh @@ -52,7 +52,7 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Zipline (Patience)" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename"https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") +curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip") unzip -q v${RELEASE}.zip mv zipline-${RELEASE} /opt/zipline cd /opt/zipline diff --git a/install/zoraxy-install.sh b/install/zoraxy-install.sh index a9c5bc27c..94697047f 100644 --- a/install/zoraxy-install.sh +++ b/install/zoraxy-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Zoraxy (Patience)" RELEASE=$(curl -fsSL https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -o $(basename"https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64") +curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -o $(basename "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64") mkdir -p /opt/zoraxy mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy chmod +x /opt/zoraxy/zoraxy diff --git a/install/zwave-js-ui-install.sh b/install/zwave-js-ui-install.sh index b3389aedb..7c7d3b7a3 100644 --- a/install/zwave-js-ui-install.sh +++ b/install/zwave-js-ui-install.sh @@ -18,7 +18,7 @@ mkdir -p /opt/zwave-js-ui mkdir -p /opt/zwave_store cd /opt/zwave-js-ui RELEASE=$(curl -fsSL https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o $(basename"https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") +curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o $(basename "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip") unzip -q zwave-js-ui-${RELEASE}-linux.zip cat </opt/.env ZWAVEJS_EXTERNAL_CONFIG=/opt/zwave_store/.config-db diff --git a/misc/microcode.sh b/misc/microcode.sh index 35017e68a..385eb88cf 100644 --- a/misc/microcode.sh +++ b/misc/microcode.sh @@ -72,7 +72,7 @@ intel() { } msg_info "Downloading the Intel Processor Microcode Package $microcode" - curl -fsSL "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode" -o $(basename"http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode") + curl -fsSL "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode" -o $(basename "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode") msg_ok "Downloaded the Intel Processor Microcode Package $microcode" msg_info "Installing $microcode (Patience)" @@ -116,7 +116,7 @@ amd() { } msg_info "Downloading the AMD Processor Microcode Package $microcode" - curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode" -o $(basename"https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode") + curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode" -o $(basename "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode") msg_ok "Downloaded the AMD Processor Microcode Package $microcode" msg_info "Installing $microcode (Patience)" diff --git a/misc/netdata.sh b/misc/netdata.sh index 97dadc889..f8debbc1d 100644 --- a/misc/netdata.sh +++ b/misc/netdata.sh @@ -60,7 +60,7 @@ install() { msg_info "Setting up repository" $STD apt-get install -y debian-keyring - curl -fsSL "https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb" -o $(basename"https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb") + curl -fsSL "https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb" -o $(basename "https://repo.netdata.cloud/repos/repoconfig/debian/bookworm/netdata-repo_5-1+debian12_all.deb") $STD dpkg -i netdata-repo_5-1+debian12_all.deb rm -rf netdata-repo_5-1+debian12_all.deb msg_ok "Set up repository" diff --git a/misc/olivetin.sh b/misc/olivetin.sh index df5a97591..6caed1562 100644 --- a/misc/olivetin.sh +++ b/misc/olivetin.sh @@ -51,7 +51,7 @@ function msg_ok() { } msg_info "Installing ${APP}" -curl -fsSL "https://github.com/OliveTin/OliveTin/releases/latest/download/OliveTin_linux_amd64.deb" -o $(basename"https://github.com/OliveTin/OliveTin/releases/latest/download/OliveTin_linux_amd64.deb") +curl -fsSL "https://github.com/OliveTin/OliveTin/releases/latest/download/OliveTin_linux_amd64.deb" -o $(basename "https://github.com/OliveTin/OliveTin/releases/latest/download/OliveTin_linux_amd64.deb") dpkg -i OliveTin_linux_amd64.deb &>/dev/null systemctl enable --now OliveTin &>/dev/null rm OliveTin_linux_amd64.deb diff --git a/misc/pbs_microcode.sh b/misc/pbs_microcode.sh index 79735fe5f..694649e35 100644 --- a/misc/pbs_microcode.sh +++ b/misc/pbs_microcode.sh @@ -89,7 +89,7 @@ intel() { } msg_info "Downloading Intel processor microcode package $microcode" - curl -fsSL "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode" -o $(basename"http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode") + curl -fsSL "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode" -o $(basename "http://ftp.debian.org/debian/pool/non-free-firmware/i/intel-microcode/$microcode") msg_ok "Downloaded Intel processor microcode package $microcode" msg_info "Installing $microcode (this might take a while)" @@ -136,7 +136,7 @@ amd() { } msg_info "Downloading AMD processor microcode package $microcode" - curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode" -o $(basename"https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode") + curl -fsSL "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode" -o $(basename "https://ftp.debian.org/debian/pool/non-free-firmware/a/amd64-microcode/$microcode") msg_ok "Downloaded AMD processor microcode package $microcode" msg_info "Installing $microcode (this might take a while)" diff --git a/misc/webmin.sh b/misc/webmin.sh index 87a5ead73..b313144bb 100644 --- a/misc/webmin.sh +++ b/misc/webmin.sh @@ -48,7 +48,7 @@ msg_ok "Installed Prerequisites" LATEST=$(curl -fsSLL https://api.github.com/repos/webmin/webmin/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Downloading Webmin" -curl -fsSL "https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb" -o $(basename"https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb") +curl -fsSL "https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb" -o $(basename "https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb") msg_ok "Downloaded Webmin" msg_info "Installing Webmin" From 810eadd3989103910983416f7ee0e4b79ab6b6cd Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 11:12:42 +0200 Subject: [PATCH 062/166] Fix Rustdeskserver (curl) --- ct/rustdeskserver.sh | 11 +++++++---- install/rustdeskserver-install.sh | 19 ++++++++++++------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/ct/rustdeskserver.sh b/ct/rustdeskserver.sh index 34285c1ef..ffe26a4ea 100644 --- a/ct/rustdeskserver.sh +++ b/ct/rustdeskserver.sh @@ -37,9 +37,12 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" TEMPDIR=$(mktemp -d) -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR") -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR") -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR") + curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" \ + -o "${TEMPDIR}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" + curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" \ + -o "${TEMPDIR}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" + curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" \ + -o "${TEMPDIR}/rustdesk-server-utils_${RELEASE}_amd64.deb" $STD dpkg -i $TEMPDIR/*.deb msg_ok "Updated $APP to v${RELEASE}" @@ -62,4 +65,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}${IP}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}${IP}${CL}" diff --git a/install/rustdeskserver-install.sh b/install/rustdeskserver-install.sh index e654ca06c..e2c9adf9a 100644 --- a/install/rustdeskserver-install.sh +++ b/install/rustdeskserver-install.sh @@ -14,13 +14,18 @@ network_check update_os msg_info "Setup RustDesk" -RELEASE=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + +RELEASE=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk -F '"' '{print $4}') TEMPDIR=$(mktemp -d) -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -P $TEMPDIR") -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -P $TEMPDIR") -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR" -o $(basename "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" -P $TEMPDIR") -$STD dpkg -i $TEMPDIR/*.deb -echo "${RELEASE}" >/opt/rustdesk.txt + +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" \ + -o "${TEMPDIR}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" \ + -o "${TEMPDIR}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" +curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" \ + -o "${TEMPDIR}/rustdesk-server-utils_${RELEASE}_amd64.deb" +$STD dpkg -i "${TEMPDIR}"/*.deb +echo "${RELEASE}" >/opt/rustdesk_version.txt msg_ok "Setup RustDesk" motd_ssh @@ -30,4 +35,4 @@ msg_info "Cleaning up" rm -rf $TEMPDIR $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" \ No newline at end of file +msg_ok "Cleaned" From 24a5442e449bb338013cf14c1d83c6eb00a3983d Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 11:18:12 +0200 Subject: [PATCH 063/166] fix golang issue --- ct/watcharr.sh | 4 ++-- install/authentik-install.sh | 2 +- install/caddy-install.sh | 6 +++--- install/memos-install.sh | 2 +- install/ollama-install.sh | 2 +- install/paperless-gpt-install.sh | 2 +- install/pocketid-install.sh | 2 +- install/rtsptoweb-install.sh | 2 +- install/seelf-install.sh | 2 +- install/sftpgo-install.sh | 4 ++-- install/watcharr-install.sh | 6 +++--- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/ct/watcharr.sh b/ct/watcharr.sh index 34969189e..973f577bb 100644 --- a/ct/watcharr.sh +++ b/ct/watcharr.sh @@ -38,7 +38,7 @@ function update_script() { msg_info "Updating $APP to v${RELEASE}" temp_file=$(mktemp) temp_folder=$(mktemp -d) -curl -fsSL "https://github.com/sbondCo/Watcharr/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" + curl -fsSL "https://github.com/sbondCo/Watcharr/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" tar -xzf "$temp_file" -C "$temp_folder" rm -f /opt/watcharr/server/watcharr rm -rf /opt/watcharr/server/ui @@ -77,4 +77,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}:3080${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3080${CL}" diff --git a/install/authentik-install.sh b/install/authentik-install.sh index 5d288ad66..983c4b767 100644 --- a/install/authentik-install.sh +++ b/install/authentik-install.sh @@ -82,7 +82,7 @@ msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" +curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" diff --git a/install/caddy-install.sh b/install/caddy-install.sh index fb339f64b..5f488797f 100644 --- a/install/caddy-install.sh +++ b/install/caddy-install.sh @@ -34,7 +34,7 @@ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then set +o pipefail temp_file=$(mktemp) golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" + curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" @@ -44,7 +44,7 @@ curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" msg_info "Setup xCaddy" cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb" -o $(basename "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb") + curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb" -o $(basename "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb") $STD dpkg -i xcaddy_${RELEASE:1}_linux_amd64.deb rm -rf /opt/xcaddy* $STD xcaddy build @@ -57,4 +57,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" \ No newline at end of file +msg_ok "Cleaned" diff --git a/install/memos-install.sh b/install/memos-install.sh index 5b0b018e2..26cc16013 100644 --- a/install/memos-install.sh +++ b/install/memos-install.sh @@ -40,7 +40,7 @@ msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" +curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" diff --git a/install/ollama-install.sh b/install/ollama-install.sh index 8cf97f6dd..ff093aa95 100644 --- a/install/ollama-install.sh +++ b/install/ollama-install.sh @@ -26,7 +26,7 @@ msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" +curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" diff --git a/install/paperless-gpt-install.sh b/install/paperless-gpt-install.sh index 892f93c13..00e195fa6 100644 --- a/install/paperless-gpt-install.sh +++ b/install/paperless-gpt-install.sh @@ -39,7 +39,7 @@ msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" +curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" diff --git a/install/pocketid-install.sh b/install/pocketid-install.sh index 0845436ee..47e8f8f7e 100644 --- a/install/pocketid-install.sh +++ b/install/pocketid-install.sh @@ -35,7 +35,7 @@ msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" +curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" diff --git a/install/rtsptoweb-install.sh b/install/rtsptoweb-install.sh index e096231df..ecbb97918 100644 --- a/install/rtsptoweb-install.sh +++ b/install/rtsptoweb-install.sh @@ -21,7 +21,7 @@ msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" +curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" diff --git a/install/seelf-install.sh b/install/seelf-install.sh index e45e5dd25..e4cb6e19f 100644 --- a/install/seelf-install.sh +++ b/install/seelf-install.sh @@ -23,7 +23,7 @@ msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" +curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go set -o pipefail diff --git a/install/sftpgo-install.sh b/install/sftpgo-install.sh index c0b0fc188..c21fc11d9 100644 --- a/install/sftpgo-install.sh +++ b/install/sftpgo-install.sh @@ -22,7 +22,7 @@ msg_info "Installing Golang" set +o pipefail temp_file=$(mktemp) golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" +curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" @@ -42,4 +42,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" \ No newline at end of file +msg_ok "Cleaned" diff --git a/install/watcharr-install.sh b/install/watcharr-install.sh index fb046ce39..4a85cffba 100644 --- a/install/watcharr-install.sh +++ b/install/watcharr-install.sh @@ -23,7 +23,7 @@ msg_info "Setup Golang" set +o pipefail temp_file=$(mktemp) golang_tarball=$(curl -fsSL https://go.dev/dl/ | grep -oP 'go[\d\.]+\.linux-amd64\.tar\.gz' | head -n 1) -curl -fsSL "https://golang.org/dl/"$golang_tarball" -o ""$temp_file"" +curl -fsSL "https://golang.org/dl/${golang_tarball}" -o "$temp_file" tar -C /usr/local -xzf "$temp_file" ln -sf /usr/local/go/bin/go /usr/local/bin/go rm -f "$temp_file" @@ -41,7 +41,7 @@ msg_ok "Setup Node.js" msg_info "Setup Watcharr" temp_file=$(mktemp) RELEASE=$(curl -fsSL https://api.github.com/repos/sbondCo/Watcharr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/sbondCo/Watcharr/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" +curl -fsSL "https://github.com/sbondCo/Watcharr/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" tar -xzf "$temp_file" mv Watcharr-${RELEASE}/ /opt/watcharr cd /opt/watcharr @@ -87,4 +87,4 @@ msg_info "Cleaning up" rm -f "$temp_file" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" \ No newline at end of file +msg_ok "Cleaned" From a022619b93aabe581e22d028a70f2d322fb29902 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 11:38:52 +0200 Subject: [PATCH 064/166] Fix Rustup Curl --- install/linkwarden-install.sh | 10 +++++----- install/vaultwarden-install.sh | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/install/linkwarden-install.sh b/install/linkwarden-install.sh index efe0ccd1f..03e1aaa2d 100644 --- a/install/linkwarden-install.sh +++ b/install/linkwarden-install.sh @@ -37,11 +37,11 @@ $STD npm install -g yarn msg_ok "Installed Node.js/Yarn" msg_info "Installing Rust" -curl -fsSL https://sh.rustup.rs -O -$STD bash index.html -y --profile minimal -echo 'export PATH=~/.cargo/bin:$PATH' >>~/.bashrc -export PATH=~/.cargo/bin:$PATH -rm index.html +curl -fsSL https://sh.rustup.rs -o rustup-init.sh +$STD bash rustup-init.sh -y --profile minimal +echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc +export PATH="$HOME/.cargo/bin:$PATH" +rm rustup-init.sh $STD cargo install monolith msg_ok "Installed Rust" diff --git a/install/vaultwarden-install.sh b/install/vaultwarden-install.sh index 63054754d..b50e7b6c4 100644 --- a/install/vaultwarden-install.sh +++ b/install/vaultwarden-install.sh @@ -34,11 +34,11 @@ VAULT=$(curl -fsSL https://api.github.com/repos/dani-garcia/vaultwarden/releases awk '{print substr($2, 2, length($2)-3) }') msg_info "Installing Rust" -curl -fsSL https://sh.rustup.rs -O -$STD bash index.html -y --profile minimal -echo 'export PATH=~/.cargo/bin:$PATH' >>~/.bashrc -export PATH=~/.cargo/bin:$PATH -rm index.html +curl -fsSL https://sh.rustup.rs -o rustup-init.sh +$STD bash rustup-init.sh -y --profile minimal +echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc +export PATH="$HOME/.cargo/bin:$PATH" +rm rustup-init.sh msg_ok "Installed Rust" msg_info "Building Vaultwarden ${VAULT} (Patience)" From 508a771b67a658516b8bda707a0a850bbdc3d525 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 12:00:00 +0200 Subject: [PATCH 065/166] fix fsSLSL to fsSL --- ct/grocy.sh | 4 ++-- install/alpine-docker-install.sh | 2 +- install/docker-install.sh | 2 +- install/dockge-install.sh | 4 ++-- install/firefly-install.sh | 2 +- install/grocy-install.sh | 2 +- install/homeassistant-install.sh | 2 +- install/kimai-install.sh | 2 +- install/koillection-install.sh | 2 +- install/npmplus-install.sh | 2 +- install/pelican-panel-install.sh | 2 +- install/pelican-wings-install.sh | 2 +- install/postgresql-install.sh | 2 +- install/pterodactyl-panel-install.sh | 2 +- install/pterodactyl-wings-install.sh | 2 +- install/yunohost-install.sh | 2 +- 16 files changed, 18 insertions(+), 18 deletions(-) diff --git a/ct/grocy.sh b/ct/grocy.sh index ec161dbf2..0df597a51 100644 --- a/ct/grocy.sh +++ b/ct/grocy.sh @@ -30,7 +30,7 @@ function update_script() { php_version=$(php -v | head -n 1 | awk '{print $2}') if [[ ! $php_version == "8.3"* ]]; then msg_info "Updating PHP" - curl -fsSLSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg + curl -fsSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list apt-get update apt-get install -y php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl,sqlite3,fpm,gd,zip,xml} @@ -51,4 +51,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/install/alpine-docker-install.sh b/install/alpine-docker-install.sh index 559970a3c..395816196 100644 --- a/install/alpine-docker-install.sh +++ b/install/alpine-docker-install.sh @@ -67,7 +67,7 @@ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then msg_info "Installing Docker Compose $DOCKER_COMPOSE_LATEST_VERSION" DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins - curl -fsSLSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose + curl -fsSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose msg_ok "Installed Docker Compose $DOCKER_COMPOSE_LATEST_VERSION" fi diff --git a/install/docker-install.sh b/install/docker-install.sh index f78a01676..c9503c8d4 100644 --- a/install/docker-install.sh +++ b/install/docker-install.sh @@ -26,7 +26,7 @@ msg_info "Installing Docker $DOCKER_LATEST_VERSION" DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p $(dirname $DOCKER_CONFIG_PATH) echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json -$STD sh <(curl -fsSLSL https://get.docker.com) +$STD sh <(curl -fsSL https://get.docker.com) msg_ok "Installed Docker $DOCKER_LATEST_VERSION" read -r -p "Would you like to add Portainer? " prompt diff --git a/install/dockge-install.sh b/install/dockge-install.sh index c170ab1a4..d82bf28b8 100644 --- a/install/dockge-install.sh +++ b/install/dockge-install.sh @@ -24,13 +24,13 @@ msg_info "Installing Docker $DOCKER_LATEST_VERSION" DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p $(dirname $DOCKER_CONFIG_PATH) echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json -$STD sh <(curl -fsSLSL https://get.docker.com) +$STD sh <(curl -fsSL https://get.docker.com) msg_ok "Installed Docker $DOCKER_LATEST_VERSION" msg_info "Installing Docker Compose $DOCKER_COMPOSE_LATEST_VERSION" DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins -curl -fsSLSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose +curl -fsSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose msg_ok "Installed Docker Compose $DOCKER_COMPOSE_LATEST_VERSION" diff --git a/install/firefly-install.sh b/install/firefly-install.sh index 4d3cacc23..ed9f89a33 100644 --- a/install/firefly-install.sh +++ b/install/firefly-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -curl -fsSLSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg +curl -fsSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list $STD apt-get update $STD apt-get install -y \ diff --git a/install/grocy-install.sh b/install/grocy-install.sh index d67c1ec73..8376bbc58 100644 --- a/install/grocy-install.sh +++ b/install/grocy-install.sh @@ -19,7 +19,7 @@ msg_ok "Installed Dependencies" msg_info "Installing PHP8.2" VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" -curl -fsSLSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg +curl -fsSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg echo -e "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $VERSION main" >/etc/apt/sources.list.d/php.list $STD apt-get update $STD apt-get install -y php8.2 diff --git a/install/homeassistant-install.sh b/install/homeassistant-install.sh index dd61bb6b0..da052984a 100644 --- a/install/homeassistant-install.sh +++ b/install/homeassistant-install.sh @@ -38,7 +38,7 @@ msg_info "Installing Docker $DOCKER_LATEST_VERSION" DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p $(dirname $DOCKER_CONFIG_PATH) echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json -$STD sh <(curl -fsSLSL https://get.docker.com) +$STD sh <(curl -fsSL https://get.docker.com) msg_ok "Installed Docker $DOCKER_LATEST_VERSION" msg_info "Pulling Portainer $PORTAINER_LATEST_VERSION Image" diff --git a/install/kimai-install.sh b/install/kimai-install.sh index ae9ddcb46..b43415f88 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -25,7 +25,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Setup PHP8.4 Repository" -$STD curl -fsSLSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb +$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update diff --git a/install/koillection-install.sh b/install/koillection-install.sh index e4486327a..6ca2f0cc2 100644 --- a/install/koillection-install.sh +++ b/install/koillection-install.sh @@ -21,7 +21,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Setup PHP8.4 Repository" -$STD curl -fsSLSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb +$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update diff --git a/install/npmplus-install.sh b/install/npmplus-install.sh index 415588de3..3147d83de 100644 --- a/install/npmplus-install.sh +++ b/install/npmplus-install.sh @@ -31,7 +31,7 @@ get_latest_release() { DOCKER_COMPOSE_LATEST_VERSION=$(get_latest_release "docker/compose") DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins -curl -fsSLSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose +curl -fsSL https://github.com/docker/compose/releases/download/$DOCKER_COMPOSE_LATEST_VERSION/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose msg_ok "Installed Docker & Compose" diff --git a/install/pelican-panel-install.sh b/install/pelican-panel-install.sh index d89a0a0c7..8ec8136ed 100644 --- a/install/pelican-panel-install.sh +++ b/install/pelican-panel-install.sh @@ -23,7 +23,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Adding PHP8.3 Repository" -$STD curl -fsSLSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb +$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update diff --git a/install/pelican-wings-install.sh b/install/pelican-wings-install.sh index a3be87407..d29686339 100644 --- a/install/pelican-wings-install.sh +++ b/install/pelican-wings-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Docker" DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p $(dirname $DOCKER_CONFIG_PATH) echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json -$STD sh <(curl -fsSLSL https://get.docker.com) +$STD sh <(curl -fsSL https://get.docker.com) systemctl enable -q --now docker msg_ok "Installed Docker" diff --git a/install/postgresql-install.sh b/install/postgresql-install.sh index c02a18dc0..bfcabf5ec 100644 --- a/install/postgresql-install.sh +++ b/install/postgresql-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Setting up PostgreSQL Repository" VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" echo "deb http://apt.postgresql.org/pub/repos/apt ${VERSION}-pgdg main" >/etc/apt/sources.list.d/pgdg.list -curl -fsSLSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor --output /etc/apt/trusted.gpg.d/postgresql.gpg +curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor --output /etc/apt/trusted.gpg.d/postgresql.gpg msg_ok "Setup PostgreSQL Repository" msg_info "Installing PostgreSQL" diff --git a/install/pterodactyl-panel-install.sh b/install/pterodactyl-panel-install.sh index 7082be573..c6098b8cd 100644 --- a/install/pterodactyl-panel-install.sh +++ b/install/pterodactyl-panel-install.sh @@ -24,7 +24,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Adding PHP8.3 Repository" -$STD curl -fsSLSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb +$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update diff --git a/install/pterodactyl-wings-install.sh b/install/pterodactyl-wings-install.sh index a289caf98..935fb7ecd 100644 --- a/install/pterodactyl-wings-install.sh +++ b/install/pterodactyl-wings-install.sh @@ -17,7 +17,7 @@ msg_info "Installing Docker" DOCKER_CONFIG_PATH='/etc/docker/daemon.json' mkdir -p $(dirname $DOCKER_CONFIG_PATH) echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json -$STD sh <(curl -fsSLSL https://get.docker.com) +$STD sh <(curl -fsSL https://get.docker.com) systemctl enable -q --now docker msg_ok "Installed Docker" diff --git a/install/yunohost-install.sh b/install/yunohost-install.sh index 4e9ac189a..8c6de6d65 100644 --- a/install/yunohost-install.sh +++ b/install/yunohost-install.sh @@ -22,7 +22,7 @@ msg_ok "Installed Dependencies" msg_info "Installing YunoHost (Patience)" touch /etc/.pve-ignore.resolv.conf -curl -fsSLSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg +curl -fsSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg $STD bash <(curl -fsSL https://install.yunohost.org) -a msg_ok "Installed YunoHost" From 1096662d81f9f570e70e1e336d37d5e01a78b5a5 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 12:05:32 +0200 Subject: [PATCH 066/166] switch arr lxc's (lidarr,-prowlarr,-radarr,-readarr,-whisparr) to curl -fsSL (#3554) * switch * fix sonarr double escaped * fix 3 other double escaped --- ct/sonarr.sh | 4 ++-- ct/threadfin.sh | 4 ++-- install/lidarr-install.sh | 5 +++-- install/prowlarr-install.sh | 5 +++-- install/radarr-install.sh | 5 +++-- install/readarr-install.sh | 5 +++-- install/sonarr-install.sh | 2 +- install/threadfin-install.sh | 2 +- install/whisparr-install.sh | 5 +++-- 9 files changed, 21 insertions(+), 16 deletions(-) diff --git a/ct/sonarr.sh b/ct/sonarr.sh index 7e7260b80..8920221cb 100644 --- a/ct/sonarr.sh +++ b/ct/sonarr.sh @@ -29,7 +29,7 @@ function update_script() { fi msg_info "Updating $APP v4" systemctl stop sonarr.service -curl -fsSL "'https://services.sonarr.tv/v1/download/main/latest?version=4&os=linux&arch=x64'" -o "SonarrV4.tar.gz" + curl -fsSL "https://services.sonarr.tv/v1/download/main/latest?version=4&os=linux&arch=x64" -o "SonarrV4.tar.gz" tar -xzf SonarrV4.tar.gz rm -rf /opt/Sonarr mv Sonarr /opt @@ -46,4 +46,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}:8989${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8989${CL}" diff --git a/ct/threadfin.sh b/ct/threadfin.sh index 713a3196a..fcde4cc47 100644 --- a/ct/threadfin.sh +++ b/ct/threadfin.sh @@ -29,7 +29,7 @@ function update_script() { fi msg_info "Updating $APP" systemctl stop threadfin.service -curl -fsSL "'https://github.com/Threadfin/Threadfin/releases/latest/download/Threadfin_linux_amd64'" -o "/opt/threadfin/threadfin" + curl -fsSL "https://github.com/Threadfin/Threadfin/releases/latest/download/Threadfin_linux_amd64" -o "/opt/threadfin/threadfin" chmod +x /opt/threadfin/threadfin systemctl start threadfin.service msg_ok "Updated $APP" @@ -43,4 +43,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}:34400/web${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:34400/web${CL}" diff --git a/install/lidarr-install.sh b/install/lidarr-install.sh index 5d9b0a489..c15e4856b 100644 --- a/install/lidarr-install.sh +++ b/install/lidarr-install.sh @@ -22,8 +22,9 @@ msg_ok "Installed Dependencies" msg_info "Installing Lidarr" mkdir -p /var/lib/lidarr/ chmod 775 /var/lib/lidarr/ -$STD curl -fJL 'https://lidarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -$STD tar -xvzf Lidarr.master.*.tar.gz +cd /var/lib/lidarr/ +$STD curl -fsSL 'https://lidarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -o lidarr.tar.gz +$STD tar -xvzf lidarr.tar.gz mv Lidarr /opt chmod 775 /opt/Lidarr msg_ok "Installed Lidarr" diff --git a/install/prowlarr-install.sh b/install/prowlarr-install.sh index 8aee8cc3c..2e5162a36 100644 --- a/install/prowlarr-install.sh +++ b/install/prowlarr-install.sh @@ -20,8 +20,9 @@ msg_ok "Installed Dependencies" msg_info "Installing Prowlarr" mkdir -p /var/lib/prowlarr/ chmod 775 /var/lib/prowlarr/ -$STD curl -fJL 'https://prowlarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -$STD tar -xvzf Prowlarr.master.*.tar.gz +cd /var/lib/prowlarr/ +$STD curl -fsSL 'https://prowlarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -o prowlarr.tar.gz +$STD tar -xvzf prowlarr.tar.gz mv Prowlarr /opt chmod 775 /opt/Prowlarr msg_ok "Installed Prowlarr" diff --git a/install/radarr-install.sh b/install/radarr-install.sh index e9475fb4c..b01675eda 100644 --- a/install/radarr-install.sh +++ b/install/radarr-install.sh @@ -20,8 +20,9 @@ msg_ok "Installed Dependencies" msg_info "Installing Radarr" mkdir -p /var/lib/radarr/ chmod 775 /var/lib/radarr/ -$STD curl -fJL 'https://radarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -$STD tar -xvzf Radarr.master.*.tar.gz +cd /var/lib/radarr/ +$STD curl -fsSL 'https://radarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -o radarr.tar.gz +$STD tar -xvzf radarr.tar.gz mv Radarr /opt chmod 775 /opt/Radarr msg_ok "Installed Radarr" diff --git a/install/readarr-install.sh b/install/readarr-install.sh index 500eb663b..186d7d424 100644 --- a/install/readarr-install.sh +++ b/install/readarr-install.sh @@ -20,8 +20,9 @@ msg_ok "Installed Dependencies" msg_info "Installing Readarr" mkdir -p /var/lib/readarr/ chmod 775 /var/lib/readarr/ -$STD curl -fJL 'https://readarr.servarr.com/v1/update/develop/updatefile?os=linux&runtime=netcore&arch=x64' -$STD tar -xvzf Readarr.develop.*.tar.gz +cd /var/lib/readarr/ +$STD curl -fsSL 'https://readarr.servarr.com/v1/update/develop/updatefile?os=linux&runtime=netcore&arch=x64' -o readarr.tar.gz +$STD tar -xvzf readarr.tar.gz mv Readarr /opt chmod 775 /opt/Readarr msg_ok "Installed Readarr" diff --git a/install/sonarr-install.sh b/install/sonarr-install.sh index d0c6708f1..7b98483cd 100644 --- a/install/sonarr-install.sh +++ b/install/sonarr-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Sonarr v4" mkdir -p /var/lib/sonarr/ chmod 775 /var/lib/sonarr/ -curl -fsSL "'https://services.sonarr.tv/v1/download/main/latest?version=4&os=linux&arch=x64'" -o "SonarrV4.tar.gz" +curl -fsSL "https://services.sonarr.tv/v1/download/main/latest?version=4&os=linux&arch=x64" -o "SonarrV4.tar.gz" tar -xzf SonarrV4.tar.gz mv Sonarr /opt rm -rf SonarrV4.tar.gz diff --git a/install/threadfin-install.sh b/install/threadfin-install.sh index 7d333a106..5951993e7 100644 --- a/install/threadfin-install.sh +++ b/install/threadfin-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Threadfin" mkdir -p /opt/threadfin -curl -fsSL "'https://github.com/Threadfin/Threadfin/releases/latest/download/Threadfin_linux_amd64'" -o "/opt/threadfin/threadfin" +curl -fsSL "https://github.com/Threadfin/Threadfin/releases/latest/download/Threadfin_linux_amd64" -o "/opt/threadfin/threadfin" chmod +x /opt/threadfin/threadfin msg_ok "Installed Threadfin" diff --git a/install/whisparr-install.sh b/install/whisparr-install.sh index d6319491d..28ac14720 100644 --- a/install/whisparr-install.sh +++ b/install/whisparr-install.sh @@ -20,8 +20,9 @@ msg_ok "Installed Dependencies" msg_info "Installing Whisparr" mkdir -p /var/lib/whisparr/ chmod 775 /var/lib/whisparr/ -$STD curl -fJL 'https://whisparr.servarr.com/v1/update/nightly/updatefile?os=linux&runtime=netcore&arch=x64' -$STD tar -xvzf Whisparr.develop.*.tar.gz +cd /var/lib/whisparr/ +$STD curl -fsSL 'https://whisparr.servarr.com/v1/update/nightly/updatefile?os=linux&runtime=netcore&arch=x64' -o whisparr.tar.gz +$STD tar -xvzf whisparr.tar.gz mv Whisparr /opt chmod 775 /opt/Whisparr msg_ok "Installed Whisparr" From 92a08264abe748bac63ed02596507bf145efbcce 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, 1 Apr 2025 11:22:44 +0100 Subject: [PATCH 067/166] Update CHANGELOG.md (#3555) --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 581d9ef65..16b58bd92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-04-01 +### πŸš€ Updated Scripts + + - #### 🐞 Bug Fixes + + - switch arr lxc's (lidarr,-prowlarr,-radarr,-readarr,-whisparr) to curl -fsSL [@MickLesk](https://github.com/MickLesk) ([#3554](https://github.com/community-scripts/ProxmoxVE/pull/3554)) + ### 🧰 Maintenance - #### ✨ New Features From e0f71f8ed6f19976c8e2b08fc774d0bdf98ba99d Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 13:39:18 +0200 Subject: [PATCH 068/166] Fixes broken curls --- ct/authentik.sh | 4 ++-- ct/bookstack.sh | 4 ++-- install/apache-guacamole-install.sh | 4 ++-- install/authentik-install.sh | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ct/authentik.sh b/ct/authentik.sh index f714adc2a..4dcf99e7a 100644 --- a/ct/authentik.sh +++ b/ct/authentik.sh @@ -36,7 +36,7 @@ function update_script() { msg_info "Building ${APP} website" mkdir -p /opt/authentik -curl -fsSL "${RELEASE}" -o "authentik.tar.gz" + curl -fsSL "${RELEASE}" -o "authentik.tar.gz" tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite rm -rf authentik.tar.gz cd /opt/authentik/website @@ -84,4 +84,4 @@ description 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}:9000/if/flow/initial-setup/${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000/if/flow/initial-setup/${CL}" diff --git a/ct/bookstack.sh b/ct/bookstack.sh index 618b40d37..f7e27e951 100644 --- a/ct/bookstack.sh +++ b/ct/bookstack.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" mv /opt/bookstack /opt/bookstack-backup -curl -fsSL "--directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o $(basename "--directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip") + curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o "/opt/BookStack-${RELEASE}.zip" unzip -q /opt/v${RELEASE}.zip -d /opt mv /opt/BookStack-${RELEASE} /opt/bookstack cp /opt/bookstack-backup/.env /opt/bookstack/.env @@ -75,4 +75,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}${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/install/apache-guacamole-install.sh b/install/apache-guacamole-install.sh index 7d6566dd8..4b2248a14 100644 --- a/install/apache-guacamole-install.sh +++ b/install/apache-guacamole-install.sh @@ -63,10 +63,10 @@ $STD ldconfig RELEASE_CLIENT=$(curl -fsSLL https://api.github.com/repos/apache/guacamole-client/tags | jq -r '.[0].name') curl -fsSL "https://downloads.apache.org/guacamole/${RELEASE_CLIENT}/binary/guacamole-${RELEASE_CLIENT}.war" -o "/opt/apache-guacamole/tomcat9/webapps/guacamole.war" cd /root -curl -fsSL "--directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz" -o $(basename "--directory-prefix=/root/ https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz") +curl -fsSL "https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz" -o "/root/mysql-connector-java-8.0.26.tar.gz" $STD tar -xf ~/mysql-connector-java-8.0.26.tar.gz mv ~/mysql-connector-java-8.0.26/mysql-connector-java-8.0.26.jar /etc/guacamole/lib/ -curl -fsSL "--directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz" -o $(basename "--directory-prefix=/root/ https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz") +curl -fsSL "https://downloads.apache.org/guacamole/1.5.5/binary/guacamole-auth-jdbc-1.5.5.tar.gz" -o "/root/guacamole-auth-jdbc-1.5.5.tar.gz" $STD tar -xf ~/guacamole-auth-jdbc-1.5.5.tar.gz mv ~/guacamole-auth-jdbc-1.5.5/mysql/guacamole-auth-jdbc-mysql-1.5.5.jar /etc/guacamole/extensions/ msg_ok "Setup Apache Guacamole" diff --git a/install/authentik-install.sh b/install/authentik-install.sh index 983c4b767..81396903b 100644 --- a/install/authentik-install.sh +++ b/install/authentik-install.sh @@ -38,8 +38,8 @@ msg_ok "Installed Dependencies" msg_info "Installing yq" cd /tmp -YQ_LATEST="$(curl -fsSL "https://api.github.com/repos/mikefarah/yq/releases/latest" | grep -Po '"tag_name": \K.*?(?=")')" -curl -fsSL "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq" -o $(basename "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -qO /usr/bin/yq") +YQ_LATEST="$(curl -fsSL https://api.github.com/repos/mikefarah/yq/releases/latest | grep -Po '"tag_name": \K.*?(?=")')" +curl -fsSL "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -o /usr/bin/yq chmod +x /usr/bin/yq msg_ok "Installed yq" @@ -190,4 +190,4 @@ rm -rf authentik.tar.gz $STD apt-get -y remove yq $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" \ No newline at end of file +msg_ok "Cleaned" From 3d0806600d3e6a5208431e9dceeb1760462e3eee Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 13:57:00 +0200 Subject: [PATCH 069/166] fix cryptpad & komodo --- ct/cryptpad.sh | 10 +++++----- ct/komodo.sh | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ct/cryptpad.sh b/ct/cryptpad.sh index 47e2564f6..7b7173a15 100644 --- a/ct/cryptpad.sh +++ b/ct/cryptpad.sh @@ -37,10 +37,10 @@ function update_script() { msg_info "Updating $APP to ${RELEASE}" temp_dir=$(mktemp -d) cp -f /opt/cryptpad/config/config.js /opt/config.js -curl -fsSL "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir" -o $(basename "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -P $temp_dir") - cd $temp_dir - tar zxf $RELEASE.tar.gz - cp -rf cryptpad-$RELEASE/* /opt/cryptpad + curl -fsSL "https://github.com/cryptpad/cryptpad/archive/refs/tags/${RELEASE}.tar.gz" -o "$temp_dir/cryptpad-${RELEASE}.tar.gz" + cd "$temp_dir" + tar zxf "cryptpad-${RELEASE}.tar.gz" + cp -rf "cryptpad-${RELEASE}"/* /opt/cryptpad cd /opt/cryptpad $STD npm ci $STD npm run install:components @@ -71,4 +71,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/komodo.sh b/ct/komodo.sh index 1f5aecc84..2f6e8e3a1 100644 --- a/ct/komodo.sh +++ b/ct/komodo.sh @@ -48,11 +48,11 @@ function update_script() { } GITHUB_URL="https://raw.githubusercontent.com/mbecker20/komodo/main/compose/${COMPOSE_FILE}" -curl -fsSL "$GITHUB_URL" || {" -o ""/opt/komodo/${COMPOSE_FILE}"" + if ! curl -fsSL "$GITHUB_URL" -o "/opt/komodo/${COMPOSE_FILE}"; then msg_error "Failed to download ${COMPOSE_FILE} from GitHub!" mv "/opt/komodo/${BACKUP_FILE}" "/opt/komodo/${COMPOSE_FILE}" exit 1 - } + fi $STD docker compose -p komodo -f "/opt/komodo/$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d msg_ok "Updated ${APP}" @@ -65,4 +65,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}:9120${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9120${CL}" From e4def48a766025542e278af607bd66f20bd78289 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 14:21:21 +0200 Subject: [PATCH 070/166] Add .gitattributes to enforce LF --- .gitattributes | Bin 0 -> 42 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000000000000000000000000000000000..713f7330977dacbcf6fab1cd4a9fe8de2029cf45 GIT binary patch literal 42 rcmezWPm4i;p@boop#n(SG9)sT0_l99SSpar0gB`>q%rU^a4`S?;*to7 literal 0 HcmV?d00001 From b2a5c4902b0148e37341c788137cd39ca859c2e3 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 14:21:22 +0200 Subject: [PATCH 071/166] Normalize all files to LF line endings --- .vscode/extensions.json | 3 ++- .vscode/settings.json | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 1949e6fc5..cbdc210f0 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -2,7 +2,8 @@ "recommendations": [ "bmalehorn.shell-syntax", "timonwong.shellcheck", - "foxundermoon.shell-format" + "foxundermoon.shell-format", + "editorconfig.editorconfig" ], "unwantedRecommendations": [] } diff --git a/.vscode/settings.json b/.vscode/settings.json index be834d99a..72ae89602 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,11 @@ { "files.associations": { "*.func": "shellscript" + }, + "files.eol": "\n", + "files.insertFinalNewline": true, + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.fixAll": true } -} \ No newline at end of file +} From 73369fc6393d1e5904d3225f7a96b5a8a1c180e7 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, 1 Apr 2025 14:30:49 +0200 Subject: [PATCH 072/166] Update versions.json (#3560) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 110 ++++++++++++++--------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index fd5890247..234da79af 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,14 +1,59 @@ [ + { + "name": "fhem/fhem-mirror", + "version": "6.2", + "date": "2025-04-01T10:35:00Z" + }, + { + "name": "OctoPrint/OctoPrint", + "version": "1.10.3", + "date": "2024-11-05T09:20:50Z" + }, + { + "name": "semaphoreui/semaphore", + "version": "v2.13.7", + "date": "2025-04-01T09:41:55Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.4.0b3-rc1", + "date": "2025-04-01T09:22:44Z" + }, + { + "name": "syncthing/syncthing", + "version": "v1.29.4", + "date": "2025-04-01T08:45:07Z" + }, + { + "name": "wazuh/wazuh", + "version": "v4.11.2", + "date": "2025-04-01T07:07:35Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1714", + "date": "2025-04-01T05:50:38Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.10", + "date": "2025-03-22T13:02:26Z" + }, + { + "name": "diced/zipline", + "version": "v4.0.2", + "date": "2025-04-01T04:51:05Z" + }, + { + "name": "open-webui/open-webui", + "version": "v0.6.0", + "date": "2025-04-01T01:47:32Z" + }, { "name": "outline/outline", "version": "v0.82.1-18", "date": "2025-03-31T23:12:40Z" }, - { - "name": "semaphoreui/semaphore", - "version": "v2.13.6", - "date": "2025-03-31T22:43:48Z" - }, { "name": "esphome/esphome", "version": "2025.3.3", @@ -24,11 +69,6 @@ "version": "v1.131.1", "date": "2025-03-31T20:53:57Z" }, - { - "name": "fhem/fhem-mirror", - "version": "6.2", - "date": "2025-03-31T20:30:25Z" - }, { "name": "home-assistant/core", "version": "2025.3.4", @@ -41,19 +81,14 @@ }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-03-31T19:17:28Z" + "version": "v3.10.0", + "date": "2025-03-15T14:38:16Z" }, { "name": "redis/redis", "version": "8.0-rc1-int", "date": "2025-03-31T18:26:40Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.3.0p30-rc2", - "date": "2025-03-31T15:30:40Z" - }, { "name": "traefik/traefik", "version": "v3.3.5", @@ -95,14 +130,9 @@ "date": "2025-03-31T08:41:27Z" }, { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.10", - "date": "2025-03-22T13:02:26Z" - }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1712", - "date": "2025-03-31T05:57:14Z" + "name": "keycloak/keycloak", + "version": "26.1.4", + "date": "2025-03-13T15:41:42Z" }, { "name": "MediaBrowser/Emby.Releases", @@ -184,21 +214,11 @@ "version": "v0.45.0", "date": "2025-03-29T23:12:22Z" }, - { - "name": "keycloak/keycloak", - "version": "26.1.4", - "date": "2025-03-13T15:41:42Z" - }, { "name": "glanceapp/glance", "version": "v0.7.9", "date": "2025-03-29T18:08:11Z" }, - { - "name": "syncthing/syncthing", - "version": "v2.0.0-beta.1", - "date": "2025-03-29T12:53:28Z" - }, { "name": "tobychui/zoraxy", "version": "v3.1.9", @@ -344,11 +364,6 @@ "version": "v1.127.1", "date": "2025-03-26T21:44:28Z" }, - { - "name": "wazuh/wazuh", - "version": "coverity-w13-4.12.0", - "date": "2025-03-26T21:11:43Z" - }, { "name": "duplicati/duplicati", "version": "v2.1.0.112-2.1.0.112_canary_2025-03-26", @@ -549,11 +564,6 @@ "version": "v0.22.1", "date": "2025-03-18T21:01:22Z" }, - { - "name": "OctoPrint/OctoPrint", - "version": "1.10.3", - "date": "2024-11-05T09:20:50Z" - }, { "name": "apache/couchdb", "version": "3.4.3.post1", @@ -664,11 +674,6 @@ "version": "2.31.0", "date": "2025-03-13T17:13:47Z" }, - { - "name": "diced/zipline", - "version": "v4.0.1", - "date": "2025-03-12T22:41:17Z" - }, { "name": "minio/minio", "version": "RELEASE.2025-03-12T18-04-18Z", @@ -754,11 +759,6 @@ "version": "21.0.0", "date": "2025-03-06T16:20:45Z" }, - { - "name": "open-webui/open-webui", - "version": "v0.5.20", - "date": "2025-03-06T03:44:57Z" - }, { "name": "matze/wastebin", "version": "3.0.0", From c4f2bd000789ed0a2b7641f8036f8d2557a992da Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 14:33:26 +0200 Subject: [PATCH 073/166] fix fsSLL to fsSL --- ct/commafeed.sh | 8 ++++---- ct/cronicle.sh | 4 ++-- ct/dashy.sh | 6 +++--- ct/emby.sh | 2 +- ct/ombi.sh | 2 +- ct/openobserve.sh | 4 ++-- ct/peanut.sh | 6 +++--- ct/uptimekuma.sh | 4 ++-- install/alpine-docker-install.sh | 2 +- install/apache-guacamole-install.sh | 4 ++-- install/beszel-install.sh | 2 +- install/commafeed-install.sh | 2 +- install/cosmos-install.sh | 2 +- install/cronicle-install.sh | 2 +- install/docker-install.sh | 2 +- install/dockge-install.sh | 2 +- install/emby-install.sh | 2 +- install/gokapi-install.sh | 2 +- install/homeassistant-install.sh | 2 +- install/mattermost-install.sh | 4 ++-- install/npmplus-install.sh | 2 +- install/ombi-install.sh | 2 +- install/openobserve-install.sh | 2 +- install/peanut-install.sh | 2 +- install/pialert-install.sh | 2 +- install/podman-homeassistant-install.sh | 2 +- install/podman-install.sh | 2 +- install/syncthing-install.sh | 2 +- misc/webmin.sh | 2 +- 29 files changed, 41 insertions(+), 41 deletions(-) diff --git a/ct/commafeed.sh b/ct/commafeed.sh index 7ac99e0a4..88fd9ba98 100644 --- a/ct/commafeed.sh +++ b/ct/commafeed.sh @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSLL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + RELEASE=$(curl -fsSL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping ${APP}" systemctl stop commafeed @@ -35,9 +35,9 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") - unzip -q commafeed-${RELEASE}-h2-jvm.zip - rsync -a --exclude 'data/' commafeed-${RELEASE}-h2/ /opt/commafeed/ - rm -rf commafeed-${RELEASE}-h2 commafeed-${RELEASE}-h2-jvm.zip + unzip -q commafeed-"${RELEASE}"-h2-jvm.zip + rsync -a --exclude 'data/' commafeed-"${RELEASE}"-h2/ /opt/commafeed/ + rm -rf commafeed-"${RELEASE}"-h2 commafeed-"${RELEASE}"-h2-jvm.zip echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated ${APP} to ${RELEASE}" diff --git a/ct/cronicle.sh b/ct/cronicle.sh index c88515dfc..8499b7ede 100644 --- a/ct/cronicle.sh +++ b/ct/cronicle.sh @@ -53,7 +53,7 @@ function update_script() { echo "Installed NPM..." fi fi - LATEST=$(curl -fsSLL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) IP=$(hostname -I | awk '{print $1}') msg_info "Installing Dependencies" @@ -100,4 +100,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}:3012${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3012${CL}" diff --git a/ct/dashy.sh b/ct/dashy.sh index 24da251a7..9b1bae537 100644 --- a/ct/dashy.sh +++ b/ct/dashy.sh @@ -28,7 +28,7 @@ function update_script() { exit fi - RELEASE=$(curl -fsSLL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + RELEASE=$(curl -fsSL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4) if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping ${APP}" systemctl stop dashy @@ -46,7 +46,7 @@ function update_script() { msg_info "Updating ${APP} to ${RELEASE}" rm -rf /opt/dashy mkdir -p /opt/dashy -curl -fsSL "https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz" | tar -xz -C /opt/dashy --strip-components=1 + curl -fsSL "https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz" | tar -xz -C /opt/dashy --strip-components=1 cd /opt/dashy npm install npm run build @@ -79,4 +79,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}:4000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}" diff --git a/ct/emby.sh b/ct/emby.sh index 33474fe6f..e9c61d288 100644 --- a/ct/emby.sh +++ b/ct/emby.sh @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - LATEST=$(curl -fsSLL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + LATEST=$(curl -fsSL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Stopping ${APP}" systemctl stop emby-server msg_ok "Stopped ${APP}" diff --git a/ct/ombi.sh b/ct/ombi.sh index 359f5fe8c..210e06aa0 100644 --- a/ct/ombi.sh +++ b/ct/ombi.sh @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSLL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + RELEASE=$(curl -fsSL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping ${APP}" systemctl stop ombi diff --git a/ct/openobserve.sh b/ct/openobserve.sh index d702c194b..4b8739d24 100644 --- a/ct/openobserve.sh +++ b/ct/openobserve.sh @@ -29,7 +29,7 @@ function update_script() { fi msg_info "Updating $APP" systemctl stop openobserve - LATEST=$(curl -fsSLL https://api.github.com/repos/openobserve/openobserve/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + LATEST=$(curl -fsSL https://api.github.com/repos/openobserve/openobserve/releases/latest | grep '"tag_name":' | cut -d'"' -f4) tar zxvf <(curl -fsSL https://github.com/openobserve/openobserve/releases/download/$LATEST/openobserve-${LATEST}-linux-amd64.tar.gz) -C /opt/openobserve systemctl start openobserve msg_ok "Updated $APP" @@ -43,4 +43,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}:5080${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5080${CL}" diff --git a/ct/peanut.sh b/ct/peanut.sh index 755a466d1..567c1d08e 100644 --- a/ct/peanut.sh +++ b/ct/peanut.sh @@ -27,11 +27,11 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSLL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + RELEASE=$(curl -fsSL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4) if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Updating $APP to ${RELEASE}" systemctl stop peanut -curl -fsSL "https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE}" -o "peanut.tar.gz" + curl -fsSL "https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE}" -o "peanut.tar.gz" tar -xzf peanut.tar.gz -C /opt/peanut --strip-components 1 rm peanut.tar.gz cd /opt/peanut @@ -56,4 +56,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}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/ct/uptimekuma.sh b/ct/uptimekuma.sh index 903a8d2cc..93d556949 100644 --- a/ct/uptimekuma.sh +++ b/ct/uptimekuma.sh @@ -34,7 +34,7 @@ function update_script() { echo "Installed NPM..." fi fi - LATEST=$(curl -fsSLL https://api.github.com/repos/louislam/uptime-kuma/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + LATEST=$(curl -fsSL https://api.github.com/repos/louislam/uptime-kuma/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Stopping ${APP}" $STD sudo systemctl stop uptime-kuma msg_ok "Stopped ${APP}" @@ -65,4 +65,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}:3001${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3001${CL}" diff --git a/install/alpine-docker-install.sh b/install/alpine-docker-install.sh index 395816196..97dbfb753 100644 --- a/install/alpine-docker-install.sh +++ b/install/alpine-docker-install.sh @@ -29,7 +29,7 @@ $STD rc-update add docker default msg_ok "Installed Docker" get_latest_release() { - curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } PORTAINER_LATEST_VERSION=$(get_latest_release "portainer/portainer") DOCKER_COMPOSE_LATEST_VERSION=$(get_latest_release "docker/compose") diff --git a/install/apache-guacamole-install.sh b/install/apache-guacamole-install.sh index 4b2248a14..082d649b7 100644 --- a/install/apache-guacamole-install.sh +++ b/install/apache-guacamole-install.sh @@ -52,7 +52,7 @@ msg_ok "Setup Apache Tomcat" msg_info "Setup Apache Guacamole" mkdir -p /etc/guacamole/{extensions,lib} -RELEASE_SERVER=$(curl -fsSLL https://api.github.com/repos/apache/guacamole-server/tags | jq -r '.[0].name') +RELEASE_SERVER=$(curl -fsSL https://api.github.com/repos/apache/guacamole-server/tags | jq -r '.[0].name') curl -fsSL "https://api.github.com/repos/apache/guacamole-server/tarball/refs/tags/${RELEASE_SERVER}" | tar -xz --strip-components=1 -C /opt/apache-guacamole/server cd /opt/apache-guacamole/server $STD autoreconf -fi @@ -60,7 +60,7 @@ $STD ./configure --with-init-dir=/etc/init.d --enable-allow-freerdp-snapshots $STD make $STD make install $STD ldconfig -RELEASE_CLIENT=$(curl -fsSLL https://api.github.com/repos/apache/guacamole-client/tags | jq -r '.[0].name') +RELEASE_CLIENT=$(curl -fsSL https://api.github.com/repos/apache/guacamole-client/tags | jq -r '.[0].name') curl -fsSL "https://downloads.apache.org/guacamole/${RELEASE_CLIENT}/binary/guacamole-${RELEASE_CLIENT}.war" -o "/opt/apache-guacamole/tomcat9/webapps/guacamole.war" cd /root curl -fsSL "https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.26.tar.gz" -o "/root/mysql-connector-java-8.0.26.tar.gz" diff --git a/install/beszel-install.sh b/install/beszel-install.sh index e7eaecd2a..58eac8219 100644 --- a/install/beszel-install.sh +++ b/install/beszel-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing Beszel" mkdir -p /opt/beszel -curl -fsSLL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/armv6l/arm/' -e 's/armv7l/arm/' -e 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel | tee /opt/beszel/beszel >/dev/null +curl -fsSL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/armv6l/arm/' -e 's/armv7l/arm/' -e 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel | tee /opt/beszel/beszel >/dev/null chmod +x /opt/beszel/beszel msg_ok "Installed Beszel" diff --git a/install/commafeed-install.sh b/install/commafeed-install.sh index 5e9a58dd3..9bf4ee676 100644 --- a/install/commafeed-install.sh +++ b/install/commafeed-install.sh @@ -25,7 +25,7 @@ $STD apt-get update $STD apt-get -y install zulu17-jdk msg_ok "Installed Azul Zulu" -RELEASE=$(curl -fsSLL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +RELEASE=$(curl -fsSL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Installing CommaFeed ${RELEASE}" mkdir /opt/commafeed curl -fsSL "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip" -o $(basename "https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip") diff --git a/install/cosmos-install.sh b/install/cosmos-install.sh index 2e0caf1fe..ae5093dbb 100644 --- a/install/cosmos-install.sh +++ b/install/cosmos-install.sh @@ -37,7 +37,7 @@ msg_info "Install Cosmos" mkdir -p /opt/cosmos LATEST_RELEASE=$(curl -fsSL https://api.github.com/repos/azukaar/Cosmos-Server/releases/latest | grep "tag_name" | cut -d '"' -f 4) ZIP_FILE="cosmos-cloud-${LATEST_RELEASE#v}-amd64.zip" -curl -fsSLL "https://github.com/azukaar/Cosmos-Server/releases/download/${LATEST_RELEASE}/${ZIP_FILE}" -o "/opt/cosmos/${ZIP_FILE}" +curl -fsSL "https://github.com/azukaar/Cosmos-Server/releases/download/${LATEST_RELEASE}/${ZIP_FILE}" -o "/opt/cosmos/${ZIP_FILE}" cd /opt/cosmos unzip -o -q "${ZIP_FILE}" LATEST_RELEASE_NO_V=${LATEST_RELEASE#v} diff --git a/install/cronicle-install.sh b/install/cronicle-install.sh index 958b3b27e..ac5c0ab61 100644 --- a/install/cronicle-install.sh +++ b/install/cronicle-install.sh @@ -29,7 +29,7 @@ $STD apt-get install -y nodejs msg_ok "Installed Node.js" msg_info "Installing Cronicle Primary Server" -LATEST=$(curl -fsSLL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) IP=$(hostname -I | awk '{print $1}') mkdir -p /opt/cronicle cd /opt/cronicle diff --git a/install/docker-install.sh b/install/docker-install.sh index c9503c8d4..293bde0c6 100644 --- a/install/docker-install.sh +++ b/install/docker-install.sh @@ -14,7 +14,7 @@ network_check update_os get_latest_release() { - curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } DOCKER_LATEST_VERSION=$(get_latest_release "moby/moby") diff --git a/install/dockge-install.sh b/install/dockge-install.sh index d82bf28b8..c8ca6fd00 100644 --- a/install/dockge-install.sh +++ b/install/dockge-install.sh @@ -14,7 +14,7 @@ network_check update_os get_latest_release() { - curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } DOCKER_LATEST_VERSION=$(get_latest_release "moby/moby") diff --git a/install/emby-install.sh b/install/emby-install.sh index bbe5fac47..0df3edf7c 100644 --- a/install/emby-install.sh +++ b/install/emby-install.sh @@ -24,7 +24,7 @@ if [[ "$CTTYPE" == "0" ]]; then fi msg_ok "Set Up Hardware Acceleration" -LATEST=$(curl -fsSLL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +LATEST=$(curl -fsSL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Installing Emby" curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -o $(basename "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb") diff --git a/install/gokapi-install.sh b/install/gokapi-install.sh index a00851ef1..49ffd73e2 100644 --- a/install/gokapi-install.sh +++ b/install/gokapi-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Gokapi" -LATEST=$(curl -fsSLL https://api.github.com/repos/Forceu/Gokapi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +LATEST=$(curl -fsSL https://api.github.com/repos/Forceu/Gokapi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) mkdir -p /opt/gokapi/{data,config} curl -fsSL "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip" -o $(basename "https://github.com/Forceu/Gokapi/releases/download/$LATEST/gokapi-linux_amd64.zip") unzip -q gokapi-linux_amd64.zip -d /opt/gokapi diff --git a/install/homeassistant-install.sh b/install/homeassistant-install.sh index da052984a..e041e72fc 100644 --- a/install/homeassistant-install.sh +++ b/install/homeassistant-install.sh @@ -27,7 +27,7 @@ $STD pip install runlike msg_ok "Installed runlike" get_latest_release() { - curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } DOCKER_LATEST_VERSION=$(get_latest_release "moby/moby") diff --git a/install/mattermost-install.sh b/install/mattermost-install.sh index 0a364654b..671aea640 100644 --- a/install/mattermost-install.sh +++ b/install/mattermost-install.sh @@ -38,8 +38,8 @@ msg_ok "Set up PostgreSQL" msg_info "Installing Mattermost" IPADDRESS=$(hostname -I | awk '{print $1}') -curl -fsSLL -o /usr/share/keyrings/mattermost-archive-keyring.gpg https://deb.packages.mattermost.com/pubkey.gpg -sh -c 'curl -fsSLL https://deb.packages.mattermost.com/repo-setup.sh | sudo bash -s mattermost' >/dev/null +curl -fsSL -o /usr/share/keyrings/mattermost-archive-keyring.gpg https://deb.packages.mattermost.com/pubkey.gpg +sh -c 'curl -fsSL https://deb.packages.mattermost.com/repo-setup.sh | sudo bash -s mattermost' >/dev/null $STD apt-get update $STD apt-get install -y mattermost $STD install -C -m 600 -o mattermost -g mattermost /opt/mattermost/config/config.defaults.json /opt/mattermost/config/config.json diff --git a/install/npmplus-install.sh b/install/npmplus-install.sh index 3147d83de..d283895c6 100644 --- a/install/npmplus-install.sh +++ b/install/npmplus-install.sh @@ -26,7 +26,7 @@ $STD rc-service docker start $STD rc-update add docker default get_latest_release() { - curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } DOCKER_COMPOSE_LATEST_VERSION=$(get_latest_release "docker/compose") DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} diff --git a/install/ombi-install.sh b/install/ombi-install.sh index 620e73440..995b3b09b 100644 --- a/install/ombi-install.sh +++ b/install/ombi-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Ombi" -RELEASE=$(curl -fsSLL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +RELEASE=$(curl -fsSL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -o $(basename "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") echo "${RELEASE}" >/opt/${APPLICATION}_version.txt mkdir -p /opt/ombi diff --git a/install/openobserve-install.sh b/install/openobserve-install.sh index 838afb14a..fb7dd0f41 100644 --- a/install/openobserve-install.sh +++ b/install/openobserve-install.sh @@ -15,7 +15,7 @@ update_os msg_info "Installing OpenObserve" mkdir -p /opt/openobserve/data -LATEST=$(curl -fsSLL https://api.github.com/repos/openobserve/openobserve/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +LATEST=$(curl -fsSL https://api.github.com/repos/openobserve/openobserve/releases/latest | grep '"tag_name":' | cut -d'"' -f4) $STD tar zxvf <(curl -fsSL https://github.com/openobserve/openobserve/releases/download/$LATEST/openobserve-${LATEST}-linux-amd64.tar.gz) -C /opt/openobserve cat </opt/openobserve/data/.env diff --git a/install/peanut-install.sh b/install/peanut-install.sh index 9601b1196..f1fb4a8d9 100644 --- a/install/peanut-install.sh +++ b/install/peanut-install.sh @@ -31,7 +31,7 @@ $STD apt-get install -y nut-client msg_ok "Installed NUT" msg_info "Installing Peanut" -RELEASE=$(curl -fsSLL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +RELEASE=$(curl -fsSL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4) curl -fsSL "https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE}" -o "peanut.tar.gz" mkdir -p /opt/peanut tar -xzf peanut.tar.gz -C /opt/peanut --strip-components 1 diff --git a/install/pialert-install.sh b/install/pialert-install.sh index d4ebcce84..3bd6c555a 100644 --- a/install/pialert-install.sh +++ b/install/pialert-install.sh @@ -56,7 +56,7 @@ $STD pip3 install pyunifi msg_ok "Installed Python Dependencies" msg_info "Installing Pi.Alert" -curl -fsSLL https://github.com/leiweibau/Pi.Alert/raw/main/tar/pialert_latest.tar | tar xvf - -C /opt >/dev/null 2>&1 +curl -fsSL https://github.com/leiweibau/Pi.Alert/raw/main/tar/pialert_latest.tar | tar xvf - -C /opt >/dev/null 2>&1 rm -rf /var/lib/ieee-data /var/www/html/index.html sed -i -e 's#^sudo cp -n /usr/share/ieee-data/.* /var/lib/ieee-data/#\# &#' -e '/^sudo mkdir -p 2_backup$/s/^/# /' -e '/^sudo cp \*.txt 2_backup$/s/^/# /' -e '/^sudo cp \*.csv 2_backup$/s/^/# /' /opt/pialert/back/update_vendors.sh mv /var/www/html/index.lighttpd.html /var/www/html/index.lighttpd.html.old diff --git a/install/podman-homeassistant-install.sh b/install/podman-homeassistant-install.sh index 75a0eabe1..82affeac6 100644 --- a/install/podman-homeassistant-install.sh +++ b/install/podman-homeassistant-install.sh @@ -14,7 +14,7 @@ network_check update_os get_latest_release() { - curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } PORTAINER_LATEST_VERSION=$(get_latest_release "portainer/portainer") diff --git a/install/podman-install.sh b/install/podman-install.sh index b3c89d1c0..c91835fa4 100644 --- a/install/podman-install.sh +++ b/install/podman-install.sh @@ -14,7 +14,7 @@ network_check update_os get_latest_release() { - curl -fsSLL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 + curl -fsSL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 } PORTAINER_LATEST_VERSION=$(get_latest_release "portainer/portainer") diff --git a/install/syncthing-install.sh b/install/syncthing-install.sh index b55a6e6d3..ebdbba502 100644 --- a/install/syncthing-install.sh +++ b/install/syncthing-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y gnupg msg_ok "Installed Dependencies" msg_info "Installing Syncthing" -curl -fsSLL -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg +curl -fsSL -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg sh -c 'echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" > /etc/apt/sources.list.d/syncthing.list' $STD apt-get update $STD apt-get install -y syncthing diff --git a/misc/webmin.sh b/misc/webmin.sh index b313144bb..2502699ef 100644 --- a/misc/webmin.sh +++ b/misc/webmin.sh @@ -45,7 +45,7 @@ apt update &>/dev/null apt-get -y install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl unzip shared-mime-info &>/dev/null msg_ok "Installed Prerequisites" -LATEST=$(curl -fsSLL https://api.github.com/repos/webmin/webmin/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +LATEST=$(curl -fsSL https://api.github.com/repos/webmin/webmin/releases/latest | grep '"tag_name":' | cut -d'"' -f4) msg_info "Downloading Webmin" curl -fsSL "https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb" -o $(basename "https://github.com/webmin/webmin/releases/download/$LATEST/webmin_${LATEST}_all.deb") From ced939e68438faa4edbef1ca91bad86e4d641f9e Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> Date: Tue, 1 Apr 2025 13:34:31 +0100 Subject: [PATCH 074/166] Update checkmk.sh (#3559) --- ct/checkmk.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ct/checkmk.sh b/ct/checkmk.sh index 36f9c9215..c55c4e03d 100644 --- a/ct/checkmk.sh +++ b/ct/checkmk.sh @@ -9,7 +9,7 @@ APP="checkmk" var_tags="monitoring" var_cpu="2" var_ram="2048" -var_disk="4" +var_disk="6" var_os="debian" var_version="12" var_unprivileged="1" @@ -54,4 +54,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}/monitoring${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/monitoring${CL}" From 3b983bed30504c71328aba032b6c05ff69eae59a Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 14:45:13 +0200 Subject: [PATCH 075/166] fixes npm --- .vscode/settings.json | 2 +- install/nginxproxymanager-install.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 72ae89602..cfc399377 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,6 +6,6 @@ "files.insertFinalNewline": true, "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.fixAll": true + "source.fixAll": "explicit" } } diff --git a/install/nginxproxymanager-install.sh b/install/nginxproxymanager-install.sh index af3414b49..a869f7f88 100644 --- a/install/nginxproxymanager-install.sh +++ b/install/nginxproxymanager-install.sh @@ -68,12 +68,12 @@ RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy- read -r -p "Would you like to install an older version (v2.10.4)? " prompt if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then msg_info "Downloading Nginx Proxy Manager v2.10.4" - curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v2.10.4" -o "- | tar -xz" + curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v2.10.4" | tar -xz cd ./nginx-proxy-manager-2.10.4 msg_ok "Downloaded Nginx Proxy Manager v2.10.4" else msg_info "Downloading Nginx Proxy Manager v${RELEASE}" - curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE}" -o "- | tar -xz" + curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE}" | tar -xz cd ./nginx-proxy-manager-${RELEASE} msg_ok "Downloaded Nginx Proxy Manager v${RELEASE}" fi From 13c82fe12ba37288348e2906d6689efd6fe9dba5 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 14:46:15 +0200 Subject: [PATCH 076/166] fix npm --- ct/nginxproxymanager.sh | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/ct/nginxproxymanager.sh b/ct/nginxproxymanager.sh index a15804823..e6d139142 100644 --- a/ct/nginxproxymanager.sh +++ b/ct/nginxproxymanager.sh @@ -47,12 +47,12 @@ function update_script() { /etc/nginx \ /var/log/nginx \ /var/lib/nginx \ - $STD /var/cache/nginx + "$STD" /var/cache/nginx msg_ok "Cleaned Old Files" msg_info "Downloading NPM v${RELEASE}" -curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE}" -o "- | tar -xz" - cd nginx-proxy-manager-${RELEASE} + curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE}" | tar -xz + cd nginx-proxy-manager-"${RELEASE}" || exit msg_ok "Downloaded NPM v${RELEASE}" msg_info "Setting up Enviroment" @@ -62,8 +62,6 @@ curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/ta 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|"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 @@ -105,7 +103,7 @@ curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/ta msg_ok "Setup Enviroment" msg_info "Building Frontend" - cd ./frontend + cd ./frontend || exit $STD pnpm install $STD pnpm upgrade $STD pnpm run build @@ -130,7 +128,7 @@ curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/ta } EOF fi - cd /app + cd /app || exit $STD pnpm install msg_ok "Initialized Backend" @@ -157,4 +155,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}:81${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:81${CL}" From 32dd2a2ca3144677df944c6841718df05b5b8be0 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, 1 Apr 2025 13:59:55 +0100 Subject: [PATCH 077/166] Update CHANGELOG.md (#3562) --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16b58bd92..3a5687c4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - CheckMK: Increase Disk size [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#3559](https://github.com/community-scripts/ProxmoxVE/pull/3559)) - switch arr lxc's (lidarr,-prowlarr,-radarr,-readarr,-whisparr) to curl -fsSL [@MickLesk](https://github.com/MickLesk) ([#3554](https://github.com/community-scripts/ProxmoxVE/pull/3554)) ### 🧰 Maintenance From 4d78d15065dce1b7294de245a02bf36f2c3d787e Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 15:11:10 +0200 Subject: [PATCH 078/166] fixed typo --- install/fhem-install.sh | 2 +- install/homebridge-install.sh | 2 +- install/paymenter-install.sh | 2 +- install/sftpgo-install.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/install/fhem-install.sh b/install/fhem-install.sh index 5f86d8fa0..6e1f321b9 100644 --- a/install/fhem-install.sh +++ b/install/fhem-install.sh @@ -19,7 +19,7 @@ $STD apt-get install -y gnupg2 msg_ok "Installed Dependencies" msg_info "Setting up Fhem Repository" -curl -fsSLSf https://debian.fhem.de/archive.key | gpg --dearmor >/etc/apt/trusted.gpg.d/debianfhemde-archive-keyring.gpg +curl -fsSL https://debian.fhem.de/archive.key | gpg --dearmor >/etc/apt/trusted.gpg.d/debianfhemde-archive-keyring.gpg echo 'deb [signed-by=/etc/apt/trusted.gpg.d/debianfhemde-archive-keyring.gpg] https://debian.fhem.de/nightly/ /' >/etc/apt/sources.list.d/fhem.list msg_ok "Set up Fhem Repository" diff --git a/install/homebridge-install.sh b/install/homebridge-install.sh index a99ace193..59751689e 100644 --- a/install/homebridge-install.sh +++ b/install/homebridge-install.sh @@ -19,7 +19,7 @@ $STD apt-get install -y gnupg2 msg_ok "Installed Dependencies" msg_info "Setting up Homebridge Repository" -curl -fsSLSf https://repo.homebridge.io/KEY.gpg | gpg --dearmor >/etc/apt/trusted.gpg.d/homebridge.gpg +curl -fsSL https://repo.homebridge.io/KEY.gpg | gpg --dearmor >/etc/apt/trusted.gpg.d/homebridge.gpg echo 'deb [signed-by=/etc/apt/trusted.gpg.d/homebridge.gpg] https://repo.homebridge.io stable main' >/etc/apt/sources.list.d/homebridge.list msg_ok "Set up Homebridge Repository" diff --git a/install/paymenter-install.sh b/install/paymenter-install.sh index 461f620d1..d0f090b82 100644 --- a/install/paymenter-install.sh +++ b/install/paymenter-install.sh @@ -25,7 +25,7 @@ $STD apt-get install -y \ mariadb-server \ nginx \ redis-server -$STD curl -fsSLS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer +$STD curl -fsSL https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer msg_ok "Installed Dependencies" msg_info "Installing Paymenter" diff --git a/install/sftpgo-install.sh b/install/sftpgo-install.sh index c21fc11d9..98b70b276 100644 --- a/install/sftpgo-install.sh +++ b/install/sftpgo-install.sh @@ -30,7 +30,7 @@ set -o pipefail msg_ok "Installed Golang" msg_info "Installing SFTPGo" -curl -fsSLS https://ftp.osuosl.org/pub/sftpgo/apt/gpg.key | gpg --dearmor -o /usr/share/keyrings/sftpgo-archive-keyring.gpg +curl -fsSL https://ftp.osuosl.org/pub/sftpgo/apt/gpg.key | gpg --dearmor -o /usr/share/keyrings/sftpgo-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/sftpgo-archive-keyring.gpg] https://ftp.osuosl.org/pub/sftpgo/apt bookworm main" >/etc/apt/sources.list.d/sftpgo.list $STD apt-get update $STD apt-get install -y sftpgo From 1e4544e079a7b9c94d880b8a1d79d0e275dbbbe9 Mon Sep 17 00:00:00 2001 From: Federico Cerutti Date: Tue, 1 Apr 2025 15:17:19 +0200 Subject: [PATCH 079/166] Authentik - Fix YQ_LATEST regex (#3565) * Fix YQ_LATEST regex * remove f --------- Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> --- install/authentik-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/authentik-install.sh b/install/authentik-install.sh index 81396903b..b3b8c13a5 100644 --- a/install/authentik-install.sh +++ b/install/authentik-install.sh @@ -38,7 +38,7 @@ msg_ok "Installed Dependencies" msg_info "Installing yq" cd /tmp -YQ_LATEST="$(curl -fsSL https://api.github.com/repos/mikefarah/yq/releases/latest | grep -Po '"tag_name": \K.*?(?=")')" +YQ_LATEST="$(curl -fsSL https://api.github.com/repos/mikefarah/yq/releases/latest | grep -Po '"tag_name": "\K.*?(?=")')" curl -fsSL "https://github.com/mikefarah/yq/releases/download/${YQ_LATEST}/yq_linux_amd64" -o /usr/bin/yq chmod +x /usr/bin/yq msg_ok "Installed yq" From 4f6942b601db53bbbca83a8b6381d16ed6cd2a36 Mon Sep 17 00:00:00 2001 From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com> Date: Tue, 1 Apr 2025 15:38:57 +0200 Subject: [PATCH 080/166] Refactor ScriptItem and Buttons components to enhance layout and integrate dropdown for links. Update InterFaces component for improved styling and structure. (#3567) * Refactor ScriptItem and Buttons components to enhance layout and integrate dropdown for links. Update InterFaces component for improved styling and structure. * Add React Query integration and enhance component structure - Introduced `@tanstack/react-query` for data fetching and state management. - Added `QueryProvider` component to wrap the application with QueryClient. - Refactored `ScriptItem` to utilize `useVersions` hook for fetching versions. - Created `ResourceDisplay` and `VersionBadge` components for better resource representation. - Improved layout and styling across various components, including `Alerts`, `Buttons`, and `DefaultPassword`. - Updated `layout.tsx` to include the new `QueryProvider` for global state management. * Remove bun.lock file to streamline dependency management and prevent potential conflicts. * Update dependencies in package.json and package-lock.json - Removed `@vercel/analytics` from dependencies. - Upgraded `vitest` and related packages to version `3.1.1`. - Updated various packages to their latest versions for improved performance and compatibility. - Adjusted Node.js engine requirements to support newer versions. * Update dependencies in package.json and package-lock.json - Upgraded various Radix UI components to their latest versions for improved functionality and performance. - Updated `chart.js`, `class-variance-authority`, `cmdk`, `framer-motion`, `fuse.js`, `nuqs`, `pocketbase`, and other packages to their latest versions. - Enhanced TypeScript and ESLint packages for better type checking and linting capabilities. - Updated Tailwind CSS and related plugins for improved styling and utility classes. - Adjusted Node.js engine requirements in several packages to support newer versions. --- frontend/package-lock.json | 1927 +++++++++-------- frontend/package.json | 81 +- frontend/src/app/layout.tsx | 28 +- .../scripts/_components/ResourceDisplay.tsx | 42 + .../app/scripts/_components/ScriptItem.tsx | 361 ++- .../_components/ScriptItems/Alerts.tsx | 2 +- .../_components/ScriptItems/Buttons.tsx | 66 +- .../ScriptItems/DefaultPassword.tsx | 13 +- .../ScriptItems/DefaultSettings.tsx | 42 +- .../_components/ScriptItems/InterFaces.tsx | 32 +- .../app/scripts/_components/VersionBadge.tsx | 13 + frontend/src/app/scripts/page.tsx | 2 +- .../src/components/icons/resource-icons.tsx | 48 + frontend/src/components/query-provider.tsx | 9 + frontend/src/hooks/useVersions.ts | 21 + frontend/src/lib/utils/resource-utils.ts | 7 + 16 files changed, 1371 insertions(+), 1323 deletions(-) create mode 100644 frontend/src/app/scripts/_components/ResourceDisplay.tsx create mode 100644 frontend/src/app/scripts/_components/VersionBadge.tsx create mode 100644 frontend/src/components/icons/resource-icons.tsx create mode 100644 frontend/src/components/query-provider.tsx create mode 100644 frontend/src/hooks/useVersions.ts create mode 100644 frontend/src/lib/utils/resource-utils.ts diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 3c328376d..8e4a881fa 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9,70 +9,71 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@radix-ui/react-accordion": "^1.1.2", - "@radix-ui/react-dialog": "^1.0.5", - "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-icons": "^1.3.1", - "@radix-ui/react-label": "^2.1.0", - "@radix-ui/react-navigation-menu": "^1.1.4", - "@radix-ui/react-popover": "^1.1.2", - "@radix-ui/react-select": "^2.1.2", - "@radix-ui/react-separator": "^1.1.0", - "@radix-ui/react-slot": "^1.1.0", - "@radix-ui/react-switch": "^1.1.1", - "@radix-ui/react-tabs": "^1.1.0", - "@radix-ui/react-tooltip": "^1.1.2", - "@vercel/analytics": "^1.2.2", - "chart.js": "^4.4.1", + "@radix-ui/react-accordion": "^1.2.3", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dropdown-menu": "^2.1.6", + "@radix-ui/react-icons": "^1.3.2", + "@radix-ui/react-label": "^2.1.2", + "@radix-ui/react-navigation-menu": "^1.2.5", + "@radix-ui/react-popover": "^1.1.6", + "@radix-ui/react-select": "^2.1.6", + "@radix-ui/react-separator": "^1.1.2", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-switch": "^1.1.3", + "@radix-ui/react-tabs": "^1.1.3", + "@radix-ui/react-tooltip": "^1.1.8", + "@tanstack/react-query": "^5.71.1", + "chart.js": "^4.4.8", "chartjs-plugin-datalabels": "^2.2.0", - "class-variance-authority": "^0.7.0", + "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", - "cmdk": "^1.0.0", + "cmdk": "^1.1.1", "date-fns": "^4.1.0", - "framer-motion": "^11.11.11", - "fuse.js": "^7.0.0", + "framer-motion": "^11.18.2", + "fuse.js": "^7.1.0", "lucide-react": "^0.453.0", "mini-svg-data-uri": "^1.4.4", "next": "15.2.3", "next-themes": "^0.3.0", - "nuqs": "^2.1.1", - "pocketbase": "^0.21.4", + "nuqs": "^2.4.1", + "pocketbase": "^0.21.5", "prettier-plugin-organize-imports": "^4.1.0", - "react": "19.0.0-rc-02c0e824-20241028", + "react": "19.0.0", "react-chartjs-2": "^5.3.0", "react-code-blocks": "^0.1.6", "react-datepicker": "^7.6.0", "react-day-picker": "8.10.1", - "react-dom": "19.0.0-rc-02c0e824-20241028", - "react-icons": "^5.1.0", + "react-dom": "19.0.0", + "react-icons": "^5.5.0", "react-simple-typewriter": "^5.0.1", "sharp": "^0.33.5", - "simple-icons": "^13.5.0", - "sonner": "^1.5.0", - "tailwind-merge": "^2.3.0", - "zod": "^3.23.8" + "simple-icons": "^13.21.0", + "sonner": "^1.7.4", + "tailwind-merge": "^2.6.0", + "zod": "^3.24.2" }, "devDependencies": { + "@tanstack/eslint-plugin-query": "^5.68.0", "@testing-library/dom": "^10.4.0", - "@testing-library/react": "^16.0.1", - "@types/node": "^22", + "@testing-library/react": "^16.2.0", + "@types/node": "^22.13.16", "@types/react": "npm:types-react@19.0.0-rc.1", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1", - "@typescript-eslint/eslint-plugin": "^8.8.1", - "@typescript-eslint/parser": "^8.8.1", + "@typescript-eslint/eslint-plugin": "^8.29.0", + "@typescript-eslint/parser": "^8.29.0", "@vitejs/plugin-react": "^4.3.4", - "eslint": "^9.13.0", + "eslint": "^9.23.0", "eslint-config-next": "15.0.2", "jsdom": "^25.0.1", - "postcss": "^8", - "prettier": "^3.2.5", - "prettier-plugin-tailwindcss": "^0.6.5", - "tailwindcss": "^3.4.9", + "postcss": "^8.5.3", + "prettier": "^3.5.3", + "prettier-plugin-tailwindcss": "^0.6.11", + "tailwindcss": "^3.4.17", "tailwindcss-animate": "^1.0.7", "tailwindcss-animated": "^1.1.2", - "typescript": "^5", - "vite-tsconfig-paths": "^5.1.3", - "vitest": "^2.1.9" + "typescript": "^5.8.2", + "vite-tsconfig-paths": "^5.1.4", + "vitest": "^3.1.1" } }, "node_modules/@alloc/quick-lru": { @@ -308,27 +309,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", - "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", + "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.0" + "@babel/template": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", - "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", + "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.26.0" + "@babel/types": "^7.27.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -382,15 +383,15 @@ } }, "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", + "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.27.0", + "@babel/types": "^7.27.0" }, "engines": { "node": ">=6.9.0" @@ -426,9 +427,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", - "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", + "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", "dev": true, "license": "MIT", "dependencies": { @@ -471,9 +472,9 @@ "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", + "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", "cpu": [ "ppc64" ], @@ -484,13 +485,13 @@ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", + "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", "cpu": [ "arm" ], @@ -501,13 +502,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", + "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", "cpu": [ "arm64" ], @@ -518,13 +519,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", + "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", "cpu": [ "x64" ], @@ -535,13 +536,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", + "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", "cpu": [ "arm64" ], @@ -552,13 +553,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", + "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", "cpu": [ "x64" ], @@ -569,13 +570,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", + "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", "cpu": [ "arm64" ], @@ -586,13 +587,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", + "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", "cpu": [ "x64" ], @@ -603,13 +604,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", + "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", "cpu": [ "arm" ], @@ -620,13 +621,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", + "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", "cpu": [ "arm64" ], @@ -637,13 +638,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", + "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", "cpu": [ "ia32" ], @@ -654,13 +655,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", + "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", "cpu": [ "loong64" ], @@ -671,13 +672,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", + "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", "cpu": [ "mips64el" ], @@ -688,13 +689,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", + "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", "cpu": [ "ppc64" ], @@ -705,13 +706,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", + "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", "cpu": [ "riscv64" ], @@ -722,13 +723,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", + "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", "cpu": [ "s390x" ], @@ -739,13 +740,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", + "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", "cpu": [ "x64" ], @@ -756,13 +757,30 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", + "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", + "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", "cpu": [ "x64" ], @@ -773,13 +791,30 @@ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", + "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", + "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", "cpu": [ "x64" ], @@ -790,13 +825,13 @@ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", + "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", "cpu": [ "x64" ], @@ -807,13 +842,13 @@ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", + "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", "cpu": [ "arm64" ], @@ -824,13 +859,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", + "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", "cpu": [ "ia32" ], @@ -841,13 +876,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", + "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", "cpu": [ "x64" ], @@ -858,7 +893,7 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@eslint-community/eslint-utils": { @@ -891,13 +926,13 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", - "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.4", + "@eslint/object-schema": "^2.1.6", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -929,20 +964,33 @@ "node": "*" } }, - "node_modules/@eslint/core": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", - "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", + "node_modules/@eslint/config-helpers": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.0.tgz", + "integrity": "sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==", "dev": true, "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@eslint/core": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", + "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", - "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, "license": "MIT", "dependencies": { @@ -988,9 +1036,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.13.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.13.0.tgz", - "integrity": "sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==", + "version": "9.23.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.23.0.tgz", + "integrity": "sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==", "dev": true, "license": "MIT", "engines": { @@ -998,9 +1046,9 @@ } }, "node_modules/@eslint/object-schema": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", - "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1008,12 +1056,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz", - "integrity": "sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", + "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", "dev": true, "license": "Apache-2.0", "dependencies": { + "@eslint/core": "^0.12.0", "levn": "^0.4.1" }, "engines": { @@ -1788,25 +1837,25 @@ "license": "MIT" }, "node_modules/@radix-ui/primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz", - "integrity": "sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.1.tgz", + "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==", "license": "MIT" }, "node_modules/@radix-ui/react-accordion": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.1.tgz", - "integrity": "sha512-bg/l7l5QzUjgsh8kjwDFommzAshnUsuVMV5NM56QVCm+7ZckYdd9P/ExR8xG/Oup0OajVxNLaHJ1tb8mXk+nzQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.3.tgz", + "integrity": "sha512-RIQ15mrcvqIkDARJeERSuXSry2N8uYnxkdDetpfmalT/+0ntOXLkFOsh9iwlAsCv+qcmhZjbdJogIm6WBa6c4A==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-collapsible": "1.1.1", - "@radix-ui/react-collection": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collapsible": "1.1.3", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { @@ -1825,12 +1874,12 @@ } }, "node_modules/@radix-ui/react-arrow": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.0.tgz", - "integrity": "sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.2.tgz", + "integrity": "sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.0.0" + "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", @@ -1848,17 +1897,17 @@ } }, "node_modules/@radix-ui/react-collapsible": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.1.tgz", - "integrity": "sha512-1///SnrfQHJEofLokyczERxQbWfCGQlQ2XsCZMucVs6it+lq9iw4vXy+uDn1edlb58cOZOWSldnfPAYcT4O/Yg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.3.tgz", + "integrity": "sha512-jFSerheto1X03MUC0g6R7LedNW9EEGWdg9W1+MlpkMLwGkgkbUXLPBH/KIuWKXUoeYRVY11llqbTBDzuLg7qrw==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-presence": "1.1.1", - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0" }, @@ -1878,15 +1927,15 @@ } }, "node_modules/@radix-ui/react-collection": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.0.tgz", - "integrity": "sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.2.tgz", + "integrity": "sha512-9z54IEKRxIa9VityapoEYMuByaG42iSy1ZXlY2KcuLSEtq8x4987/N6m15ppoMffgZX72gER2uHe1D9Y6Unlcw==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.0", - "@radix-ui/react-context": "1.1.0", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-slot": "1.1.0" + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -1903,25 +1952,10 @@ } } }, - "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-context": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz", - "integrity": "sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-compose-refs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz", - "integrity": "sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz", + "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -1949,25 +1983,25 @@ } }, "node_modules/@radix-ui/react-dialog": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.2.tgz", - "integrity": "sha512-Yj4dZtqa2o+kG61fzB0H2qUvmwBA2oyQroGLyNtBj1beo1khoQ3q1a2AO8rrQYjd8256CO9+N8L9tvsS+bnIyA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.6.tgz", + "integrity": "sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-focus-guards": "1.1.1", - "@radix-ui/react-focus-scope": "1.1.0", + "@radix-ui/react-focus-scope": "1.1.2", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-portal": "1.1.2", - "@radix-ui/react-presence": "1.1.1", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.6.0" + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", @@ -2000,14 +2034,14 @@ } }, "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.1.tgz", - "integrity": "sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.5.tgz", + "integrity": "sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-escape-keydown": "1.1.0" }, @@ -2027,17 +2061,17 @@ } }, "node_modules/@radix-ui/react-dropdown-menu": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.2.tgz", - "integrity": "sha512-GVZMR+eqK8/Kes0a36Qrv+i20bAPXSn8rCBTHx30w+3ECnR5o3xixAlqcVaYvLeyKUsm0aqyhWfmUcqufM8nYA==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.6.tgz", + "integrity": "sha512-no3X7V5fD487wab/ZYSHXq3H37u4NVeLDKI/Ks724X/eEFSSEFYZxWgsIlr1UBeEyDaM29HM5x9p1Nv8DuTYPA==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-menu": "2.1.2", - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-menu": "2.1.6", + "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { @@ -2071,13 +2105,13 @@ } }, "node_modules/@radix-ui/react-focus-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.0.tgz", - "integrity": "sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.2.tgz", + "integrity": "sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.0", - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { @@ -2096,11 +2130,12 @@ } }, "node_modules/@radix-ui/react-icons": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.1.tgz", - "integrity": "sha512-QvYompk0X+8Yjlo/Fv4McrzxohDdM5GgLHyQcPpcsPvlOSXCGFjdbuyGL5dzRbg0GpknAjQJJZzdiRK7iWVuFQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.2.tgz", + "integrity": "sha512-fyQIhGDhzfc9pK2kH6Pl9c4BDJGfMkPqkyIgYDthyNYoNg3wVhoJMMh19WS4Up/1KMPFVpNsT2q3WmXn2N1m6g==", + "license": "MIT", "peerDependencies": { - "react": "^16.x || ^17.x || ^18.x || ^19.x" + "react": "^16.x || ^17.x || ^18.x || ^19.0.0 || ^19.0.0-rc" } }, "node_modules/@radix-ui/react-id": { @@ -2122,12 +2157,12 @@ } }, "node_modules/@radix-ui/react-label": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.0.tgz", - "integrity": "sha512-peLblDlFw/ngk3UWq0VnYaOLy6agTZZ+MUO/WhVfm14vJGML+xH4FAl2XQGLqdefjNb7ApRg6Yn7U42ZhmYXdw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.2.tgz", + "integrity": "sha512-zo1uGMTaNlHehDyFQcDZXRJhUPDuukcnHz0/jnrup0JA6qL+AFpAnty+7VKa9esuU5xTblAZzTGYJKSKaBxBhw==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.0.0" + "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", @@ -2145,29 +2180,29 @@ } }, "node_modules/@radix-ui/react-menu": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.2.tgz", - "integrity": "sha512-lZ0R4qR2Al6fZ4yCCZzu/ReTFrylHFxIqy7OezIpWF4bL0o9biKo0pFIvkaew3TyZ9Fy5gYVrR5zCGZBVbO1zg==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.6.tgz", + "integrity": "sha512-tBBb5CXDJW3t2mo9WlO7r6GTmWV0F0uzHZVFmlRmYpiSK1CDU5IKojP1pm7oknpBOrFZx/YgBRW9oorPO2S/Lg==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-collection": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", - "@radix-ui/react-dismissable-layer": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-focus-guards": "1.1.1", - "@radix-ui/react-focus-scope": "1.1.0", + "@radix-ui/react-focus-scope": "1.1.2", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-popper": "1.2.0", - "@radix-ui/react-portal": "1.1.2", - "@radix-ui/react-presence": "1.1.1", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-roving-focus": "1.1.0", - "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-roving-focus": "1.1.2", + "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-use-callback-ref": "1.1.0", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.6.0" + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", @@ -2185,25 +2220,25 @@ } }, "node_modules/@radix-ui/react-navigation-menu": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.1.tgz", - "integrity": "sha512-egDo0yJD2IK8L17gC82vptkvW1jLeni1VuqCyzY727dSJdk5cDjINomouLoNk8RVF7g2aNIfENKWL4UzeU9c8Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.5.tgz", + "integrity": "sha512-myMHHQUZ3ZLTi8W381/Vu43Ia0NqakkQZ2vzynMmTUtQQ9kNkjzhOwkZC9TAM5R07OZUVIQyHC06f/9JZJpvvA==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-collection": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", - "@radix-ui/react-dismissable-layer": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-presence": "1.1.1", - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-previous": "1.1.0", - "@radix-ui/react-visually-hidden": "1.1.0" + "@radix-ui/react-visually-hidden": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -2221,26 +2256,26 @@ } }, "node_modules/@radix-ui/react-popover": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.2.tgz", - "integrity": "sha512-u2HRUyWW+lOiA2g0Le0tMmT55FGOEWHwPFt1EPfbLly7uXQExFo5duNKqG2DzmFXIdqOeNd+TpE8baHWJCyP9w==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.6.tgz", + "integrity": "sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-focus-guards": "1.1.1", - "@radix-ui/react-focus-scope": "1.1.0", + "@radix-ui/react-focus-scope": "1.1.2", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-popper": "1.2.0", - "@radix-ui/react-portal": "1.1.2", - "@radix-ui/react-presence": "1.1.1", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.6.0" + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", @@ -2258,16 +2293,16 @@ } }, "node_modules/@radix-ui/react-popper": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.0.tgz", - "integrity": "sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.2.tgz", + "integrity": "sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA==", "license": "MIT", "dependencies": { "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", - "@radix-ui/react-context": "1.1.0", - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-arrow": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-rect": "1.1.0", @@ -2289,28 +2324,13 @@ } } }, - "node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-context": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz", - "integrity": "sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-portal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.2.tgz", - "integrity": "sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.4.tgz", + "integrity": "sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { @@ -2329,12 +2349,12 @@ } }, "node_modules/@radix-ui/react-presence": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.1.tgz", - "integrity": "sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.2.tgz", + "integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { @@ -2353,12 +2373,12 @@ } }, "node_modules/@radix-ui/react-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz", - "integrity": "sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.2.tgz", + "integrity": "sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==", "license": "MIT", "dependencies": { - "@radix-ui/react-slot": "1.1.0" + "@radix-ui/react-slot": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -2376,18 +2396,18 @@ } }, "node_modules/@radix-ui/react-roving-focus": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.0.tgz", - "integrity": "sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.2.tgz", + "integrity": "sha512-zgMQWkNO169GtGqRvYrzb0Zf8NhMHS2DuEB/TiEmVnpr5OqPU3i8lfbxaAmC2J/KYuIQxyoQQ6DxepyXp61/xw==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-collection": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", - "@radix-ui/react-context": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0" }, @@ -2406,48 +2426,33 @@ } } }, - "node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-context": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz", - "integrity": "sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-select": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.2.tgz", - "integrity": "sha512-rZJtWmorC7dFRi0owDmoijm6nSJH1tVw64QGiNIZ9PNLyBDtG+iAq+XGsya052At4BfarzY/Dhv9wrrUr6IMZA==", + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.6.tgz", + "integrity": "sha512-T6ajELxRvTuAMWH0YmRJ1qez+x4/7Nq7QIx7zJ0VK3qaEWdnWpNbEDnmWldG1zBDwqrLy5aLMUWcoGirVj5kMg==", "license": "MIT", "dependencies": { "@radix-ui/number": "1.1.0", - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-collection": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", - "@radix-ui/react-dismissable-layer": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-focus-guards": "1.1.1", - "@radix-ui/react-focus-scope": "1.1.0", + "@radix-ui/react-focus-scope": "1.1.2", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-popper": "1.2.0", - "@radix-ui/react-portal": "1.1.2", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-previous": "1.1.0", - "@radix-ui/react-visually-hidden": "1.1.0", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.6.0" + "@radix-ui/react-visually-hidden": "1.1.2", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", @@ -2465,12 +2470,12 @@ } }, "node_modules/@radix-ui/react-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.0.tgz", - "integrity": "sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.2.tgz", + "integrity": "sha512-oZfHcaAp2Y6KFBX6I5P1u7CQoy4lheCGiYj+pGFrHy8E/VNRb5E39TkTr3JrV520csPBTZjkuKFdEsjS5EUNKQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.0.0" + "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", @@ -2488,12 +2493,12 @@ } }, "node_modules/@radix-ui/react-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz", - "integrity": "sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz", + "integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.0" + "@radix-ui/react-compose-refs": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -2506,15 +2511,15 @@ } }, "node_modules/@radix-ui/react-switch": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.1.1.tgz", - "integrity": "sha512-diPqDDoBcZPSicYoMWdWx+bCPuTRH4QSp9J+65IvtdS0Kuzt67bI6n32vCj8q6NZmYW/ah+2orOtMwcX5eQwIg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.1.3.tgz", + "integrity": "sha512-1nc+vjEOQkJVsJtWPSiISGT6OKm4SiOdjMo+/icLxo2G4vxz1GntC5MzfL4v8ey9OEfw787QCD1y3mUv0NiFEQ==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-primitive": "2.0.2", "@radix-ui/react-use-controllable-state": "1.1.0", "@radix-ui/react-use-previous": "1.1.0", "@radix-ui/react-use-size": "1.1.0" @@ -2535,18 +2540,18 @@ } }, "node_modules/@radix-ui/react-tabs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.1.tgz", - "integrity": "sha512-3GBUDmP2DvzmtYLMsHmpA1GtR46ZDZ+OreXM/N+kkQJOPIgytFWWTfDQmBQKBvaFS0Vno0FktdbVzN28KGrMdw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.3.tgz", + "integrity": "sha512-9mFyI30cuRDImbmFF6O2KUJdgEOsGh9Vmx9x/Dh9tOhL7BngmQPQfwW4aejKm5OHpfWIdmeV6ySyuxoOGjtNng==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", + "@radix-ui/primitive": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-presence": "1.1.1", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-roving-focus": "1.1.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-roving-focus": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { @@ -2565,23 +2570,23 @@ } }, "node_modules/@radix-ui/react-tooltip": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.3.tgz", - "integrity": "sha512-Z4w1FIS0BqVFI2c1jZvb/uDVJijJjJ2ZMuPV81oVgTZ7g3BZxobplnMVvXtFWgtozdvYJ+MFWtwkM5S2HnAong==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.8.tgz", + "integrity": "sha512-YAA2cu48EkJZdAMHC0dqo9kialOcRStbtiY4nJPaht7Ptrhcvpo+eDChaM6BIs8kL6a8Z5l5poiqLnXcNduOkA==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-popper": "1.2.0", - "@radix-ui/react-portal": "1.1.2", - "@radix-ui/react-presence": "1.1.1", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", "@radix-ui/react-use-controllable-state": "1.1.0", - "@radix-ui/react-visually-hidden": "1.1.0" + "@radix-ui/react-visually-hidden": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -2716,12 +2721,12 @@ } }, "node_modules/@radix-ui/react-visually-hidden": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.0.tgz", - "integrity": "sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.2.tgz", + "integrity": "sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.0.0" + "@radix-ui/react-primitive": "2.0.2" }, "peerDependencies": { "@types/react": "*", @@ -2745,9 +2750,9 @@ "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.27.4.tgz", - "integrity": "sha512-2Y3JT6f5MrQkICUyRVCw4oa0sutfAsgaSsb0Lmmy1Wi2y7X5vT9Euqw4gOsCyy0YfKURBg35nhUKZS4mDcfULw==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.38.0.tgz", + "integrity": "sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg==", "cpu": [ "arm" ], @@ -2759,9 +2764,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.27.4.tgz", - "integrity": "sha512-wzKRQXISyi9UdCVRqEd0H4cMpzvHYt1f/C3CoIjES6cG++RHKhrBj2+29nPF0IB5kpy9MS71vs07fvrNGAl/iA==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.38.0.tgz", + "integrity": "sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ==", "cpu": [ "arm64" ], @@ -2773,9 +2778,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.27.4.tgz", - "integrity": "sha512-PlNiRQapift4LNS8DPUHuDX/IdXiLjf8mc5vdEmUR0fF/pyy2qWwzdLjB+iZquGr8LuN4LnUoSEvKRwjSVYz3Q==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.38.0.tgz", + "integrity": "sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg==", "cpu": [ "arm64" ], @@ -2787,9 +2792,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.27.4.tgz", - "integrity": "sha512-o9bH2dbdgBDJaXWJCDTNDYa171ACUdzpxSZt+u/AAeQ20Nk5x+IhA+zsGmrQtpkLiumRJEYef68gcpn2ooXhSQ==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.38.0.tgz", + "integrity": "sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg==", "cpu": [ "x64" ], @@ -2801,9 +2806,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.27.4.tgz", - "integrity": "sha512-NBI2/i2hT9Q+HySSHTBh52da7isru4aAAo6qC3I7QFVsuhxi2gM8t/EI9EVcILiHLj1vfi+VGGPaLOUENn7pmw==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.38.0.tgz", + "integrity": "sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA==", "cpu": [ "arm64" ], @@ -2815,9 +2820,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.27.4.tgz", - "integrity": "sha512-wYcC5ycW2zvqtDYrE7deary2P2UFmSh85PUpAx+dwTCO9uw3sgzD6Gv9n5X4vLaQKsrfTSZZ7Z7uynQozPVvWA==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.38.0.tgz", + "integrity": "sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg==", "cpu": [ "x64" ], @@ -2829,9 +2834,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.27.4.tgz", - "integrity": "sha512-9OwUnK/xKw6DyRlgx8UizeqRFOfi9mf5TYCw1uolDaJSbUmBxP85DE6T4ouCMoN6pXw8ZoTeZCSEfSaYo+/s1w==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.38.0.tgz", + "integrity": "sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg==", "cpu": [ "arm" ], @@ -2843,9 +2848,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.27.4.tgz", - "integrity": "sha512-Vgdo4fpuphS9V24WOV+KwkCVJ72u7idTgQaBoLRD0UxBAWTF9GWurJO9YD9yh00BzbkhpeXtm6na+MvJU7Z73A==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.38.0.tgz", + "integrity": "sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg==", "cpu": [ "arm" ], @@ -2857,9 +2862,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.27.4.tgz", - "integrity": "sha512-pleyNgyd1kkBkw2kOqlBx+0atfIIkkExOTiifoODo6qKDSpnc6WzUY5RhHdmTdIJXBdSnh6JknnYTtmQyobrVg==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.38.0.tgz", + "integrity": "sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA==", "cpu": [ "arm64" ], @@ -2871,9 +2876,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.27.4.tgz", - "integrity": "sha512-caluiUXvUuVyCHr5DxL8ohaaFFzPGmgmMvwmqAITMpV/Q+tPoaHZ/PWa3t8B2WyoRcIIuu1hkaW5KkeTDNSnMA==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.38.0.tgz", + "integrity": "sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ==", "cpu": [ "arm64" ], @@ -2884,10 +2889,24 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.38.0.tgz", + "integrity": "sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.27.4.tgz", - "integrity": "sha512-FScrpHrO60hARyHh7s1zHE97u0KlT/RECzCKAdmI+LEoC1eDh/RDji9JgFqyO+wPDb86Oa/sXkily1+oi4FzJQ==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.38.0.tgz", + "integrity": "sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw==", "cpu": [ "ppc64" ], @@ -2899,9 +2918,23 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.27.4.tgz", - "integrity": "sha512-qyyprhyGb7+RBfMPeww9FlHwKkCXdKHeGgSqmIXw9VSUtvyFZ6WZRtnxgbuz76FK7LyoN8t/eINRbPUcvXB5fw==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.38.0.tgz", + "integrity": "sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.38.0.tgz", + "integrity": "sha512-9EYTX+Gus2EGPbfs+fh7l95wVADtSQyYw4DfSBcYdUEAmP2lqSZY0Y17yX/3m5VKGGJ4UmIH5LHLkMJft3bYoA==", "cpu": [ "riscv64" ], @@ -2913,9 +2946,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.27.4.tgz", - "integrity": "sha512-PFz+y2kb6tbh7m3A7nA9++eInGcDVZUACulf/KzDtovvdTizHpZaJty7Gp0lFwSQcrnebHOqxF1MaKZd7psVRg==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.38.0.tgz", + "integrity": "sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q==", "cpu": [ "s390x" ], @@ -2927,9 +2960,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.27.4.tgz", - "integrity": "sha512-Ni8mMtfo+o/G7DVtweXXV/Ol2TFf63KYjTtoZ5f078AUgJTmaIJnj4JFU7TK/9SVWTaSJGxPi5zMDgK4w+Ez7Q==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.38.0.tgz", + "integrity": "sha512-vPvNgFlZRAgO7rwncMeE0+8c4Hmc+qixnp00/Uv3ht2x7KYrJ6ERVd3/R0nUtlE6/hu7/HiiNHJ/rP6knRFt1w==", "cpu": [ "x64" ], @@ -2941,9 +2974,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.27.4.tgz", - "integrity": "sha512-5AeeAF1PB9TUzD+3cROzFTnAJAcVUGLuR8ng0E0WXGkYhp6RD6L+6szYVX+64Rs0r72019KHZS1ka1q+zU/wUw==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.38.0.tgz", + "integrity": "sha512-q5Zv+goWvQUGCaL7fU8NuTw8aydIL/C9abAVGCzRReuj5h30TPx4LumBtAidrVOtXnlB+RZkBtExMsfqkMfb8g==", "cpu": [ "x64" ], @@ -2955,9 +2988,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.27.4.tgz", - "integrity": "sha512-yOpVsA4K5qVwu2CaS3hHxluWIK5HQTjNV4tWjQXluMiiiu4pJj4BN98CvxohNCpcjMeTXk/ZMJBRbgRg8HBB6A==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.38.0.tgz", + "integrity": "sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg==", "cpu": [ "arm64" ], @@ -2969,9 +3002,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.27.4.tgz", - "integrity": "sha512-KtwEJOaHAVJlxV92rNYiG9JQwQAdhBlrjNRp7P9L8Cb4Rer3in+0A+IPhJC9y68WAi9H0sX4AiG2NTsVlmqJeQ==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.38.0.tgz", + "integrity": "sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA==", "cpu": [ "ia32" ], @@ -2983,9 +3016,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.27.4.tgz", - "integrity": "sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.38.0.tgz", + "integrity": "sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw==", "cpu": [ "x64" ], @@ -3024,6 +3057,49 @@ "tslib": "^2.8.0" } }, + "node_modules/@tanstack/eslint-plugin-query": { + "version": "5.68.0", + "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.68.0.tgz", + "integrity": "sha512-w/+y5LILV1GTWBB2R/lKfUzgocKXU1B7O6jipLUJhmxCKPmJFy5zpfR1Vx7c6yCEsQoKcTbhuR/tIy+1sIGaiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.18.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/@tanstack/query-core": { + "version": "5.71.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.71.1.tgz", + "integrity": "sha512-4+ZswCHOfJX+ikhXNoocamTUmJcHtB+Ljjz/oJkC7/eKB5IrzEwR4vEwZUENiPi+wISucJHR5TUbuuJ26w3kdQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-query": { + "version": "5.71.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.71.1.tgz", + "integrity": "sha512-6BTkaSIGT58MroI4kIGXNdx/NhirXPU+75AJObLq+WBa39WmoxhzSk0YX+hqWJ/bvqZJFxslbEU4qIHaRZq+8Q==", + "license": "MIT", + "dependencies": { + "@tanstack/query-core": "5.71.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^18 || ^19" + } + }, "node_modules/@testing-library/dom": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", @@ -3055,9 +3131,9 @@ } }, "node_modules/@testing-library/react": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.1.tgz", - "integrity": "sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==", + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.2.0.tgz", + "integrity": "sha512-2cSskAvA1QNtKc8Y9VJQRv0tm3hLVgxRGDB+KYhIaPQJ1I+RHbhIXcM+zClKXzMes/wshsMVzf4B9vS4IZpqDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3068,10 +3144,10 @@ }, "peerDependencies": { "@testing-library/dom": "^10.0.0", - "@types/react": "^18.0.0", - "@types/react-dom": "^18.0.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -3135,9 +3211,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", "dev": true, "license": "MIT" }, @@ -3165,13 +3241,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.8.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.6.tgz", - "integrity": "sha512-tosuJYKrIqjQIlVCM4PEGxOmyg3FCPa/fViuJChnGeEIhjA46oy8FMVoF9su1/v8PNs2a8Q0iFNyOx0uOF91nw==", + "version": "22.13.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.16.tgz", + "integrity": "sha512-15tM+qA4Ypml/N7kyRdvfRjBQT2RL461uF1Bldn06K0Nzn1lY3nAPgHlsVrJxdZ9WhZiW0Fmc1lOYMtDsAuB3w==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.19.8" + "undici-types": "~6.20.0" } }, "node_modules/@types/react": { @@ -3179,7 +3255,7 @@ "version": "19.0.0-rc.1", "resolved": "https://registry.npmjs.org/types-react/-/types-react-19.0.0-rc.1.tgz", "integrity": "sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==", - "devOptional": true, + "dev": true, "dependencies": { "csstype": "^3.0.2" } @@ -3189,7 +3265,7 @@ "version": "19.0.0-rc.1", "resolved": "https://registry.npmjs.org/types-react-dom/-/types-react-dom-19.0.0-rc.1.tgz", "integrity": "sha512-VSLZJl8VXCD0fAWp7DUTFUDCcZ8DVXOQmjhJMD03odgeFmu14ZQJHCXeETm3BEAhJqfgJaFkLnGkQv88sRx0fQ==", - "devOptional": true, + "dev": true, "dependencies": { "@types/react": "*" } @@ -3207,21 +3283,21 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.12.2.tgz", - "integrity": "sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz", + "integrity": "sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.12.2", - "@typescript-eslint/type-utils": "8.12.2", - "@typescript-eslint/utils": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2", + "@typescript-eslint/scope-manager": "8.29.0", + "@typescript-eslint/type-utils": "8.29.0", + "@typescript-eslint/utils": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3232,25 +3308,21 @@ }, "peerDependencies": { "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.12.2.tgz", - "integrity": "sha512-MrvlXNfGPLH3Z+r7Tk+Z5moZAc0dzdVjTgUgwsdGweH7lydysQsnSww3nAmsq8blFuRD5VRlAr9YdEFw3e6PBw==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.0.tgz", + "integrity": "sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.12.2", - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/typescript-estree": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2", + "@typescript-eslint/scope-manager": "8.29.0", + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/typescript-estree": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0", "debug": "^4.3.4" }, "engines": { @@ -3261,23 +3333,19 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.12.2.tgz", - "integrity": "sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz", + "integrity": "sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2" + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3288,16 +3356,16 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.12.2.tgz", - "integrity": "sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz", + "integrity": "sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.12.2", - "@typescript-eslint/utils": "8.12.2", + "@typescript-eslint/typescript-estree": "8.29.0", + "@typescript-eslint/utils": "8.29.0", "debug": "^4.3.4", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3306,16 +3374,15 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/types": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.12.2.tgz", - "integrity": "sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.0.tgz", + "integrity": "sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==", "dev": true, "license": "MIT", "engines": { @@ -3327,20 +3394,20 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.12.2.tgz", - "integrity": "sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz", + "integrity": "sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/visitor-keys": "8.12.2", + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/visitor-keys": "8.29.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", - "ts-api-utils": "^1.3.0" + "ts-api-utils": "^2.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3349,23 +3416,21 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/utils": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.12.2.tgz", - "integrity": "sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.0.tgz", + "integrity": "sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.12.2", - "@typescript-eslint/types": "8.12.2", - "@typescript-eslint/typescript-estree": "8.12.2" + "@typescript-eslint/scope-manager": "8.29.0", + "@typescript-eslint/types": "8.29.0", + "@typescript-eslint/typescript-estree": "8.29.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3375,18 +3440,19 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.12.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.12.2.tgz", - "integrity": "sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==", + "version": "8.29.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz", + "integrity": "sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.12.2", - "eslint-visitor-keys": "^3.4.3" + "@typescript-eslint/types": "8.29.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -3396,25 +3462,17 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@vercel/analytics": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.3.2.tgz", - "integrity": "sha512-n/Ws7skBbW+fUBMeg+jrT30+GP00jTHvCcL4fuVrShuML0uveEV/4vVUdvqEVnDgXIGfLm0GXW5EID2mCcRXhg==", - "license": "MPL-2.0", - "dependencies": { - "server-only": "^0.0.1" + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "peerDependencies": { - "next": ">= 13", - "react": "^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "next": { - "optional": true - }, - "react": { - "optional": true - } + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@vitejs/plugin-react": { @@ -3438,38 +3496,38 @@ } }, "node_modules/@vitest/expect": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.9.tgz", - "integrity": "sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.1.1.tgz", + "integrity": "sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "2.1.9", - "@vitest/utils": "2.1.9", - "chai": "^5.1.2", - "tinyrainbow": "^1.2.0" + "@vitest/spy": "3.1.1", + "@vitest/utils": "3.1.1", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/mocker": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.9.tgz", - "integrity": "sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.1.1.tgz", + "integrity": "sha512-bmpJJm7Y7i9BBELlLuuM1J1Q6EQ6K5Ye4wcyOpOMXMcePYKSIYlpcrCm4l/O6ja4VJA5G2aMJiuZkZdnxlC3SA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "2.1.9", + "@vitest/spy": "3.1.1", "estree-walker": "^3.0.3", - "magic-string": "^0.30.12" + "magic-string": "^0.30.17" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "msw": "^2.4.9", - "vite": "^5.0.0" + "vite": "^5.0.0 || ^6.0.0" }, "peerDependenciesMeta": { "msw": { @@ -3481,51 +3539,51 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.9.tgz", - "integrity": "sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.1.1.tgz", + "integrity": "sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==", "dev": true, "license": "MIT", "dependencies": { - "tinyrainbow": "^1.2.0" + "tinyrainbow": "^2.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/runner": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.9.tgz", - "integrity": "sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.1.1.tgz", + "integrity": "sha512-X/d46qzJuEDO8ueyjtKfxffiXraPRfmYasoC4i5+mlLEJ10UvPb0XH5M9C3gWuxd7BAQhpK42cJgJtq53YnWVA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "2.1.9", - "pathe": "^1.1.2" + "@vitest/utils": "3.1.1", + "pathe": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/snapshot": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.9.tgz", - "integrity": "sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.1.1.tgz", + "integrity": "sha512-bByMwaVWe/+1WDf9exFxWWgAixelSdiwo2p33tpqIlM14vW7PRV5ppayVXtfycqze4Qhtwag5sVhX400MLBOOw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.9", - "magic-string": "^0.30.12", - "pathe": "^1.1.2" + "@vitest/pretty-format": "3.1.1", + "magic-string": "^0.30.17", + "pathe": "^2.0.3" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/spy": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.9.tgz", - "integrity": "sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.1.1.tgz", + "integrity": "sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3536,24 +3594,24 @@ } }, "node_modules/@vitest/utils": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.9.tgz", - "integrity": "sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.1.1.tgz", + "integrity": "sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.9", - "loupe": "^3.1.2", - "tinyrainbow": "^1.2.0" + "@vitest/pretty-format": "3.1.1", + "loupe": "^3.1.3", + "tinyrainbow": "^2.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "dev": true, "license": "MIT", "bin": { @@ -4074,9 +4132,9 @@ "license": "CC-BY-4.0" }, "node_modules/chai": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz", - "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.0.tgz", + "integrity": "sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==", "dev": true, "license": "MIT", "dependencies": { @@ -4138,9 +4196,9 @@ } }, "node_modules/chart.js": { - "version": "4.4.7", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.7.tgz", - "integrity": "sha512-pwkcKfdzTMAU/+jNosKhNL2bHtJc/sSmYgVbuGTEDhzkrhmyihmP7vUc/5ZK9WopidMDHNe3Wm7jOd/WhuHWuw==", + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.8.tgz", + "integrity": "sha512-IkGZlVpXP+83QpMm4uxEiGqSI7jFizwVtF3+n5Pc3k7sMO+tkd0qxh2OzLhenM0K80xtmAONWGBn082EiBQSDA==", "license": "MIT", "dependencies": { "@kurkle/color": "^0.3.0" @@ -4207,24 +4265,15 @@ } }, "node_modules/class-variance-authority": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz", - "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", "license": "Apache-2.0", "dependencies": { - "clsx": "2.0.0" + "clsx": "^2.1.1" }, "funding": { - "url": "https://joebell.co.uk" - } - }, - "node_modules/class-variance-authority/node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", - "license": "MIT", - "engines": { - "node": ">=6" + "url": "https://polar.sh/cva" } }, "node_modules/client-only": { @@ -4243,15 +4292,15 @@ } }, "node_modules/cmdk": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cmdk/-/cmdk-1.0.3.tgz", - "integrity": "sha512-2c3uTjwT4YeHj60q2k8S1B0WHSoGR6t5CPnec6PMFD2QF4gwid0t1VSPNeEmL02EwBwNky/A3gwPCOViKTtoPA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cmdk/-/cmdk-1.1.1.tgz", + "integrity": "sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==", "license": "MIT", "dependencies": { - "@radix-ui/react-dialog": "^1.1.2", + "@radix-ui/react-compose-refs": "^1.1.1", + "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-id": "^1.1.0", - "@radix-ui/react-primitive": "^2.0.0", - "use-sync-external-store": "^1.2.2" + "@radix-ui/react-primitive": "^2.0.2" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", @@ -4347,9 +4396,9 @@ "license": "MIT" }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -4499,9 +4548,9 @@ } }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "license": "MIT", "dependencies": { @@ -4867,9 +4916,9 @@ } }, "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", + "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -4877,32 +4926,34 @@ "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" + "@esbuild/aix-ppc64": "0.25.2", + "@esbuild/android-arm": "0.25.2", + "@esbuild/android-arm64": "0.25.2", + "@esbuild/android-x64": "0.25.2", + "@esbuild/darwin-arm64": "0.25.2", + "@esbuild/darwin-x64": "0.25.2", + "@esbuild/freebsd-arm64": "0.25.2", + "@esbuild/freebsd-x64": "0.25.2", + "@esbuild/linux-arm": "0.25.2", + "@esbuild/linux-arm64": "0.25.2", + "@esbuild/linux-ia32": "0.25.2", + "@esbuild/linux-loong64": "0.25.2", + "@esbuild/linux-mips64el": "0.25.2", + "@esbuild/linux-ppc64": "0.25.2", + "@esbuild/linux-riscv64": "0.25.2", + "@esbuild/linux-s390x": "0.25.2", + "@esbuild/linux-x64": "0.25.2", + "@esbuild/netbsd-arm64": "0.25.2", + "@esbuild/netbsd-x64": "0.25.2", + "@esbuild/openbsd-arm64": "0.25.2", + "@esbuild/openbsd-x64": "0.25.2", + "@esbuild/sunos-x64": "0.25.2", + "@esbuild/win32-arm64": "0.25.2", + "@esbuild/win32-ia32": "0.25.2", + "@esbuild/win32-x64": "0.25.2" } }, "node_modules/escalade": { @@ -4929,32 +4980,33 @@ } }, "node_modules/eslint": { - "version": "9.13.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.13.0.tgz", - "integrity": "sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==", + "version": "9.23.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.23.0.tgz", + "integrity": "sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.11.0", - "@eslint/config-array": "^0.18.0", - "@eslint/core": "^0.7.0", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.13.0", - "@eslint/plugin-kit": "^0.2.0", - "@humanfs/node": "^0.16.5", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.2", + "@eslint/config-helpers": "^0.2.0", + "@eslint/core": "^0.12.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.23.0", + "@eslint/plugin-kit": "^0.2.7", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.3.1", + "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.1.0", - "eslint-visitor-keys": "^4.1.0", - "espree": "^10.2.0", + "eslint-scope": "^8.3.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -4968,8 +5020,7 @@ "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" @@ -5334,9 +5385,9 @@ } }, "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -5363,6 +5414,20 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/@humanwhocodes/retry": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -5488,9 +5553,9 @@ } }, "node_modules/expect-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.1.0.tgz", - "integrity": "sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.1.tgz", + "integrity": "sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -5686,17 +5751,19 @@ } }, "node_modules/framer-motion": { - "version": "11.11.11", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.11.11.tgz", - "integrity": "sha512-tuDH23ptJAKUHGydJQII9PhABNJBpB+z0P1bmgKK9QFIssHGlfPd6kxMq00LSKwE27WFsb2z0ovY0bpUyMvfRw==", + "version": "11.18.2", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.18.2.tgz", + "integrity": "sha512-5F5Och7wrvtLVElIpclDT0CBzMVg3dL22B64aZwHtsIY8RB4mXICLrkajK4G9R+ieSAGcgrLeae2SeUTg2pr6w==", "license": "MIT", "dependencies": { + "motion-dom": "^11.18.1", + "motion-utils": "^11.18.1", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/is-prop-valid": { @@ -5765,9 +5832,9 @@ } }, "node_modules/fuse.js": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz", - "integrity": "sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.1.0.tgz", + "integrity": "sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==", "license": "Apache-2.0", "engines": { "node": ">=10" @@ -6136,9 +6203,9 @@ } }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6177,15 +6244,6 @@ "node": ">= 0.4" } }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, "node_modules/is-alphabetical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", @@ -6702,6 +6760,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, "license": "MIT" }, "node_modules/js-yaml": { @@ -6866,13 +6925,16 @@ } }, "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/lines-and-columns": { @@ -6909,6 +6971,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -7072,6 +7135,21 @@ "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", "license": "MIT" }, + "node_modules/motion-dom": { + "version": "11.18.1", + "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-11.18.1.tgz", + "integrity": "sha512-g76KvA001z+atjfxczdRtw/RXOM3OMSdd1f4DL77qCTF/+avrRJiawSG4yDibEQ215sr9kpinSlX2pCTJ9zbhw==", + "license": "MIT", + "dependencies": { + "motion-utils": "^11.18.1" + } + }, + "node_modules/motion-utils": { + "version": "11.18.1", + "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-11.18.1.tgz", + "integrity": "sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA==", + "license": "MIT" + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -7225,18 +7303,22 @@ } }, "node_modules/nuqs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nuqs/-/nuqs-2.1.1.tgz", - "integrity": "sha512-iM2H8lMmhvk9bxupUs2oRle9usRNEAqppOkTMXOxD/uK85gOKAubU7T2zmPo8fnYQS4n5e/XswTiq+gLYGpy3w==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/nuqs/-/nuqs-2.4.1.tgz", + "integrity": "sha512-u6sngTspqDe3jWHtcmqHQg3dl35niizCZAsm5gy7PBlgG2rwl71Dp2QUv5hwBaWKI9qz0wqILZY86TsRxq66SQ==", "license": "MIT", "dependencies": { "mitt": "^3.0.1" }, + "funding": { + "url": "https://github.com/sponsors/franky47" + }, "peerDependencies": { - "@remix-run/react": ">= 2", - "next": ">= 14.2.0", - "react": ">= 18.2.0", - "react-router-dom": ">= 6" + "@remix-run/react": ">=2", + "next": ">=14.2.0", + "react": ">=18.2.0 || ^19.0.0-0", + "react-router": "^6 || ^7", + "react-router-dom": "^6 || ^7" }, "peerDependenciesMeta": { "@remix-run/react": { @@ -7245,6 +7327,9 @@ "next": { "optional": true }, + "react-router": { + "optional": true + }, "react-router-dom": { "optional": true } @@ -7532,9 +7617,9 @@ } }, "node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "dev": true, "license": "MIT" }, @@ -7604,9 +7689,9 @@ } }, "node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "dev": true, "funding": [ { @@ -7624,7 +7709,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", + "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -7706,19 +7791,6 @@ } } }, - "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, "node_modules/postcss-nested": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", @@ -7776,9 +7848,10 @@ } }, "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "dev": true, "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" @@ -7807,9 +7880,9 @@ } }, "node_modules/prettier-plugin-tailwindcss": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.8.tgz", - "integrity": "sha512-dGu3kdm7SXPkiW4nzeWKCl3uoImdd5CTZEJGxyypEPL37Wj0HT2pLqjrvSei1nTeuQfO4PUfjeW5cTUNRLZ4sA==", + "version": "0.6.11", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.11.tgz", + "integrity": "sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==", "dev": true, "license": "MIT", "engines": { @@ -7820,7 +7893,7 @@ "@prettier/plugin-pug": "*", "@shopify/prettier-plugin-liquid": "*", "@trivago/prettier-plugin-sort-imports": "*", - "@zackad/prettier-plugin-twig-melody": "*", + "@zackad/prettier-plugin-twig": "*", "prettier": "^3.0", "prettier-plugin-astro": "*", "prettier-plugin-css-order": "*", @@ -7847,7 +7920,7 @@ "@trivago/prettier-plugin-sort-imports": { "optional": true }, - "@zackad/prettier-plugin-twig-melody": { + "@zackad/prettier-plugin-twig": { "optional": true }, "prettier-plugin-astro": { @@ -7931,9 +8004,9 @@ "license": "MIT" }, "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", "license": "MIT", "engines": { "node": ">=6" @@ -7996,9 +8069,9 @@ "license": "MIT" }, "node_modules/react": { - "version": "19.0.0-rc-02c0e824-20241028", - "resolved": "https://registry.npmjs.org/react/-/react-19.0.0-rc-02c0e824-20241028.tgz", - "integrity": "sha512-GbZ7hpPHQMiEu53BqEaPQVM/4GG4hARo+mqEEnx4rYporDvNvUjutiAFxYFSbu6sgHwcr7LeFv8htEOwALVA2A==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", + "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -8087,21 +8160,21 @@ } }, "node_modules/react-dom": { - "version": "19.0.0-rc-02c0e824-20241028", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0-rc-02c0e824-20241028.tgz", - "integrity": "sha512-LrZf3DfHL6Fs07wwlUCHrzFTCMM19yA99MvJpfLokN4I2nBAZvREGZjZAn8VPiSfN72+i9j1eL4wB8gC695F3Q==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", + "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", "license": "MIT", "dependencies": { - "scheduler": "0.25.0-rc-02c0e824-20241028" + "scheduler": "^0.25.0" }, "peerDependencies": { - "react": "19.0.0-rc-02c0e824-20241028" + "react": "^19.0.0" } }, "node_modules/react-icons": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.3.0.tgz", - "integrity": "sha512-DnUk8aFbTyQPSkCfF8dbX6kQjXA9DktMeJqfjrg6cK9vwQVMxmcA3BfP4QoiztVmEHtwlTgLFsPuH2NskKT6eg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz", + "integrity": "sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==", "license": "MIT", "peerDependencies": { "react": "*" @@ -8125,23 +8198,23 @@ } }, "node_modules/react-remove-scroll": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.0.tgz", - "integrity": "sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz", + "integrity": "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==", "license": "MIT", "dependencies": { - "react-remove-scroll-bar": "^2.3.6", - "react-style-singleton": "^2.2.1", + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", - "use-callback-ref": "^1.3.0", - "use-sidecar": "^1.1.2" + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -8150,20 +8223,20 @@ } }, "node_modules/react-remove-scroll-bar": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", - "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", "license": "MIT", "dependencies": { - "react-style-singleton": "^2.2.1", + "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -8185,21 +8258,20 @@ } }, "node_modules/react-style-singleton": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", - "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", "license": "MIT", "dependencies": { "get-nonce": "^1.0.0", - "invariant": "^2.2.4", "tslib": "^2.0.0" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -8368,13 +8440,13 @@ } }, "node_modules/rollup": { - "version": "4.27.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.27.4.tgz", - "integrity": "sha512-RLKxqHEMjh/RGLsDxAEsaLO3mWgyoU6x9w6n1ikAzet4B3gI2/3yP6PWY2p9QzRTh6MfEIXB3MwsOY0Iv3vNrw==", + "version": "4.38.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.38.0.tgz", + "integrity": "sha512-5SsIRtJy9bf1ErAOiFMFzl64Ex9X5V7bnJ+WlFMb+zmP459OSWCEG7b0ERZ+PEU7xPt4OG3RHbrp1LJlXxYTrw==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" + "@types/estree": "1.0.7" }, "bin": { "rollup": "dist/bin/rollup" @@ -8384,24 +8456,26 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.27.4", - "@rollup/rollup-android-arm64": "4.27.4", - "@rollup/rollup-darwin-arm64": "4.27.4", - "@rollup/rollup-darwin-x64": "4.27.4", - "@rollup/rollup-freebsd-arm64": "4.27.4", - "@rollup/rollup-freebsd-x64": "4.27.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.27.4", - "@rollup/rollup-linux-arm-musleabihf": "4.27.4", - "@rollup/rollup-linux-arm64-gnu": "4.27.4", - "@rollup/rollup-linux-arm64-musl": "4.27.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.27.4", - "@rollup/rollup-linux-riscv64-gnu": "4.27.4", - "@rollup/rollup-linux-s390x-gnu": "4.27.4", - "@rollup/rollup-linux-x64-gnu": "4.27.4", - "@rollup/rollup-linux-x64-musl": "4.27.4", - "@rollup/rollup-win32-arm64-msvc": "4.27.4", - "@rollup/rollup-win32-ia32-msvc": "4.27.4", - "@rollup/rollup-win32-x64-msvc": "4.27.4", + "@rollup/rollup-android-arm-eabi": "4.38.0", + "@rollup/rollup-android-arm64": "4.38.0", + "@rollup/rollup-darwin-arm64": "4.38.0", + "@rollup/rollup-darwin-x64": "4.38.0", + "@rollup/rollup-freebsd-arm64": "4.38.0", + "@rollup/rollup-freebsd-x64": "4.38.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.38.0", + "@rollup/rollup-linux-arm-musleabihf": "4.38.0", + "@rollup/rollup-linux-arm64-gnu": "4.38.0", + "@rollup/rollup-linux-arm64-musl": "4.38.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.38.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.38.0", + "@rollup/rollup-linux-riscv64-gnu": "4.38.0", + "@rollup/rollup-linux-riscv64-musl": "4.38.0", + "@rollup/rollup-linux-s390x-gnu": "4.38.0", + "@rollup/rollup-linux-x64-gnu": "4.38.0", + "@rollup/rollup-linux-x64-musl": "4.38.0", + "@rollup/rollup-win32-arm64-msvc": "4.38.0", + "@rollup/rollup-win32-ia32-msvc": "4.38.0", + "@rollup/rollup-win32-x64-msvc": "4.38.0", "fsevents": "~2.3.2" } }, @@ -8494,9 +8568,9 @@ } }, "node_modules/scheduler": { - "version": "0.25.0-rc-02c0e824-20241028", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0-rc-02c0e824-20241028.tgz", - "integrity": "sha512-GysnKjmMSaWcwsKTLzeJO0IhU3EyIiC0ivJKE6yDNLqt3IMxDByx8b6lSNXRNdN+ULUY0WLLjSPaZ0LuU/GnTg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", + "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==", "license": "MIT" }, "node_modules/semver": { @@ -8511,12 +8585,6 @@ "node": ">=10" } }, - "node_modules/server-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz", - "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==", - "license": "MIT" - }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -8659,9 +8727,9 @@ } }, "node_modules/simple-icons": { - "version": "13.15.0", - "resolved": "https://registry.npmjs.org/simple-icons/-/simple-icons-13.15.0.tgz", - "integrity": "sha512-8SzFj9CvPlDnjDLISsAWTvpCs7om2zbSJZ1hNLRo6quWKLqFwjCD9opS24Q/yD0bdsnVHPpF0N3hitpHrY5u9w==", + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/simple-icons/-/simple-icons-13.21.0.tgz", + "integrity": "sha512-LI5pVJPBv6oc79OMsffwb6kEqnmB8P1Cjg1crNUlhsxPETQ5UzbCKQdxU+7MW6+DD1qfPkla/vSKlLD4IfyXpQ==", "license": "CC0-1.0", "engines": { "node": ">=0.12.18" @@ -8681,13 +8749,13 @@ } }, "node_modules/sonner": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sonner/-/sonner-1.5.0.tgz", - "integrity": "sha512-FBjhG/gnnbN6FY0jaNnqZOMmB73R+5IiyYAw8yBj7L54ER7HB3fOSE5OFiQiE2iXWxeXKvg6fIP4LtVppHEdJA==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/sonner/-/sonner-1.7.4.tgz", + "integrity": "sha512-DIS8z4PfJRbIyfVFDVnK9rO3eYDtse4Omcm6bt0oEr5/jtLgysmjuBl1frJ9E/EQZrFmKx2A8m/s5s9CRXIzhw==", "license": "MIT", "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", + "react-dom": "^18.0.0 || ^19.0.0 || ^19.0.0-rc" } }, "node_modules/source-map-js": { @@ -8717,9 +8785,9 @@ "license": "MIT" }, "node_modules/std-env": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", - "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.1.tgz", + "integrity": "sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==", "dev": true, "license": "MIT" }, @@ -9117,9 +9185,9 @@ "license": "MIT" }, "node_modules/tailwind-merge": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.4.tgz", - "integrity": "sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.6.0.tgz", + "integrity": "sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==", "license": "MIT", "funding": { "type": "github", @@ -9127,34 +9195,34 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.14", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz", - "integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==", + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", "dev": true, "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", - "chokidar": "^3.5.3", + "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.3.0", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.21.0", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", @@ -9194,13 +9262,6 @@ "node": ">=6" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", @@ -9232,9 +9293,9 @@ "license": "MIT" }, "node_modules/tinyexec": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.1.tgz", - "integrity": "sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", "dev": true, "license": "MIT" }, @@ -9249,9 +9310,9 @@ } }, "node_modules/tinyrainbow": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", - "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", "dev": true, "license": "MIT", "engines": { @@ -9328,16 +9389,16 @@ } }, "node_modules/ts-api-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.0.tgz", - "integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=16" + "node": ">=18.12" }, "peerDependencies": { - "typescript": ">=4.2.0" + "typescript": ">=4.8.4" } }, "node_modules/ts-interface-checker": { @@ -9478,9 +9539,10 @@ } }, "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", + "dev": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", @@ -9507,9 +9569,9 @@ } }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", "dev": true, "license": "MIT" }, @@ -9555,9 +9617,9 @@ } }, "node_modules/use-callback-ref": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", - "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", "license": "MIT", "dependencies": { "tslib": "^2.0.0" @@ -9566,8 +9628,8 @@ "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -9576,9 +9638,9 @@ } }, "node_modules/use-sidecar": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", - "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", "license": "MIT", "dependencies": { "detect-node-es": "^1.1.0", @@ -9588,8 +9650,8 @@ "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -9597,15 +9659,6 @@ } } }, - "node_modules/use-sync-external-store": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", - "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -9614,21 +9667,21 @@ "license": "MIT" }, "node_modules/vite": { - "version": "5.4.16", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.16.tgz", - "integrity": "sha512-Y5gnfp4NemVfgOTDQAunSD4346fal44L9mszGGY/e+qxsRT5y1sMlS/8tiQ8AFAp+MFgYNSINdfEchJiPm41vQ==", + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.4.tgz", + "integrity": "sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" + "esbuild": "^0.25.0", + "postcss": "^8.5.3", + "rollup": "^4.30.1" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -9637,19 +9690,25 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", - "terser": "^5.4.0" + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { "@types/node": { "optional": true }, + "jiti": { + "optional": true + }, "less": { "optional": true }, @@ -9670,36 +9729,42 @@ }, "terser": { "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true } } }, "node_modules/vite-node": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.9.tgz", - "integrity": "sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.1.1.tgz", + "integrity": "sha512-V+IxPAE2FvXpTCHXyNem0M+gWm6J7eRyWPR6vYoG/Gl+IscNOjXzztUhimQgTxaAoUoj40Qqimaa0NLIOOAH4w==", "dev": true, "license": "MIT", "dependencies": { "cac": "^6.7.14", - "debug": "^4.3.7", - "es-module-lexer": "^1.5.4", - "pathe": "^1.1.2", - "vite": "^5.0.0" + "debug": "^4.4.0", + "es-module-lexer": "^1.6.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0" }, "bin": { "vite-node": "vite-node.mjs" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/vite-tsconfig-paths": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.3.tgz", - "integrity": "sha512-0bz+PDlLpGfP2CigeSKL9NFTF1KtXkeHGZSSaGQSuPZH77GhoiQaA8IjYgOaynSuwlDTolSUEU0ErVvju3NURg==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.4.tgz", + "integrity": "sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==", "dev": true, "license": "MIT", "dependencies": { @@ -9717,47 +9782,48 @@ } }, "node_modules/vitest": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.9.tgz", - "integrity": "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.1.1.tgz", + "integrity": "sha512-kiZc/IYmKICeBAZr9DQ5rT7/6bD9G7uqQEki4fxazi1jdVl2mWGzedtBs5s6llz59yQhVb7FFY2MbHzHCnT79Q==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "2.1.9", - "@vitest/mocker": "2.1.9", - "@vitest/pretty-format": "^2.1.9", - "@vitest/runner": "2.1.9", - "@vitest/snapshot": "2.1.9", - "@vitest/spy": "2.1.9", - "@vitest/utils": "2.1.9", - "chai": "^5.1.2", - "debug": "^4.3.7", - "expect-type": "^1.1.0", - "magic-string": "^0.30.12", - "pathe": "^1.1.2", - "std-env": "^3.8.0", + "@vitest/expect": "3.1.1", + "@vitest/mocker": "3.1.1", + "@vitest/pretty-format": "^3.1.1", + "@vitest/runner": "3.1.1", + "@vitest/snapshot": "3.1.1", + "@vitest/spy": "3.1.1", + "@vitest/utils": "3.1.1", + "chai": "^5.2.0", + "debug": "^4.4.0", + "expect-type": "^1.2.0", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "std-env": "^3.8.1", "tinybench": "^2.9.0", - "tinyexec": "^0.3.1", - "tinypool": "^1.0.1", - "tinyrainbow": "^1.2.0", - "vite": "^5.0.0", - "vite-node": "2.1.9", + "tinyexec": "^0.3.2", + "tinypool": "^1.0.2", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0", + "vite-node": "3.1.1", "why-is-node-running": "^2.3.0" }, "bin": { "vitest": "vitest.mjs" }, "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { "@edge-runtime/vm": "*", - "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "2.1.9", - "@vitest/ui": "2.1.9", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.1.1", + "@vitest/ui": "3.1.1", "happy-dom": "*", "jsdom": "*" }, @@ -9765,6 +9831,9 @@ "@edge-runtime/vm": { "optional": true }, + "@types/debug": { + "optional": true + }, "@types/node": { "optional": true }, @@ -10145,9 +10214,9 @@ } }, "node_modules/zod": { - "version": "3.23.8", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", - "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "version": "3.24.2", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.2.tgz", + "integrity": "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" diff --git a/frontend/package.json b/frontend/package.json index 97a41e9a0..28a0a6680 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -20,70 +20,71 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@radix-ui/react-accordion": "^1.1.2", - "@radix-ui/react-dialog": "^1.0.5", - "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-icons": "^1.3.1", - "@radix-ui/react-label": "^2.1.0", - "@radix-ui/react-navigation-menu": "^1.1.4", - "@radix-ui/react-popover": "^1.1.2", - "@radix-ui/react-select": "^2.1.2", - "@radix-ui/react-separator": "^1.1.0", - "@radix-ui/react-slot": "^1.1.0", - "@radix-ui/react-switch": "^1.1.1", - "@radix-ui/react-tabs": "^1.1.0", - "@radix-ui/react-tooltip": "^1.1.2", - "@vercel/analytics": "^1.2.2", - "chart.js": "^4.4.1", + "@radix-ui/react-accordion": "^1.2.3", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-dropdown-menu": "^2.1.6", + "@radix-ui/react-icons": "^1.3.2", + "@radix-ui/react-label": "^2.1.2", + "@radix-ui/react-navigation-menu": "^1.2.5", + "@radix-ui/react-popover": "^1.1.6", + "@radix-ui/react-select": "^2.1.6", + "@radix-ui/react-separator": "^1.1.2", + "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-switch": "^1.1.3", + "@radix-ui/react-tabs": "^1.1.3", + "@radix-ui/react-tooltip": "^1.1.8", + "@tanstack/react-query": "^5.71.1", + "chart.js": "^4.4.8", "chartjs-plugin-datalabels": "^2.2.0", - "class-variance-authority": "^0.7.0", + "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", - "cmdk": "^1.0.0", + "cmdk": "^1.1.1", "date-fns": "^4.1.0", - "framer-motion": "^11.11.11", - "fuse.js": "^7.0.0", + "framer-motion": "^11.18.2", + "fuse.js": "^7.1.0", "lucide-react": "^0.453.0", "mini-svg-data-uri": "^1.4.4", "next": "15.2.3", "next-themes": "^0.3.0", - "nuqs": "^2.1.1", - "pocketbase": "^0.21.4", + "nuqs": "^2.4.1", + "pocketbase": "^0.21.5", "prettier-plugin-organize-imports": "^4.1.0", - "react": "19.0.0-rc-02c0e824-20241028", + "react": "19.0.0", "react-chartjs-2": "^5.3.0", "react-code-blocks": "^0.1.6", "react-datepicker": "^7.6.0", "react-day-picker": "8.10.1", - "react-dom": "19.0.0-rc-02c0e824-20241028", - "react-icons": "^5.1.0", + "react-dom": "19.0.0", + "react-icons": "^5.5.0", "react-simple-typewriter": "^5.0.1", "sharp": "^0.33.5", - "simple-icons": "^13.5.0", - "sonner": "^1.5.0", - "tailwind-merge": "^2.3.0", - "zod": "^3.23.8" + "simple-icons": "^13.21.0", + "sonner": "^1.7.4", + "tailwind-merge": "^2.6.0", + "zod": "^3.24.2" }, "devDependencies": { + "@tanstack/eslint-plugin-query": "^5.68.0", "@testing-library/dom": "^10.4.0", - "@testing-library/react": "^16.0.1", - "@types/node": "^22", + "@testing-library/react": "^16.2.0", + "@types/node": "^22.13.16", "@types/react": "npm:types-react@19.0.0-rc.1", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1", - "@typescript-eslint/eslint-plugin": "^8.8.1", - "@typescript-eslint/parser": "^8.8.1", + "@typescript-eslint/eslint-plugin": "^8.29.0", + "@typescript-eslint/parser": "^8.29.0", "@vitejs/plugin-react": "^4.3.4", - "eslint": "^9.13.0", + "eslint": "^9.23.0", "eslint-config-next": "15.0.2", "jsdom": "^25.0.1", - "postcss": "^8", - "prettier": "^3.2.5", - "prettier-plugin-tailwindcss": "^0.6.5", - "tailwindcss": "^3.4.9", + "postcss": "^8.5.3", + "prettier": "^3.5.3", + "prettier-plugin-tailwindcss": "^0.6.11", + "tailwindcss": "^3.4.17", "tailwindcss-animate": "^1.0.7", "tailwindcss-animated": "^1.1.2", - "typescript": "^5", - "vite-tsconfig-paths": "^5.1.3", - "vitest": "^2.1.9" + "typescript": "^5.8.2", + "vite-tsconfig-paths": "^5.1.4", + "vitest": "^3.1.1" }, "overrides": { "@types/react": "npm:types-react@19.0.0-rc.1", diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index 423c7ad1e..b14bae37e 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -1,5 +1,6 @@ import Footer from "@/components/Footer"; import Navbar from "@/components/Navbar"; +import QueryProvider from "@/components/query-provider"; import { ThemeProvider } from "@/components/theme-provider"; import { Toaster } from "@/components/ui/sonner"; import { analytics, basePath } from "@/config/siteConfig"; @@ -15,15 +16,7 @@ export const metadata = { generator: "Next.js", applicationName: "Proxmox VE Helper-Scripts", referrer: "origin-when-cross-origin", - keywords: [ - "Proxmox VE", - "Helper-Scripts", - "tteck", - "helper", - "scripts", - "proxmox", - "VE", - ], + keywords: ["Proxmox VE", "Helper-Scripts", "tteck", "helper", "scripts", "proxmox", "VE"], authors: { name: "Bram Suurd" }, creator: "Bram Suurd", publisher: "Bram Suurd", @@ -59,28 +52,21 @@ export default function RootLayout({ return ( - + - +
- {children} + + {children} +
diff --git a/frontend/src/app/scripts/_components/ResourceDisplay.tsx b/frontend/src/app/scripts/_components/ResourceDisplay.tsx new file mode 100644 index 000000000..7c9ed63e5 --- /dev/null +++ b/frontend/src/app/scripts/_components/ResourceDisplay.tsx @@ -0,0 +1,42 @@ +import { CPUIcon, HDDIcon, RAMIcon } from "@/components/icons/resource-icons"; +import { getDisplayValueFromRAM } from "@/lib/utils/resource-utils"; + +interface ResourceDisplayProps { + title: string; + cpu: number | null; + ram: number | null; + hdd: number | null; +} + +interface IconTextProps { + icon: React.ReactNode; + label: string; +} + +function IconText({ icon, label }: IconTextProps) { + return ( + + {icon} + {label} + + ); +} + +export function ResourceDisplay({ title, cpu, ram, hdd }: ResourceDisplayProps) { + const hasCPU = typeof cpu === "number" && cpu > 0; + const hasRAM = typeof ram === "number" && ram > 0; + const hasHDD = typeof hdd === "number" && hdd > 0; + + if (!hasCPU && !hasRAM && !hasHDD) return null; + + return ( +
+ {title} +
+ {hasCPU && } label={`${cpu} vCPU`} />} + {hasRAM && } label={getDisplayValueFromRAM(ram!)} />} + {hasHDD && } label={`${hdd} GB`} />} +
+
+ ); +} diff --git a/frontend/src/app/scripts/_components/ScriptItem.tsx b/frontend/src/app/scripts/_components/ScriptItem.tsx index fd9ae9115..fa044817f 100644 --- a/frontend/src/app/scripts/_components/ScriptItem.tsx +++ b/frontend/src/app/scripts/_components/ScriptItem.tsx @@ -1,263 +1,156 @@ -import { Separator } from "@/components/ui/separator"; -import { fetchVersions } from "@/lib/data"; +"use client"; + import { extractDate } from "@/lib/time"; import { AppVersion, Script } from "@/lib/types"; import { X } from "lucide-react"; import Image from "next/image"; +import { Separator } from "@/components/ui/separator"; import { basePath } from "@/config/siteConfig"; -import { useEffect, useState } from "react"; +import { useVersions } from "@/hooks/useVersions"; +import { cleanSlug } from "@/lib/utils/resource-utils"; +import { Suspense } from "react"; +import { ResourceDisplay } from "./ResourceDisplay"; import { getDisplayValueFromType } from "./ScriptInfoBlocks"; import Alerts from "./ScriptItems/Alerts"; -import Buttons from "./ScriptItems/Buttons"; import DefaultPassword from "./ScriptItems/DefaultPassword"; import Description from "./ScriptItems/Description"; import InstallCommand from "./ScriptItems/InstallCommand"; -import InterFaces from "./ScriptItems/InterFaces"; import Tooltips from "./ScriptItems/Tooltips"; +import InterFaces from "./ScriptItems/InterFaces"; +import Buttons from "./ScriptItems/Buttons"; -function ScriptItem({ item, setSelectedScript }: { item: Script; setSelectedScript: (script: string | null) => void }) { - const closeScript = () => { - window.history.pushState({}, document.title, window.location.pathname); - setSelectedScript(null); - }; - const [versions, setVersions] = useState([]); - - useEffect(() => { - fetchVersions() - .then((fetchedVersions) => { - console.log("Fetched Versions: ", fetchedVersions); - if (Array.isArray(fetchedVersions)) { - setVersions(fetchedVersions); - } else if (fetchedVersions && typeof fetchedVersions === "object") { - setVersions([fetchedVersions]); - } else { - setVersions([]); - } - }) - .catch((error) => console.error("Error fetching versions:", error)); - }, []); +interface ScriptItemProps { + item: Script; + setSelectedScript: (script: string | null) => void; +} +function ScriptHeader({ item }: { item: Script }) { const defaultInstallMethod = item.install_methods?.[0]; const os = defaultInstallMethod?.resources?.os || "Proxmox Node"; const version = defaultInstallMethod?.resources?.version || ""; return ( -
-
-
-
-

Selected Script

- -
-
-
-
- ((e.currentTarget as HTMLImageElement).src = `/${basePath}/logo.png`)} - height={400} - alt={item.name} - unoptimized - /> -
-
-
-

- {item.name} {getDisplayValueFromType(item.type)} -

-

- Date added: {extractDate(item.date_created)} -

-

- Default OS: {os} {version} -

-
-
- {(() => { - const getDisplayValueFromRAM = (ram: number) => - ram >= 1024 ? `${Math.floor(ram / 1024)}GB` : `${ram}MB`; - - const IconText = ({ icon, label }: { icon: React.ReactNode; label: string }) => ( - - {icon} - {label} - - ); - - const CPUIcon = ( - - - - - ); - - const RAMIcon = ( - - - - - ); - - const HDDIcon = ( - - - - - - ); - - const ResourceDisplay = ({ - title, - cpu, - ram, - hdd, - }: { - title: string; - cpu: number | null; - ram: number | null; - hdd: number | null; - }) => { - const getDisplayValueFromRAM = (ram: number) => - ram >= 1024 ? `${Math.floor(ram / 1024)}GB` : `${ram}MB`; - - const IconText = ({ icon, label }: { icon: React.ReactNode; label: string }) => ( - - {icon} - {label} - - ); - - const hasCPU = typeof cpu === "number" && cpu > 0; - const hasRAM = typeof ram === "number" && ram > 0; - const hasHDD = typeof hdd === "number" && hdd > 0; - - if (!hasCPU && !hasRAM && !hasHDD) return null; - - return ( -
- {title}: - {hasCPU && ( - <> - - | - - )} - {hasRAM && ( - <> - - | - - )} - {hasHDD && } -
- ); - }; - - const defaultSettings = item.install_methods.find((method) => method.type === "default"); - const alpineSettings = item.install_methods.find((method) => method.type === "alpine"); - return ( - <> - {defaultSettings?.resources && ( - - )} - - {alpineSettings?.resources && ( - - )} - - ); - })()} -
- - {(() => { - if (versions.length === 0) { - return

Loading versions...

; - } - - const cleanSlug = item.slug.replace(/[^a-z0-9]/gi, "").toLowerCase(); - - const matched = versions.find((v) => { - const cleanName = v.name.replace(/[^a-z0-9]/gi, "").toLowerCase(); - return cleanName === cleanSlug || cleanName.includes(cleanSlug); - }); - - if (!matched) return null; - - return ( -
- - Version: {matched.version} ( - {extractDate( - matched.date instanceof Date ? matched.date.toISOString() : matched.date || "", - )} - - - Info - -
- ); - })()} -
+
+
+
+ ((e.currentTarget as HTMLImageElement).src = `/${basePath}/logo.png`)} + height={400} + alt={item.name} + unoptimized + /> +
+
+
+
+
+

+ {item.name} + + + {getDisplayValueFromType(item.type)} + +

+
+ Added {extractDate(item.date_created)} + β€’ + + {os} {version} +
-
- - -
+ {/* */}
- -
-
- - +
+ {defaultInstallMethod?.resources && ( + + )} + {item.install_methods.find((method) => method.type === "alpine")?.resources && ( + method.type === "alpine")!.resources!} + /> + )} +
+
+
+
+
+ +
+ +
+
+
+ ); +} + +function VersionInfo({ item }: { item: Script }) { + const { data: versions = [], isLoading } = useVersions(); + + if (isLoading || versions.length === 0) { + return

Loading versions...

; + } + + const matchedVersion = versions.find((v: AppVersion) => { + const cleanName = v.name.replace(/[^a-z0-9]/gi, "").toLowerCase(); + return cleanName === cleanSlug(item.slug) || cleanName.includes(cleanSlug(item.slug)); + }); + + if (!matchedVersion) return null; + + return {matchedVersion.version}; +} + +export function ScriptItem({ item, setSelectedScript }: ScriptItemProps) { + const closeScript = () => { + window.history.pushState({}, document.title, window.location.pathname); + setSelectedScript(null); + }; + + return ( +
+
+
+

Selected Script

+ +
+ +
+
+ }> + + + + + + +
+
+

How to {item.type === "misc" ? "use" : "install"}

+
-
-
-

How to {item.type == "misc" ? "use" : "install"}

- -
- + +
+
@@ -265,5 +158,3 @@ function ScriptItem({ item, setSelectedScript }: { item: Script; setSelectedScri
); } - -export default ScriptItem; diff --git a/frontend/src/app/scripts/_components/ScriptItems/Alerts.tsx b/frontend/src/app/scripts/_components/ScriptItems/Alerts.tsx index b915be3ff..c4c29020c 100644 --- a/frontend/src/app/scripts/_components/ScriptItems/Alerts.tsx +++ b/frontend/src/app/scripts/_components/ScriptItems/Alerts.tsx @@ -14,7 +14,7 @@ export default function Alerts({ item }: { item: Script }) { <> {item?.notes?.length > 0 && item.notes.map((note: NoteProps, index: number) => ( -
+

{ const baseUrl = `https://raw.githubusercontent.com/community-scripts/${basePath}/main`; @@ -12,7 +17,6 @@ const generateInstallSourceUrl = (slug: string) => { const generateSourceUrl = (slug: string, type: string) => { const baseUrl = `https://raw.githubusercontent.com/community-scripts/${basePath}/main`; return type === "vm" ? `${baseUrl}/vm/${slug}.sh` : `${baseUrl}/misc/${slug}.sh`; - return `${baseUrl}/misc/${slug}.sh`; }; const generateUpdateUrl = (slug: string) => { @@ -20,62 +24,66 @@ const generateUpdateUrl = (slug: string) => { return `${baseUrl}/ct/${slug}.sh`; }; -interface ButtonLinkProps { +interface LinkItem { href: string; icon: React.ReactNode; text: string; } -const ButtonLink = ({ href, icon, text }: ButtonLinkProps) => ( - -); - export default function Buttons({ item }: { item: Script }) { const isCtOrDefault = ["ct"].includes(item.type); const installSourceUrl = isCtOrDefault ? generateInstallSourceUrl(item.slug) : null; const updateSourceUrl = isCtOrDefault ? generateUpdateUrl(item.slug) : null; const sourceUrl = !isCtOrDefault ? generateSourceUrl(item.slug, item.type) : null; - const buttons = [ + const links = [ item.website && { href: item.website, - icon: , + icon: , text: "Website", }, item.documentation && { href: item.documentation, - icon: , + icon: , text: "Documentation", }, installSourceUrl && { href: installSourceUrl, - icon: , - text: "Install-Source", + icon: , + text: "Install Source", }, updateSourceUrl && { href: updateSourceUrl, - icon: , - text: "Update-Source", + icon: , + text: "Update Source", }, sourceUrl && { href: sourceUrl, - icon: , + icon: , text: "Source Code", }, - ].filter(Boolean) as ButtonLinkProps[]; + ].filter(Boolean) as LinkItem[]; + + if (links.length === 0) return null; return ( -

- {buttons.map((props, index) => ( - - ))} -
+ + + + + + {links.map((link, index) => ( + + + {link.icon} + {link.text} + + + ))} + + ); } diff --git a/frontend/src/app/scripts/_components/ScriptItems/DefaultPassword.tsx b/frontend/src/app/scripts/_components/ScriptItems/DefaultPassword.tsx index 15a962318..5034bc939 100644 --- a/frontend/src/app/scripts/_components/ScriptItems/DefaultPassword.tsx +++ b/frontend/src/app/scripts/_components/ScriptItems/DefaultPassword.tsx @@ -14,24 +14,19 @@ export default function DefaultPassword({ item }: { item: Script }) { }; return ( -
-
+
+

Default Login Credentials

- You can use the following credentials to login to the {item.name}{" "} - {item.type}. + You can use the following credentials to login to the {item.name} {item.type}.

{["username", "password"].map((type) => (
{type.charAt(0).toUpperCase() + type.slice(1)}:{" "} -
diff --git a/frontend/src/app/scripts/_components/ScriptItems/DefaultSettings.tsx b/frontend/src/app/scripts/_components/ScriptItems/DefaultSettings.tsx index bfa61759d..33ae0b862 100644 --- a/frontend/src/app/scripts/_components/ScriptItems/DefaultSettings.tsx +++ b/frontend/src/app/scripts/_components/ScriptItems/DefaultSettings.tsx @@ -1,51 +1,29 @@ import { Script } from "@/lib/types"; export default function DefaultSettings({ item }: { item: Script }) { - const getDisplayValueFromRAM = (ram: number) => - ram >= 1024 ? `${Math.floor(ram / 1024)}GB` : `${ram}MB`; + const getDisplayValueFromRAM = (ram: number) => (ram >= 1024 ? `${Math.floor(ram / 1024)}GB` : `${ram}MB`); - const ResourceDisplay = ({ - settings, - title, - }: { - settings: (typeof item.install_methods)[0]; - title: string; - }) => { + const ResourceDisplay = ({ settings, title }: { settings: (typeof item.install_methods)[0]; title: string }) => { const { cpu, ram, hdd } = settings.resources; return (

{title}

CPU: {cpu}vCPU

-

- RAM: {getDisplayValueFromRAM(ram ?? 0)} -

+

RAM: {getDisplayValueFromRAM(ram ?? 0)}

HDD: {hdd}GB

); }; - const defaultSettings = item.install_methods.find( - (method) => method.type === "default", - ); - const defaultAlpineSettings = item.install_methods.find( - (method) => method.type === "alpine", - ); + const defaultSettings = item.install_methods.find((method) => method.type === "default"); + const defaultAlpineSettings = item.install_methods.find((method) => method.type === "alpine"); - const hasDefaultSettings = - defaultSettings?.resources && - Object.values(defaultSettings.resources).some(Boolean); + const hasDefaultSettings = defaultSettings?.resources && Object.values(defaultSettings.resources).some(Boolean); return ( - <> - {hasDefaultSettings && ( - - )} - {defaultAlpineSettings && ( - - )} - +
+ {hasDefaultSettings && } + {defaultAlpineSettings && } +
); } diff --git a/frontend/src/app/scripts/_components/ScriptItems/InterFaces.tsx b/frontend/src/app/scripts/_components/ScriptItems/InterFaces.tsx index 99f855fad..d7ea148ae 100644 --- a/frontend/src/app/scripts/_components/ScriptItems/InterFaces.tsx +++ b/frontend/src/app/scripts/_components/ScriptItems/InterFaces.tsx @@ -4,36 +4,16 @@ import { Script } from "@/lib/types"; import { cn } from "@/lib/utils"; import { ClipboardIcon } from "lucide-react"; -const CopyButton = ({ - label, - value, -}: { - label: string; - value: string | number; -}) => ( - - {value} - handleCopy(label, String(value))} - className="size-4 cursor-pointer" - /> - -); - export default function InterFaces({ item }: { item: Script }) { return ( -
+
{item.interface_port !== null ? (
-

- {"Default Interface:"} -

{" "} - +

Default Interface:

+ + {item.interface_port} + handleCopy("default interface", String(item.interface_port))} className="size-4 cursor-pointer" /> +
) : null}
diff --git a/frontend/src/app/scripts/_components/VersionBadge.tsx b/frontend/src/app/scripts/_components/VersionBadge.tsx new file mode 100644 index 000000000..712893d6c --- /dev/null +++ b/frontend/src/app/scripts/_components/VersionBadge.tsx @@ -0,0 +1,13 @@ +import { AppVersion } from "@/lib/types"; + +interface VersionBadgeProps { + version: AppVersion; +} + +export function VersionBadge({ version }: VersionBadgeProps) { + return ( +
+ {version.version} +
+ ); +} diff --git a/frontend/src/app/scripts/page.tsx b/frontend/src/app/scripts/page.tsx index a02f80b83..590b67358 100644 --- a/frontend/src/app/scripts/page.tsx +++ b/frontend/src/app/scripts/page.tsx @@ -2,7 +2,7 @@ export const dynamic = "force-static"; -import ScriptItem from "@/app/scripts/_components/ScriptItem"; +import { ScriptItem } from "@/app/scripts/_components/ScriptItem"; import { fetchCategories } from "@/lib/data"; import { Category, Script } from "@/lib/types"; import { Loader2 } from "lucide-react"; diff --git a/frontend/src/components/icons/resource-icons.tsx b/frontend/src/components/icons/resource-icons.tsx new file mode 100644 index 000000000..981c36ffa --- /dev/null +++ b/frontend/src/components/icons/resource-icons.tsx @@ -0,0 +1,48 @@ +export function CPUIcon() { + return ( + + + + + ); +} + +export function RAMIcon() { + return ( + + + + + ); +} + +export function HDDIcon() { + return ( + + + + + + ); +} diff --git a/frontend/src/components/query-provider.tsx b/frontend/src/components/query-provider.tsx new file mode 100644 index 000000000..0c2fe1275 --- /dev/null +++ b/frontend/src/components/query-provider.tsx @@ -0,0 +1,9 @@ +"use client"; +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import React from "react"; + +const queryClient = new QueryClient(); + +export default function QueryProvider({ children }: { children: React.ReactNode }) { + return {children}; +} diff --git a/frontend/src/hooks/useVersions.ts b/frontend/src/hooks/useVersions.ts new file mode 100644 index 000000000..44404f4fa --- /dev/null +++ b/frontend/src/hooks/useVersions.ts @@ -0,0 +1,21 @@ +"use client"; + +import { fetchVersions } from "@/lib/data"; +import { AppVersion } from "@/lib/types"; +import { useQuery } from "@tanstack/react-query"; + +export function useVersions() { + return useQuery({ + queryKey: ["versions"], + queryFn: async () => { + const fetchedVersions = await fetchVersions(); + if (Array.isArray(fetchedVersions)) { + return fetchedVersions; + } + if (fetchedVersions && typeof fetchedVersions === "object") { + return [fetchedVersions]; + } + return []; + }, + }); +} diff --git a/frontend/src/lib/utils/resource-utils.ts b/frontend/src/lib/utils/resource-utils.ts new file mode 100644 index 000000000..25e096605 --- /dev/null +++ b/frontend/src/lib/utils/resource-utils.ts @@ -0,0 +1,7 @@ +export function getDisplayValueFromRAM(ram: number): string { + return ram >= 1024 ? `${Math.floor(ram / 1024)}GB` : `${ram}MB`; +} + +export function cleanSlug(slug: string): string { + return slug.replace(/[^a-z0-9]/gi, "").toLowerCase(); +} From 409358abe2b9f2f437a7ae21d4e4dc7810e74de2 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 1 Apr 2025 16:04:47 +0200 Subject: [PATCH 081/166] Alpine Prometheus LXC (#3547) --- ct/alpine-prometheus.sh | 46 ++++++++++++++++++++++++++++ frontend/public/json/prometheus.json | 11 +++++++ install/alpine-prometheus-install.sh | 34 ++++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 ct/alpine-prometheus.sh create mode 100644 install/alpine-prometheus-install.sh diff --git a/ct/alpine-prometheus.sh b/ct/alpine-prometheus.sh new file mode 100644 index 000000000..bb3066edc --- /dev/null +++ b/ct/alpine-prometheus.sh @@ -0,0 +1,46 @@ +#!/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: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://prometheus.io/ + +APP="Alpine-Prometheus" +var_tags="${var_tags:-alpine;monitoring}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-256}" +var_disk="${var_disk:-1}" +var_os="${var_os:-alpine}" +var_version="${var_version:-3.21}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + msg_info "Updating Alpine Packages" + $STD apk update + $STD apk upgrade + msg_ok "Updated Alpine Packages" + + msg_info "Updating Prometheus" + $STD apk upgrade prometheus + msg_ok "Updated Prometheus" + + msg_info "Restarting Prometheus" + $STD rc-service prometheus restart + msg_ok "Restarted Prometheus" + + 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 URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9090${CL}" diff --git a/frontend/public/json/prometheus.json b/frontend/public/json/prometheus.json index f7dba6db8..db7d86676 100644 --- a/frontend/public/json/prometheus.json +++ b/frontend/public/json/prometheus.json @@ -24,6 +24,17 @@ "os": "debian", "version": "12" } + }, + { + "type": "alpine", + "script": "ct/alpine-prometheus.sh", + "resources": { + "cpu": 1, + "ram": 256, + "hdd": 1, + "os": "alpine", + "version": "3.21" + } } ], "default_credentials": { diff --git a/install/alpine-prometheus-install.sh b/install/alpine-prometheus-install.sh new file mode 100644 index 000000000..dec563138 --- /dev/null +++ b/install/alpine-prometheus-install.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://prometheus.io/ + +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 \ + gpg +msg_ok "Installed Dependencies" + +msg_info "Installing Prometheus" +$STD apk add --no-cache prometheus +msg_ok "Installed Prometheus" + +msg_info "Enabling Prometheus Service" +$STD rc-update add prometheus default +msg_ok "Enabled Prometheus Service" + +msg_info "Starting Prometheus" +$STD service prometheus start +msg_ok "Started Prometheus" + +motd_ssh +customize From 7727ed2cbb7611a2d7b882e67d55655dcaa16429 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, 1 Apr 2025 16:07:56 +0200 Subject: [PATCH 082/166] Update .app files (#3572) Co-authored-by: GitHub Actions --- ct/headers/alpine-prometheus | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ct/headers/alpine-prometheus diff --git a/ct/headers/alpine-prometheus b/ct/headers/alpine-prometheus new file mode 100644 index 000000000..5934057fb --- /dev/null +++ b/ct/headers/alpine-prometheus @@ -0,0 +1,6 @@ + ___ __ _ ____ __ __ + / | / /___ (_)___ ___ / __ \_________ ____ ___ ___ / /_/ /_ ___ __ _______ + / /| | / / __ \/ / __ \/ _ \______/ /_/ / ___/ __ \/ __ `__ \/ _ \/ __/ __ \/ _ \/ / / / ___/ + / ___ |/ / /_/ / / / / / __/_____/ ____/ / / /_/ / / / / / / __/ /_/ / / / __/ /_/ (__ ) +/_/ |_/_/ .___/_/_/ /_/\___/ /_/ /_/ \____/_/ /_/ /_/\___/\__/_/ /_/\___/\__,_/____/ + /_/ From af5809c888f8911b8efb24325d6f20918866a588 Mon Sep 17 00:00:00 2001 From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com> Date: Tue, 1 Apr 2025 16:17:55 +0200 Subject: [PATCH 083/166] Update metadata inside layout.tsx for better SEO (#3570) --- frontend/src/app/layout.tsx | 73 ++++++++++++++++++++++++++++++------- 1 file changed, 59 insertions(+), 14 deletions(-) diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index b14bae37e..e25b3cccf 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -5,43 +5,88 @@ import { ThemeProvider } from "@/components/theme-provider"; import { Toaster } from "@/components/ui/sonner"; import { analytics, basePath } from "@/config/siteConfig"; import "@/styles/globals.css"; +import type { Metadata } from "next"; import { Inter } from "next/font/google"; import { NuqsAdapter } from "nuqs/adapters/next/app"; import React from "react"; const inter = Inter({ subsets: ["latin"] }); -export const metadata = { +export const metadata : Metadata = { title: "Proxmox VE Helper-Scripts", - generator: "Next.js", - applicationName: "Proxmox VE Helper-Scripts", - referrer: "origin-when-cross-origin", - keywords: ["Proxmox VE", "Helper-Scripts", "tteck", "helper", "scripts", "proxmox", "VE"], - authors: { name: "Bram Suurd" }, - creator: "Bram Suurd", - publisher: "Bram Suurd", description: - "A Front-end for the Proxmox VE Helper-Scripts (Community) Repository. Featuring over 200+ scripts to help you manage your Proxmox VE environment.", - favicon: "/app/favicon.ico", + "The official website for the Proxmox VE Helper-Scripts (Community) Repository. Featuring over 300+ scripts to help you manage your Proxmox VE environment.", + applicationName: "Proxmox VE Helper-Scripts", + generator: "Next.js", + referrer: "origin-when-cross-origin", + keywords: [ + "Proxmox VE", + "Helper-Scripts", + "tteck", + "helper", + "scripts", + "proxmox", + "VE", + "virtualization", + "containers", + "LXC", + "VM", + ], + authors: [ + { name: "Bram Suurd", url: "https://github.com/BramSuurdje" }, + { name: "Community Scripts", url: "https://github.com/Community-Scripts" }, + ], + creator: "Bram Suurd", + publisher: "Community Scripts", + metadataBase: new URL(`https://community-scripts.github.io/${basePath}/`), + alternates: { + canonical: `https://community-scripts.github.io/${basePath}/`, + }, + icons: { + icon: "/favicon.ico", + apple: "/apple-touch-icon.png", + }, + viewport: { + width: "device-width", + initialScale: 1, + maximumScale: 5, + }, formatDetection: { email: false, address: false, telephone: false, }, - metadataBase: new URL(`https://community-scripts.github.io/${basePath}/`), openGraph: { title: "Proxmox VE Helper-Scripts", description: - "A Front-end for the Proxmox VE Helper-Scripts (Community) Repository. Featuring over 200+ scripts to help you manage your Proxmox VE environment.", - url: "/defaultimg.png", + "The official website for the Proxmox VE Helper-Scripts (Community) Repository. Featuring over 300+ scripts to help you manage your Proxmox VE environment.", + url: `https://community-scripts.github.io/${basePath}/`, + siteName: "Proxmox VE Helper-Scripts", images: [ { url: `https://community-scripts.github.io/${basePath}/defaultimg.png`, + width: 1200, + height: 630, + alt: "Proxmox VE Helper-Scripts", }, ], locale: "en_US", type: "website", }, + twitter: { + card: "summary_large_image", + title: "Proxmox VE Helper-Scripts", + creator: "@BramSuurdje", + description: + "The official website for the Proxmox VE Helper-Scripts (Community) Repository. Featuring over 300+ scripts to help you manage your Proxmox VE environment.", + images: [`https://community-scripts.github.io/${basePath}/defaultimg.png`], + }, + manifest: "/manifest.webmanifest", + appleWebApp: { + capable: true, + statusBarStyle: "default", + title: "Proxmox VE Helper-Scripts", + }, }; export default function RootLayout({ @@ -53,7 +98,7 @@ export default function RootLayout({ - + From 2a28807d8fb1b9177065882b99c5399363dd1a90 Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Tue, 1 Apr 2025 17:55:14 +0200 Subject: [PATCH 084/166] fix curl commands (#3568) --- ct/heimdall-dashboard.sh | 12 ++++++------ ct/pterodactyl-wings.sh | 4 ++-- ct/zitadel.sh | 6 +++--- install/daemonsync-install.sh | 2 +- install/flaresolverr-install.sh | 2 +- install/heimdall-dashboard-install.sh | 14 +++++++------- install/kubo-install.sh | 2 +- install/seafile-install.sh | 2 +- install/zitadel-install.sh | 2 +- 9 files changed, 23 insertions(+), 23 deletions(-) diff --git a/ct/heimdall-dashboard.sh b/ct/heimdall-dashboard.sh index fa4765014..f65b896f3 100644 --- a/ct/heimdall-dashboard.sh +++ b/ct/heimdall-dashboard.sh @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSLX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') + RELEASE=$(curl -fsSL "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping ${APP}" systemctl stop heimdall @@ -40,23 +40,23 @@ function update_script() { msg_ok "Backed up Data" msg_info "Updating Heimdall Dashboard to ${RELEASE}" curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -o $(basename "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") - tar xzf ${RELEASE}.tar.gz + tar xzf "${RELEASE}".tar.gz VER=$(curl -fsSL https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - cp -R Heimdall-${VER}/* /opt/Heimdall - cd /opt/Heimdall + cp -R Heimdall-"${VER}"/* /opt/Heimdall + cd /opt/Heimdall || exit $STD apt-get install -y composer export COMPOSER_ALLOW_SUPERUSER=1 $STD composer dump-autoload echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated Heimdall Dashboard to ${RELEASE}" msg_info "Restoring Data" - cd ~ + cd ~ || exit cp -R database-backup/* /opt/Heimdall/database cp -R public-backup/* /opt/Heimdall/public sleep 1 msg_ok "Restored Data" msg_info "Cleanup" - rm -rf {${RELEASE}.tar.gz,Heimdall-${VER},public-backup,database-backup,Heimdall} + rm -rf {"${RELEASE}".tar.gz,Heimdall-"${VER}",public-backup,database-backup,Heimdall} sleep 1 msg_ok "Cleaned" msg_info "Starting ${APP}" diff --git a/ct/pterodactyl-wings.sh b/ct/pterodactyl-wings.sh index 3a1aa6526..72142827e 100644 --- a/ct/pterodactyl-wings.sh +++ b/ct/pterodactyl-wings.sh @@ -35,7 +35,7 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" rm /usr/local/bin/wings -curl -fsSL "https://github.com/pterodactyl/wings/releases/download/v${RELEASE}/wings_linux_amd64" -o "/usr/local/bin/wings" + curl -fsSL "https://github.com/pterodactyl/wings/releases/download/v${RELEASE}/wings_linux_amd64" -o "/usr/local/bin/wings" chmod u+x /usr/local/bin/wings echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated $APP to v${RELEASE}" @@ -55,4 +55,4 @@ build_container description msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" \ No newline at end of file +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" diff --git a/ct/zitadel.sh b/ct/zitadel.sh index 2d0c9c7bf..9085dd7fb 100644 --- a/ct/zitadel.sh +++ b/ct/zitadel.sh @@ -27,15 +27,15 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSLi https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r') + RELEASE=$(curl -fsSL https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r') if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt | grep -oP '\d+\.\d+\.\d+')" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then msg_info "Stopping $APP" systemctl stop zitadel msg_ok "Stopped $APP" msg_info "Updating $APP to ${RELEASE}" - cd /tmp - curl -fsSL https://github.com/zitadel/zitadel/releases/download/$RELEASE/zitadel-linux-amd64.tar.gz | tar -xz + cd /tmp || exit + curl -fsSL https://github.com/zitadel/zitadel/releases/download/"$RELEASE"/zitadel-linux-amd64.tar.gz | tar -xz mv zitadel-linux-amd64/zitadel /usr/local/bin $STD zitadel setup --masterkeyFile /opt/zitadel/.masterkey --config /opt/zitadel/config.yaml --init-projections=true echo "${RELEASE}" >/opt/${APP}_version.txt diff --git a/install/daemonsync-install.sh b/install/daemonsync-install.sh index fcba3b959..1afc20af3 100644 --- a/install/daemonsync-install.sh +++ b/install/daemonsync-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y g++-multilib msg_ok "Installed Dependencies" msg_info "Installing Daemon Sync Server" -curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/daemonsync_2.2.0.0059_amd64.deb -O +curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/daemonsync_2.2.0.0059_amd64.deb -O "daemonsync_2.2.0.0059_amd64.deb" $STD dpkg -i daemonsync_2.2.0.0059_amd64.deb msg_ok "Installed Daemon Sync Server" diff --git a/install/flaresolverr-install.sh b/install/flaresolverr-install.sh index 3c5ca4f38..f9d99e315 100644 --- a/install/flaresolverr-install.sh +++ b/install/flaresolverr-install.sh @@ -29,7 +29,7 @@ msg_ok "Installed Chrome" msg_info "Installing FlareSolverr" RELEASE=$(curl -fsSL https://github.com/FlareSolverr/FlareSolverr/releases/latest | grep "title>Release" | cut -d " " -f 4) -$STD curl -fsSL "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz" -O +$STD curl -fsSL "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz" -O "flaresolverr_linux_x64.tar.gz" $STD tar -xzf flaresolverr_linux_x64.tar.gz -C /opt $STD rm flaresolverr_linux_x64.tar.gz echo "${RELEASE}" >/opt/${APPLICATION}_version.txt diff --git a/install/heimdall-dashboard-install.sh b/install/heimdall-dashboard-install.sh index 7c52f9f96..f1feb6873 100644 --- a/install/heimdall-dashboard-install.sh +++ b/install/heimdall-dashboard-install.sh @@ -19,15 +19,15 @@ $STD apt-get install -y composer $STD apt-get install -y php8.2-{bz2,curl,sqlite3,zip,xml} msg_ok "Installed Dependencies" -RELEASE=$(curl -fsSLX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +RELEASE=$(curl -fsSL "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') +echo "${RELEASE}" >/opt/"${APPLICATION}"_version.txt msg_info "Installing Heimdall Dashboard ${RELEASE}" curl -fsSL "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz" -o $(basename "https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz") -tar xzf ${RELEASE}.tar.gz +tar xzf "${RELEASE}".tar.gz VER=$(curl -fsSL https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -rm -rf ${RELEASE}.tar.gz -mv Heimdall-${VER} /opt/Heimdall -cd /opt/Heimdall +rm -rf "${RELEASE}".tar.gz +mv Heimdall-"${VER}" /opt/Heimdall +cd /opt/Heimdall || exit cp .env.example .env $STD php artisan key:generate msg_ok "Installed Heimdall Dashboard ${RELEASE}" @@ -50,7 +50,7 @@ TimeoutStopSec=30 [Install] WantedBy=multi-user.target" >$service_path systemctl enable -q --now heimdall.service -cd /opt/Heimdall +cd /opt/Heimdall || exit COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload &>/dev/null systemctl restart heimdall.service msg_ok "Created Service" diff --git a/install/kubo-install.sh b/install/kubo-install.sh index e21570a77..95a015281 100644 --- a/install/kubo-install.sh +++ b/install/kubo-install.sh @@ -20,7 +20,7 @@ msg_ok "Installed Dependencies" msg_info "Installing IPFS" RELEASE=$(curl -fsSL https://github.com/ipfs/kubo/releases/latest | grep "title>Release" | cut -d " " -f 4) -$STD curl -fsSL "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" -O +$STD curl -fsSL "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" -o "kubo_${RELEASE}_linux-amd64.tar.gz" tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local $STD ln -s /usr/local/kubo/ipfs /usr/local/bin/ipfs $STD ipfs init diff --git a/install/seafile-install.sh b/install/seafile-install.sh index 2e0a352ca..4e2326b39 100644 --- a/install/seafile-install.sh +++ b/install/seafile-install.sh @@ -89,7 +89,7 @@ useradd seafile mkdir -p /home/seafile chown seafile: /home/seafile chown seafile: /opt/seafile -$STD su - seafile -c "curl -fsSL https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_11.0.13_x86-64.tar.gz -O" +$STD su - seafile -c "curl -fsSL https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_11.0.13_x86-64.tar.gz -o seafile-server_11.0.13_x86-64.tar.gz" $STD su - seafile -c "tar -xzf seafile-server_11.0.13_x86-64.tar.gz -C /opt/seafile/" $STD su - seafile -c "expect < Date: Tue, 1 Apr 2025 19:39:33 +0200 Subject: [PATCH 085/166] Update CHANGELOG.md (#3566) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a5687c4b..4e627eb90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,8 +16,14 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-04-01 +### πŸ†• New Scripts + + - Alpine Prometheus [@MickLesk](https://github.com/MickLesk) ([#3547](https://github.com/community-scripts/ProxmoxVE/pull/3547)) + ### πŸš€ Updated Scripts + - Authentik - Fix YQ_LATEST regex [@ceres-c](https://github.com/ceres-c) ([#3565](https://github.com/community-scripts/ProxmoxVE/pull/3565)) + - #### 🐞 Bug Fixes - CheckMK: Increase Disk size [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#3559](https://github.com/community-scripts/ProxmoxVE/pull/3559)) @@ -31,7 +37,12 @@ All LXC instances created using this repository come pre-installed with Midnight ### 🌐 Website - - Bump vite from 5.4.14 to 5.4.16 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#3549](https://github.com/community-scripts/ProxmoxVE/pull/3549)) + - Update metadata inside layout.tsx for better SEO [@BramSuurdje](https://github.com/BramSuurdje) ([#3570](https://github.com/community-scripts/ProxmoxVE/pull/3570)) +- Bump vite from 5.4.14 to 5.4.16 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#3549](https://github.com/community-scripts/ProxmoxVE/pull/3549)) + + - #### ✨ New Features + + - Refactor ScriptItem and Buttons components to enhance layout and integrate dropdown for links. Update InterFaces component for improved styling and structure. [@BramSuurdje](https://github.com/BramSuurdje) ([#3567](https://github.com/community-scripts/ProxmoxVE/pull/3567)) ## 2025-03-31 From 2bb0ef04909d23a57cd47d178a9bd5f41e9fca12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Tue, 1 Apr 2025 20:21:54 +0200 Subject: [PATCH 086/166] Fix update dependencies (#3577) --- ct/fileflows.sh | 16 ++++++++++------ install/fileflows-install.sh | 9 +++++---- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/ct/fileflows.sh b/ct/fileflows.sh index aad3f73fb..a58207f5c 100644 --- a/ct/fileflows.sh +++ b/ct/fileflows.sh @@ -28,6 +28,10 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + if ! [[ $(dpkg -s jq 2>/dev/null) ]]; then + $STD apt-get update + $STD apt-get install -y jq + fi update_available=$(curl -fsSL -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable) if [[ "${update_available}" == "true" ]]; then @@ -37,13 +41,13 @@ function update_script() { msg_info "Creating Backup" backup_filename="/opt/${APP}_backup_$(date +%F).tar.gz" - tar -czf $backup_filename -C /opt/fileflows Data + tar -czf "$backup_filename" -C /opt/fileflows Data msg_ok "Backup Created" msg_info "Updating $APP to latest version" temp_file=$(mktemp) - curl -fsSL https://fileflows.com/downloads/zip -o $temp_file - unzip -oq -d /opt/fileflows $temp_file + curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file" + unzip -oq -d /opt/fileflows "$temp_file" msg_ok "Updated $APP to latest version" msg_info "Starting $APP" @@ -51,8 +55,8 @@ function update_script() { msg_ok "Started $APP" msg_info "Cleaning Up" - rm -rf $temp_file - rm -rf $backup_filename + rm -rf "$temp_file" + rm -rf "$backup_filename" msg_ok "Cleanup Completed" msg_ok "Update Successful" @@ -70,4 +74,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}:19200${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:19200${CL}" diff --git a/install/fileflows-install.sh b/install/fileflows-install.sh index 477635ea8..612b8d67b 100644 --- a/install/fileflows-install.sh +++ b/install/fileflows-install.sh @@ -16,7 +16,8 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - ffmpeg + ffmpeg \ + jq msg_ok "Installed Dependencies" read -r -p "Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? " prompt @@ -53,8 +54,8 @@ msg_info "Setup ${APPLICATION}" $STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg $STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe temp_file=$(mktemp) -curl -fsSL https://fileflows.com/downloads/zip -o $temp_file -unzip -q -d /opt/fileflows $temp_file +curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file" +unzip -q -d /opt/fileflows "$temp_file" (cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true) systemctl enable -q --now fileflows.service msg_ok "Setup ${APPLICATION}" @@ -63,7 +64,7 @@ motd_ssh customize msg_info "Cleaning up" -rm -f $temp_file +rm -f "$temp_file" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From c6f9c59eff619e196816fb4c618e7798bb772d66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Tue, 1 Apr 2025 20:22:40 +0200 Subject: [PATCH 087/166] Fixes and standard enforcement (#3564) * Fixes and standard enforcement * Update * Update * Update install/navidrome-install.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update install/ntfy-install.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update install/nzbget-install.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update install/n8n-install.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update install/openhab-install.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update install/paperless-ai-install.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update install/pairdrop-install.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Pass 2 * Update * Update --------- Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> --- .../install/AppName-install.sh | 2 +- ct/homeassistant.sh | 2 +- ct/podman-homeassistant.sh | 2 +- ct/watchyourlan.sh | 2 +- install/adguard-install.sh | 2 +- install/adventurelog-install.sh | 4 ++-- install/agentdvr-install.sh | 2 +- install/archivebox-install.sh | 2 +- install/aria2-install.sh | 2 +- install/beszel-install.sh | 2 +- install/calibre-web-install.sh | 2 +- install/cloudflared-install.sh | 2 +- install/commafeed-install.sh | 2 +- install/cosmos-install.sh | 2 +- install/dotnetaspwebapi-install.sh | 2 +- install/esphome-install.sh | 2 +- install/evcc-install.sh | 2 +- install/fileflows-install.sh | 2 +- install/flaresolverr-install.sh | 2 +- install/flowiseai-install.sh | 2 +- install/fluid-calendar-install.sh | 2 +- install/glance-install.sh | 2 +- install/grist-install.sh | 2 +- install/heimdall-dashboard-install.sh | 4 ++-- install/hev-socks5-server-install.sh | 2 +- install/hoarder-install.sh | 2 +- install/homebox-install.sh | 2 +- install/hyperion-install.sh | 2 +- install/iventoy-install.sh | 2 +- install/jackett-install.sh | 2 +- install/jellyseerr-install.sh | 2 +- install/linkwarden-install.sh | 2 +- install/matterbridge-install.sh | 2 +- install/mattermost-install.sh | 2 +- install/mediamtx-install.sh | 2 +- install/medusa-install.sh | 2 +- install/memos-install.sh | 4 ++-- install/metube-install.sh | 2 +- install/mongodb-install.sh | 2 +- install/mylar3-install.sh | 2 +- install/myspeed-install.sh | 5 +---- install/n8n-install.sh | 5 +++-- install/navidrome-install.sh | 2 +- install/netbox-install.sh | 12 ++++++++---- install/nginxproxymanager-install.sh | 3 --- install/nocodb-install.sh | 2 +- install/node-red-install.sh | 9 +++++---- install/nodebb-install.sh | 1 - install/ntfy-install.sh | 5 +++-- install/nzbget-install.sh | 5 +++-- install/octoprint-install.sh | 13 ++++++------- install/ollama-install.sh | 13 +++++++------ install/ombi-install.sh | 2 +- install/opengist-install.sh | 2 +- install/openhab-install.sh | 7 ++++--- install/openwebui-install.sh | 4 ++-- install/overseerr-install.sh | 9 +++++---- install/owncast-install.sh | 2 +- install/pairdrop-install.sh | 7 ++++--- install/paperless-ai-install.sh | 5 +---- install/paymenter-install.sh | 10 +++++----- install/peanut-install.sh | 2 +- install/pelican-panel-install.sh | 2 +- install/petio-install.sh | 4 ++-- install/pocketbase-install.sh | 2 +- install/readeck-install.sh | 2 +- install/redis-install.sh | 2 +- install/slskd-install.sh | 2 +- install/spoolman-install.sh | 2 +- install/threadfin-install.sh | 2 +- install/tianji-install.sh | 2 +- install/traefik-install.sh | 2 +- install/umami-install.sh | 2 +- install/umbrel-install.sh | 2 +- install/uptimekuma-install.sh | 2 +- install/vaultwarden-install.sh | 2 +- install/watchyourlan-install.sh | 2 +- install/whoogle-install.sh | 2 +- install/wireguard-install.sh | 2 +- install/zigbee2mqtt-install.sh | 2 +- install/zoraxy-install.sh | 2 +- 81 files changed, 126 insertions(+), 125 deletions(-) diff --git a/.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh b/.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh index 2eb435b16..5210427a2 100644 --- a/.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh +++ b/.github/CONTRIBUTOR_AND_GUIDES/install/AppName-install.sh @@ -66,7 +66,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now ${APPLICATION}.service +systemctl enable -q --now ${APPLICATION} msg_ok "Created Service" motd_ssh diff --git a/ct/homeassistant.sh b/ct/homeassistant.sh index ad7e68846..9024d2f44 100644 --- a/ct/homeassistant.sh +++ b/ct/homeassistant.sh @@ -91,7 +91,7 @@ ExecStart=/usr/local/bin/filebrowser -r / [Install] WantedBy=default.target" >$service_path - $STD systemctl enable --now filebrowser.service + $STD systemctl enable --now filebrowser msg_ok "Created Service" msg_ok "Completed Successfully!\n" diff --git a/ct/podman-homeassistant.sh b/ct/podman-homeassistant.sh index c42d5dc31..6c0e38dcd 100644 --- a/ct/podman-homeassistant.sh +++ b/ct/podman-homeassistant.sh @@ -86,7 +86,7 @@ function update_script() { [Install] WantedBy=default.target" >$service_path - $STD systemctl enable --now filebrowser.service + $STD systemctl enable --now filebrowser msg_ok "Created Service" msg_ok "Completed Successfully!\n" diff --git a/ct/watchyourlan.sh b/ct/watchyourlan.sh index d2c647847..96fc580a5 100644 --- a/ct/watchyourlan.sh +++ b/ct/watchyourlan.sh @@ -36,7 +36,7 @@ function update_script() { cp -R config.yaml /data/config.yaml sed -i 's|/etc/watchyourlan/config.yaml|/data/config.yaml|' /lib/systemd/system/watchyourlan.service rm watchyourlan_${RELEASE}_linux_amd64.deb config.yaml - systemctl enable -q --now watchyourlan.service + systemctl enable -q --now watchyourlan msg_ok "Updated $APP" exit } diff --git a/install/adguard-install.sh b/install/adguard-install.sh index 877324d79..9d8e3b703 100644 --- a/install/adguard-install.sh +++ b/install/adguard-install.sh @@ -38,7 +38,7 @@ EnvironmentFile=-/etc/sysconfig/AdGuardHome [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now AdGuardHome.service +systemctl enable -q --now AdGuardHome msg_ok "Created Service" motd_ssh diff --git a/install/adventurelog-install.sh b/install/adventurelog-install.sh index 5b1c4e6fe..94c62541a 100644 --- a/install/adventurelog-install.sh +++ b/install/adventurelog-install.sh @@ -157,8 +157,8 @@ EnvironmentFile=/opt/adventurelog/frontend/.env [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now adventurelog-backend.service -systemctl enable -q --now adventurelog-frontend.service +systemctl enable -q --now adventurelog-backend +systemctl enable -q --now adventurelog-frontend msg_ok "Created Service" motd_ssh diff --git a/install/agentdvr-install.sh b/install/agentdvr-install.sh index f2e46f32b..1e00e94dc 100644 --- a/install/agentdvr-install.sh +++ b/install/agentdvr-install.sh @@ -48,7 +48,7 @@ RestartSec=5 [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now AgentDVR.service +systemctl enable -q --now AgentDVR msg_ok "Created Service" motd_ssh diff --git a/install/archivebox-install.sh b/install/archivebox-install.sh index f0c9846e0..00ac1c8d6 100644 --- a/install/archivebox-install.sh +++ b/install/archivebox-install.sh @@ -94,7 +94,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now archivebox.service +systemctl enable -q --now archivebox msg_ok "Created Service" motd_ssh diff --git a/install/aria2-install.sh b/install/aria2-install.sh index ec37e7b54..644d9660f 100644 --- a/install/aria2-install.sh +++ b/install/aria2-install.sh @@ -78,7 +78,7 @@ Restart=on-failure [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now aria2.service +systemctl enable -q --now aria2 systemctl enable -q --now ariang msg_ok "Created Service" diff --git a/install/beszel-install.sh b/install/beszel-install.sh index 58eac8219..a2116f000 100644 --- a/install/beszel-install.sh +++ b/install/beszel-install.sh @@ -34,7 +34,7 @@ RestartSec=5 [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now beszel-hub.service +systemctl enable -q --now beszel-hub msg_ok "Created Service" motd_ssh diff --git a/install/calibre-web-install.sh b/install/calibre-web-install.sh index 91c5bd3d8..ff4d47dd7 100644 --- a/install/calibre-web-install.sh +++ b/install/calibre-web-install.sh @@ -55,7 +55,7 @@ Restart=on-failure [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now cps.service +systemctl enable -q --now cps msg_ok "Created Service" motd_ssh diff --git a/install/cloudflared-install.sh b/install/cloudflared-install.sh index 2022ab906..a02c89566 100644 --- a/install/cloudflared-install.sh +++ b/install/cloudflared-install.sh @@ -53,7 +53,7 @@ KillMode=process [Install] WantedBy=multi-user.target EOF - systemctl enable -q --now cloudflared.service + systemctl enable -q --now cloudflared msg_ok "Created Service" fi diff --git a/install/commafeed-install.sh b/install/commafeed-install.sh index 9bf4ee676..a3bc94e02 100644 --- a/install/commafeed-install.sh +++ b/install/commafeed-install.sh @@ -48,7 +48,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now commafeed.service +systemctl enable -q --now commafeed msg_ok "Created Service" motd_ssh diff --git a/install/cosmos-install.sh b/install/cosmos-install.sh index ae5093dbb..c79c777e2 100644 --- a/install/cosmos-install.sh +++ b/install/cosmos-install.sh @@ -68,7 +68,7 @@ EnvironmentFile=-/etc/sysconfig/CosmosCloud WantedBy=multi-user.target EOF -systemctl enable -q --now cosmos.service +systemctl enable -q --now cosmos msg_info "Created Service" motd_ssh diff --git a/install/dotnetaspwebapi-install.sh b/install/dotnetaspwebapi-install.sh index 4c2e8616b..f06db6e11 100644 --- a/install/dotnetaspwebapi-install.sh +++ b/install/dotnetaspwebapi-install.sh @@ -100,7 +100,7 @@ Environment=DOTNET_NOLOGO=true [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now kestrel-aspnetapi.service +systemctl enable -q --now kestrel-aspnetapi msg_ok "Created Service" motd_ssh diff --git a/install/esphome-install.sh b/install/esphome-install.sh index 3efd1473a..37e2d71d0 100644 --- a/install/esphome-install.sh +++ b/install/esphome-install.sh @@ -45,7 +45,7 @@ User=root [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now esphomeDashboard.service +systemctl enable -q --now esphomeDashboard msg_ok "Created Service" motd_ssh diff --git a/install/evcc-install.sh b/install/evcc-install.sh index 7b493b5c4..e1d4ddd09 100644 --- a/install/evcc-install.sh +++ b/install/evcc-install.sh @@ -28,7 +28,7 @@ msg_ok "evcc Repository setup sucessfully" msg_info "Installing evcc" $STD apt install -y evcc -systemctl enable -q --now evcc.service +systemctl enable -q --now evcc msg_ok "Installed evcc" motd_ssh diff --git a/install/fileflows-install.sh b/install/fileflows-install.sh index 612b8d67b..c01d09f92 100644 --- a/install/fileflows-install.sh +++ b/install/fileflows-install.sh @@ -57,7 +57,7 @@ temp_file=$(mktemp) curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file" unzip -q -d /opt/fileflows "$temp_file" (cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true) -systemctl enable -q --now fileflows.service +systemctl enable -q --now fileflows msg_ok "Setup ${APPLICATION}" motd_ssh diff --git a/install/flaresolverr-install.sh b/install/flaresolverr-install.sh index f9d99e315..8e18043f8 100644 --- a/install/flaresolverr-install.sh +++ b/install/flaresolverr-install.sh @@ -53,7 +53,7 @@ TimeoutStopSec=30 [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now flaresolverr.service +systemctl enable -q --now flaresolverr msg_ok "Created Service" motd_ssh diff --git a/install/flowiseai-install.sh b/install/flowiseai-install.sh index 2dfde4806..a0ebe92a5 100644 --- a/install/flowiseai-install.sh +++ b/install/flowiseai-install.sh @@ -49,7 +49,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now flowise.service +systemctl enable -q --now flowise msg_ok "Created Service" motd_ssh diff --git a/install/fluid-calendar-install.sh b/install/fluid-calendar-install.sh index c1dc64ab0..0b1a54643 100644 --- a/install/fluid-calendar-install.sh +++ b/install/fluid-calendar-install.sh @@ -89,7 +89,7 @@ ExecStart=/usr/bin/npm run start [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now fluid-calendar.service +systemctl enable -q --now fluid-calendar msg_ok "Created Service" motd_ssh diff --git a/install/glance-install.sh b/install/glance-install.sh index 88841a596..cb1b9669f 100644 --- a/install/glance-install.sh +++ b/install/glance-install.sh @@ -60,7 +60,7 @@ Restart=on-failure [Install] WantedBy=multi-user.target" >$service_path -systemctl enable -q --now glance.service +systemctl enable -q --now glance msg_ok "Created Service" motd_ssh diff --git a/install/grist-install.sh b/install/grist-install.sh index bc15e0326..079a4242a 100644 --- a/install/grist-install.sh +++ b/install/grist-install.sh @@ -66,7 +66,7 @@ EnvironmentFile=-/opt/grist/.env WantedBy=multi-user.target EOF -systemctl enable -q --now grist.service +systemctl enable -q --now grist msg_ok "Created Service" motd_ssh diff --git a/install/heimdall-dashboard-install.sh b/install/heimdall-dashboard-install.sh index f1feb6873..50ef7f6b6 100644 --- a/install/heimdall-dashboard-install.sh +++ b/install/heimdall-dashboard-install.sh @@ -49,8 +49,8 @@ TimeoutStopSec=30 [Install] WantedBy=multi-user.target" >$service_path -systemctl enable -q --now heimdall.service -cd /opt/Heimdall || exit +systemctl enable -q --now heimdall +cd /opt/Heimdall COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload &>/dev/null systemctl restart heimdall.service msg_ok "Created Service" diff --git a/install/hev-socks5-server-install.sh b/install/hev-socks5-server-install.sh index 8600442f2..241f16110 100644 --- a/install/hev-socks5-server-install.sh +++ b/install/hev-socks5-server-install.sh @@ -42,7 +42,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now ${APPLICATION}.service +systemctl enable -q --now ${APPLICATION} msg_ok "Created Service" motd_ssh diff --git a/install/hoarder-install.sh b/install/hoarder-install.sh index 0ec48beda..6c079f9fb 100644 --- a/install/hoarder-install.sh +++ b/install/hoarder-install.sh @@ -168,7 +168,7 @@ TimeoutStopSec=5 WantedBy=multi-user.target EOF -systemctl -q enable --now meilisearch.service hoarder-browser.service hoarder-workers.service hoarder-web.service +systemctl enable -q --now meilisearch hoarder-browser hoarder-workers hoarder-web msg_ok "Created Services" motd_ssh diff --git a/install/homebox-install.sh b/install/homebox-install.sh index 2e3361889..ba42195ab 100644 --- a/install/homebox-install.sh +++ b/install/homebox-install.sh @@ -42,7 +42,7 @@ Restart=on-failure [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now homebox.service +systemctl enable -q --now homebox msg_ok "Created Service" motd_ssh diff --git a/install/hyperion-install.sh b/install/hyperion-install.sh index 495234ed7..ab0141bc2 100644 --- a/install/hyperion-install.sh +++ b/install/hyperion-install.sh @@ -26,7 +26,7 @@ curl -fsSL "https://releases.hyperion-project.org/hyperion.pub.key" | gpg --dear echo "deb [signed-by=/usr/share/keyrings/hyperion.pub.gpg] https://apt.releases.hyperion-project.org/ $(lsb_release -cs) main" >/etc/apt/sources.list.d/hyperion.list $STD apt-get update $STD apt-get install -y hyperion -$STD systemctl enable --now hyperion@root.service +$STD systemctl enable --now hyperion@root msg_ok "Installed Hyperion" motd_ssh diff --git a/install/iventoy-install.sh b/install/iventoy-install.sh index 20d469221..b939b55fa 100644 --- a/install/iventoy-install.sh +++ b/install/iventoy-install.sh @@ -40,7 +40,7 @@ Restart=on-failure [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now iventoy.service +systemctl enable -q --now iventoy msg_ok "Created Service" motd_ssh diff --git a/install/jackett-install.sh b/install/jackett-install.sh index 8501842dd..6cff1bd92 100644 --- a/install/jackett-install.sh +++ b/install/jackett-install.sh @@ -38,7 +38,7 @@ Environment="DisableRootWarning=true" [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now jackett.service +systemctl enable -q --now jackett msg_ok "Created Service" motd_ssh diff --git a/install/jellyseerr-install.sh b/install/jellyseerr-install.sh index c7966c185..bb855b379 100644 --- a/install/jellyseerr-install.sh +++ b/install/jellyseerr-install.sh @@ -69,7 +69,7 @@ ExecStart=/usr/bin/node dist/index.js [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now jellyseerr.service +systemctl enable -q --now jellyseerr msg_ok "Created Service" motd_ssh diff --git a/install/linkwarden-install.sh b/install/linkwarden-install.sh index 03e1aaa2d..1832e6e75 100644 --- a/install/linkwarden-install.sh +++ b/install/linkwarden-install.sh @@ -126,7 +126,7 @@ ExecStart=/usr/bin/yarn start [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now linkwarden.service +systemctl enable -q --now linkwarden msg_ok "Created Service" motd_ssh diff --git a/install/matterbridge-install.sh b/install/matterbridge-install.sh index 44e102bef..de1f56bc6 100644 --- a/install/matterbridge-install.sh +++ b/install/matterbridge-install.sh @@ -53,7 +53,7 @@ TimeoutStopSec=30s [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now matterbridge.service +systemctl enable -q --now matterbridge msg_ok "Created Service" motd_ssh diff --git a/install/mattermost-install.sh b/install/mattermost-install.sh index 671aea640..6bf04627a 100644 --- a/install/mattermost-install.sh +++ b/install/mattermost-install.sh @@ -45,7 +45,7 @@ $STD apt-get install -y mattermost $STD install -C -m 600 -o mattermost -g mattermost /opt/mattermost/config/config.defaults.json /opt/mattermost/config/config.json sed -i -e "/DataSource/c\ \"DataSource\": \"postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME?sslmode=disable&connect_timeout=10\"," \ -e "/SiteURL/c\ \"SiteURL\": \"http://$IPADDRESS:8065\"," /opt/mattermost/config/config.json -systemctl enable -q --now mattermost.service +systemctl enable -q --now mattermost msg_ok "Installed Mattermost" motd_ssh diff --git a/install/mediamtx-install.sh b/install/mediamtx-install.sh index a7dabb90e..b93476f19 100644 --- a/install/mediamtx-install.sh +++ b/install/mediamtx-install.sh @@ -40,7 +40,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now mediamtx.service +systemctl enable -q --now mediamtx msg_ok "Created Service" motd_ssh diff --git a/install/medusa-install.sh b/install/medusa-install.sh index 8dfaf2430..399cf9a51 100644 --- a/install/medusa-install.sh +++ b/install/medusa-install.sh @@ -48,7 +48,7 @@ Restart=on-failure [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now medusa.service +systemctl enable -q --now medusa msg_ok "Created Service" motd_ssh diff --git a/install/memos-install.sh b/install/memos-install.sh index 26cc16013..9f2b3e136 100644 --- a/install/memos-install.sh +++ b/install/memos-install.sh @@ -78,7 +78,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now memos.service +systemctl enable -q --now memos msg_ok "Created Service" motd_ssh @@ -87,4 +87,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -msg_ok "Cleaned" \ No newline at end of file +msg_ok "Cleaned" diff --git a/install/metube-install.sh b/install/metube-install.sh index 5e07c68a9..68428941e 100644 --- a/install/metube-install.sh +++ b/install/metube-install.sh @@ -82,7 +82,7 @@ User=root [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now metube.service +systemctl enable -q --now metube msg_ok "Created Service" motd_ssh diff --git a/install/mongodb-install.sh b/install/mongodb-install.sh index 3bb8fc704..5e1abad17 100644 --- a/install/mongodb-install.sh +++ b/install/mongodb-install.sh @@ -30,7 +30,7 @@ echo "deb [signed-by=/usr/share/keyrings/mongodb-server-${MONGODB_VERSION}.gpg] $STD apt-get update $STD apt-get install -y mongodb-org sed -i 's/bindIp: 127.0.0.1/bindIp: 0.0.0.0/' /etc/mongod.conf -systemctl enable -q --now mongod.service +systemctl enable -q --now mongod msg_ok "Installed MongoDB $MONGODB_VERSION" motd_ssh diff --git a/install/mylar3-install.sh b/install/mylar3-install.sh index e5477752b..cab578fbb 100644 --- a/install/mylar3-install.sh +++ b/install/mylar3-install.sh @@ -51,7 +51,7 @@ Restart=on-failure [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now mylar3.service +systemctl enable -q --now mylar3 msg_ok "Created Service" motd_ssh diff --git a/install/myspeed-install.sh b/install/myspeed-install.sh index 134ed7cbc..c44042106 100644 --- a/install/myspeed-install.sh +++ b/install/myspeed-install.sh @@ -16,9 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ build-essential \ - g++ \ - make \ - make \ gpg \ ca-certificates msg_ok "Installed Dependencies" @@ -61,7 +58,7 @@ WorkingDirectory=/opt/myspeed [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now myspeed.service +systemctl enable -q --now myspeed msg_ok "Created Service" motd_ssh diff --git a/install/n8n-install.sh b/install/n8n-install.sh index 9445f5790..b8cebc097 100644 --- a/install/n8n-install.sh +++ b/install/n8n-install.sh @@ -14,8 +14,9 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y ca-certificates -$STD apt-get install -y gnupg +$STD apt-get install -y \ + ca-certificates \ + gnupg msg_ok "Installed Dependencies" msg_info "Setting up Node.js Repository" diff --git a/install/navidrome-install.sh b/install/navidrome-install.sh index cbd55a6b5..04c4af0b9 100644 --- a/install/navidrome-install.sh +++ b/install/navidrome-install.sh @@ -65,7 +65,7 @@ ProtectSystem=full [Install] WantedBy=multi-user.target" >$service_path systemctl daemon-reload -$STD systemctl enable --now navidrome.service +systemctl enable -q --now navidrome msg_ok "Created Service" diff --git a/install/netbox-install.sh b/install/netbox-install.sh index 192747e85..89ec24dd7 100644 --- a/install/netbox-install.sh +++ b/install/netbox-install.sh @@ -18,10 +18,6 @@ $STD apt-get install -y \ apache2 \ redis-server \ postgresql \ - python3 \ - python3-pip \ - python3-venv \ - python3-dev \ build-essential \ libxml2-dev \ libxslt1-dev \ @@ -31,6 +27,14 @@ $STD apt-get install -y \ zlib1g-dev msg_ok "Installed Dependencies" +msg_info "Installing Python" +$STD apt-get install -y \ + python3 \ + python3-pip \ + python3-venv \ + python3-dev +msg_ok "Installed Python" + msg_info "Setting up PostgreSQL" DB_NAME=netbox DB_USER=netbox diff --git a/install/nginxproxymanager-install.sh b/install/nginxproxymanager-install.sh index a869f7f88..02f02945e 100644 --- a/install/nginxproxymanager-install.sh +++ b/install/nginxproxymanager-install.sh @@ -17,9 +17,6 @@ msg_info "Installing Dependencies" $STD apt-get update $STD apt-get -y install \ gnupg \ - make \ - gcc \ - g++ \ ca-certificates \ apache2-utils \ logrotate \ diff --git a/install/nocodb-install.sh b/install/nocodb-install.sh index a16e05a09..a901609cf 100644 --- a/install/nocodb-install.sh +++ b/install/nocodb-install.sh @@ -34,7 +34,7 @@ ExecStart=/opt/nocodb/./nocodb [Install] WantedBy=multi-user.target" >$service_path -systemctl enable -q --now nocodb.service &>/dev/null +systemctl enable -q --now nocodb msg_ok "Created Service" motd_ssh diff --git a/install/node-red-install.sh b/install/node-red-install.sh index 6bf096e15..ec8ca6575 100644 --- a/install/node-red-install.sh +++ b/install/node-red-install.sh @@ -14,9 +14,10 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y git -$STD apt-get install -y ca-certificates -$STD apt-get install -y gnupg +$STD apt-get install -y \ + git \ + ca-certificates \ + gnupg msg_ok "Installed Dependencies" msg_info "Setting up Node.js Repository" @@ -62,7 +63,7 @@ Group=root [Install] WantedBy=multi-user.target" >$service_path -$STD systemctl enable --now nodered.service +systemctl enable -q --now nodered msg_ok "Created Service" motd_ssh diff --git a/install/nodebb-install.sh b/install/nodebb-install.sh index 862b2dbc2..823cc9331 100644 --- a/install/nodebb-install.sh +++ b/install/nodebb-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Dependencies (Patience)" $STD apt-get install -y \ build-essential \ - make \ redis-server \ expect \ gnupg \ diff --git a/install/ntfy-install.sh b/install/ntfy-install.sh index 477e8c4f0..25bc70874 100644 --- a/install/ntfy-install.sh +++ b/install/ntfy-install.sh @@ -14,8 +14,9 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gpg -$STD apt-get install -y apt-transport-https +$STD apt-get install -y \ + gpg \ + apt-transport-https msg_ok "Installed Dependencies" msg_info "Installing ntfy" diff --git a/install/nzbget-install.sh b/install/nzbget-install.sh index 18211287a..72d23eff8 100644 --- a/install/nzbget-install.sh +++ b/install/nzbget-install.sh @@ -15,8 +15,9 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gpg -$STD apt-get install -y par2 +$STD apt-get install -y \ + gpg \ + par2 cat </etc/apt/sources.list.d/non-free.list deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware diff --git a/install/octoprint-install.sh b/install/octoprint-install.sh index d13c8f837..a4924ce19 100644 --- a/install/octoprint-install.sh +++ b/install/octoprint-install.sh @@ -14,9 +14,9 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y git -$STD apt-get install -y libyaml-dev -$STD apt-get install -y build-essential +$STD apt-get install -y git \ + libyaml-dev \ + build-essential msg_ok "Installed Dependencies" msg_info "Setup Python3" @@ -24,9 +24,8 @@ $STD apt-get install -y \ python3 \ python3-dev \ python3-pip \ - python3-venv - -$STD apt-get install -y python3-setuptools + python3-venv \ + python3-setuptools rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED msg_ok "Setup Python3" @@ -66,7 +65,7 @@ ExecStart=/opt/octoprint/bin/octoprint serve [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now octoprint.service +systemctl enable -q --now octoprint msg_ok "Created Service" motd_ssh diff --git a/install/ollama-install.sh b/install/ollama-install.sh index ff093aa95..fd0baacd5 100644 --- a/install/ollama-install.sh +++ b/install/ollama-install.sh @@ -15,11 +15,12 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gpg -$STD apt-get install -y git -$STD apt-get install -y build-essential -$STD apt-get install -y pkg-config -$STD apt-get install -y cmake +$STD apt-get install -y \ + gpg \ + git \ + build-essential \ + pkg-config \ + cmake msg_ok "Installed Dependencies" msg_info "Installing Golang" @@ -85,7 +86,7 @@ RestartSec=3 [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now ollama.service +systemctl enable -q --now ollama msg_ok "Created Service" motd_ssh diff --git a/install/ombi-install.sh b/install/ombi-install.sh index 995b3b09b..2ae4855a2 100644 --- a/install/ombi-install.sh +++ b/install/ombi-install.sh @@ -36,7 +36,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now ombi.service +systemctl enable -q --now ombi msg_ok "Created Service" motd_ssh diff --git a/install/opengist-install.sh b/install/opengist-install.sh index 68b35e66a..8c9f991b5 100644 --- a/install/opengist-install.sh +++ b/install/opengist-install.sh @@ -45,7 +45,7 @@ User=root [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now opengist.service +systemctl enable -q --now opengist msg_ok "Created Service" motd_ssh diff --git a/install/openhab-install.sh b/install/openhab-install.sh index 3a834d766..c94a44319 100644 --- a/install/openhab-install.sh +++ b/install/openhab-install.sh @@ -14,8 +14,9 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y gnupg -$STD apt-get install -y apt-transport-https +$STD apt-get install -y \ + gnupg \ + apt-transport-https msg_ok "Installed Dependencies" msg_info "Installing Azul Zulu21" @@ -34,7 +35,7 @@ echo "deb [signed-by=/usr/share/keyrings/openhab.gpg] https://openhab.jfrog.io/a $STD apt update $STD apt-get -y install openhab systemctl daemon-reload -systemctl enable -q --now openhab.service +systemctl enable -q --now openhab msg_ok "Installed openHAB" motd_ssh diff --git a/install/openwebui-install.sh b/install/openwebui-install.sh index 580d2252e..fa27ce8a9 100644 --- a/install/openwebui-install.sh +++ b/install/openwebui-install.sh @@ -77,7 +77,7 @@ RestartSec=3 [Install] WantedBy=multi-user.target EOF - systemctl enable -q --now ollama.service + systemctl enable -q --now ollama sed -i 's/ENABLE_OLLAMA_API=false/ENABLE_OLLAMA_API=true/g' /opt/open-webui/.env msg_ok "Installed Ollama" fi @@ -97,7 +97,7 @@ ExecStart=/opt/open-webui/backend/start.sh [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now open-webui.service +systemctl enable -q --now open-webui msg_ok "Created Service" motd_ssh diff --git a/install/overseerr-install.sh b/install/overseerr-install.sh index 7459e3bf4..98ebb9890 100644 --- a/install/overseerr-install.sh +++ b/install/overseerr-install.sh @@ -14,9 +14,10 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y git -$STD apt-get install -y ca-certificates -$STD apt-get install -y gnupg +$STD apt-get install -y \ + git \ + ca-certificates \ + gnupg msg_ok "Installed Dependencies" msg_info "Setting up Node.js Repository" @@ -55,7 +56,7 @@ ExecStart=/usr/bin/yarn start [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now overseerr.service +systemctl enable -q --now overseerr msg_ok "Created Service" motd_ssh diff --git a/install/owncast-install.sh b/install/owncast-install.sh index 6e8a38955..4976f296c 100644 --- a/install/owncast-install.sh +++ b/install/owncast-install.sh @@ -39,7 +39,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now owncast.service +systemctl enable -q --now owncast msg_ok "Created Service" motd_ssh diff --git a/install/pairdrop-install.sh b/install/pairdrop-install.sh index e0c338e71..a5d41f926 100644 --- a/install/pairdrop-install.sh +++ b/install/pairdrop-install.sh @@ -14,8 +14,9 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y git -$STD apt-get install -y gpg +$STD apt-get install -y \ + git \ + gpg msg_ok "Installed Dependencies" msg_info "Setting up Node.js Repository" @@ -49,7 +50,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now pairdrop.service +systemctl enable -q --now pairdrop msg_ok "Created Service" motd_ssh diff --git a/install/paperless-ai-install.sh b/install/paperless-ai-install.sh index 95a223ba8..bdd0b6a7f 100644 --- a/install/paperless-ai-install.sh +++ b/install/paperless-ai-install.sh @@ -16,9 +16,6 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ gpg \ - make \ - gcc \ - g++ \ build-essential msg_ok "Installed Dependencies" @@ -82,7 +79,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now paperless-ai.service +systemctl enable -q --now paperless-ai msg_ok "Created Service" motd_ssh diff --git a/install/paymenter-install.sh b/install/paymenter-install.sh index d0f090b82..642e0681f 100644 --- a/install/paymenter-install.sh +++ b/install/paymenter-install.sh @@ -47,10 +47,10 @@ mysql -u root -e "CREATE DATABASE $DB_NAME;" mysql -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'localhost' WITH GRANT OPTION;" { - echo "Paymenter Database Credentials" - echo "Database: $DB_NAME" - echo "Username: $DB_USER" - echo "Password: $DB_PASS" + echo "Paymenter Database Credentials" + echo "Database: $DB_NAME" + echo "Username: $DB_USER" + echo "Password: $DB_PASS" } >>~/paymenter_db.creds cp .env.example .env $STD composer install --no-dev --optimize-autoloader --no-interaction @@ -125,7 +125,7 @@ RestartSec=5s [Install] WantedBy=multi-user.target EOF -$STD systemctl enable --now paymenter.service +$STD systemctl enable --now paymenter msg_ok "Setup Service" msg_info "Cleaning up" diff --git a/install/peanut-install.sh b/install/peanut-install.sh index f1fb4a8d9..d319afab8 100644 --- a/install/peanut-install.sh +++ b/install/peanut-install.sh @@ -73,7 +73,7 @@ TimeoutStopSec=30 [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now peanut.service +systemctl enable -q --now peanut msg_ok "Created Service" motd_ssh diff --git a/install/pelican-panel-install.sh b/install/pelican-panel-install.sh index 8ec8136ed..c081c2726 100644 --- a/install/pelican-panel-install.sh +++ b/install/pelican-panel-install.sh @@ -23,7 +23,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Adding PHP8.3 Repository" -$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb +$STD curl -fsSL "https://packages.sury.org/debsuryorg-archive-keyring.deb" -o /tmp/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update diff --git a/install/petio-install.sh b/install/petio-install.sh index faaaadc49..41aaabb6c 100644 --- a/install/petio-install.sh +++ b/install/petio-install.sh @@ -31,7 +31,7 @@ fi $STD apt-get update $STD apt-get install -y mongodb-org sed -i 's/bindIp: 127.0.0.1/bindIp: 0.0.0.0/' /etc/mongod.conf -systemctl enable -q --now mongod.service +systemctl enable -q --now mongod msg_ok "MongoDB 4.4 Installed" msg_info "Installing Petio" @@ -61,7 +61,7 @@ WantedBy=multi-user.target EOF -systemctl enable -q --now petio.service +systemctl enable -q --now petio msg_ok "Created Service" motd_ssh diff --git a/install/pocketbase-install.sh b/install/pocketbase-install.sh index f35bcf5e7..295f1e6ed 100644 --- a/install/pocketbase-install.sh +++ b/install/pocketbase-install.sh @@ -36,7 +36,7 @@ ExecStart = /opt/pocketbase/pocketbase serve --http=0.0.0.0:8080 WantedBy = multi-user.target EOF -systemctl enable -q --now pocketbase.service +systemctl enable -q --now pocketbase msg_ok "Installed Pocketbase" motd_ssh diff --git a/install/readeck-install.sh b/install/readeck-install.sh index edc3b5503..292e1a8a1 100644 --- a/install/readeck-install.sh +++ b/install/readeck-install.sh @@ -37,7 +37,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now readeck.service +systemctl enable -q --now readeck msg_ok "Created Service" motd_ssh diff --git a/install/redis-install.sh b/install/redis-install.sh index 15389fba3..45ea6700c 100644 --- a/install/redis-install.sh +++ b/install/redis-install.sh @@ -25,7 +25,7 @@ echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://pack $STD apt-get update $STD apt-get install -y redis sed -i 's/^bind .*/bind 0.0.0.0/' /etc/redis/redis.conf -systemctl enable -q --now redis-server.service +systemctl enable -q --now redis-server msg_ok "Installed Redis" motd_ssh diff --git a/install/slskd-install.sh b/install/slskd-install.sh index f8dc06648..bdf4d2e45 100644 --- a/install/slskd-install.sh +++ b/install/slskd-install.sh @@ -105,7 +105,7 @@ ExecStart=/bin/bash -c /opt/soularr/run.sh [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now ${APPLICATION}.service +systemctl enable -q --now ${APPLICATION} systemctl enable -q soularr.timer msg_ok "Created Services" diff --git a/install/spoolman-install.sh b/install/spoolman-install.sh index c3be0d760..0bb841f0c 100644 --- a/install/spoolman-install.sh +++ b/install/spoolman-install.sh @@ -58,7 +58,7 @@ User=root [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now spoolman.service +systemctl enable -q --now spoolman msg_ok "Created Service" motd_ssh diff --git a/install/threadfin-install.sh b/install/threadfin-install.sh index 5951993e7..5e4b92a6d 100644 --- a/install/threadfin-install.sh +++ b/install/threadfin-install.sh @@ -40,7 +40,7 @@ Restart=on-failure [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now threadfin.service +systemctl enable -q --now threadfin msg_ok "Created Service" motd_ssh diff --git a/install/tianji-install.sh b/install/tianji-install.sh index 44935ddc7..ab12e2621 100644 --- a/install/tianji-install.sh +++ b/install/tianji-install.sh @@ -94,7 +94,7 @@ Environment=NODE_ENV=production [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now tianji.service +systemctl enable -q --now tianji msg_ok "Created Service" motd_ssh diff --git a/install/traefik-install.sh b/install/traefik-install.sh index 6701ec41d..7cc2b00f4 100644 --- a/install/traefik-install.sh +++ b/install/traefik-install.sh @@ -99,7 +99,7 @@ ExecReload=/bin/kill -USR1 \$MAINPID WantedBy=multi-user.target EOF -systemctl enable -q --now traefik.service +systemctl enable -q --now traefik msg_ok "Created Service" motd_ssh diff --git a/install/umami-install.sh b/install/umami-install.sh index f3c1118e1..5733f0467 100644 --- a/install/umami-install.sh +++ b/install/umami-install.sh @@ -72,7 +72,7 @@ ExecStart=/usr/bin/yarn run start [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now umami.service +systemctl enable -q --now umami msg_ok "Created Service" motd_ssh diff --git a/install/umbrel-install.sh b/install/umbrel-install.sh index edf457530..3855b1117 100644 --- a/install/umbrel-install.sh +++ b/install/umbrel-install.sh @@ -19,7 +19,7 @@ mkdir -p $(dirname $DOCKER_CONFIG_PATH) echo -e '{\n "log-driver": "journald"\n}' >/etc/docker/daemon.json $STD bash <(curl -fsSL https://umbrel.sh) systemctl daemon-reload -$STD systemctl enable --now umbrel-startup.service +$STD systemctl enable --now umbrel-startup msg_ok "Installed Umbrel" motd_ssh diff --git a/install/uptimekuma-install.sh b/install/uptimekuma-install.sh index 8cd8a84e1..a869d165e 100644 --- a/install/uptimekuma-install.sh +++ b/install/uptimekuma-install.sh @@ -51,7 +51,7 @@ ExecStart=/usr/bin/npm start [Install] WantedBy=multi-user.target" >$service_path -$STD systemctl enable --now uptime-kuma.service +$STD systemctl enable --now uptime-kuma msg_ok "Created Service" motd_ssh diff --git a/install/vaultwarden-install.sh b/install/vaultwarden-install.sh index b50e7b6c4..9f31292ed 100644 --- a/install/vaultwarden-install.sh +++ b/install/vaultwarden-install.sh @@ -104,7 +104,7 @@ AmbientCapabilities=CAP_NET_BIND_SERVICE [Install] WantedBy=multi-user.target" >$service_path systemctl daemon-reload -$STD systemctl enable --now vaultwarden.service +$STD systemctl enable --now vaultwarden msg_ok "Created Service" motd_ssh diff --git a/install/watchyourlan-install.sh b/install/watchyourlan-install.sh index 1306adf2b..a307fc63e 100644 --- a/install/watchyourlan-install.sh +++ b/install/watchyourlan-install.sh @@ -45,7 +45,7 @@ msg_ok "Installed WatchYourLAN" msg_info "Creating Service" sed -i 's|/etc/watchyourlan/config.yaml|/data/config.yaml|' /lib/systemd/system/watchyourlan.service -systemctl enable -q --now watchyourlan.service +systemctl enable -q --now watchyourlan msg_ok "Created Service" motd_ssh diff --git a/install/whoogle-install.sh b/install/whoogle-install.sh index e20dfcd61..ea4cff23e 100644 --- a/install/whoogle-install.sh +++ b/install/whoogle-install.sh @@ -36,7 +36,7 @@ User=root [Install] WantedBy=multi-user.target" >$service_path -$STD systemctl enable --now whoogle.service +$STD systemctl enable --now whoogle msg_ok "Installed Whoogle" motd_ssh diff --git a/install/wireguard-install.sh b/install/wireguard-install.sh index 6e4b2048a..47cc24f0f 100644 --- a/install/wireguard-install.sh +++ b/install/wireguard-install.sh @@ -66,7 +66,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now wg-dashboard.service +systemctl enable -q --now wg-dashboard msg_ok "Created Service" motd_ssh diff --git a/install/zigbee2mqtt-install.sh b/install/zigbee2mqtt-install.sh index 04da3e9a7..c3e21c855 100644 --- a/install/zigbee2mqtt-install.sh +++ b/install/zigbee2mqtt-install.sh @@ -67,7 +67,7 @@ User=root [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now zigbee2mqtt.service +systemctl enable -q --now zigbee2mqtt msg_ok "Created Service" motd_ssh diff --git a/install/zoraxy-install.sh b/install/zoraxy-install.sh index 94697047f..8a3c93b44 100644 --- a/install/zoraxy-install.sh +++ b/install/zoraxy-install.sh @@ -37,7 +37,7 @@ Restart=always [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now zoraxy.service +systemctl enable -q --now zoraxy msg_ok "Created Service" motd_ssh From e9d320b2d059bd442f8e82388538c4d92a320af6 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, 1 Apr 2025 20:36:49 +0200 Subject: [PATCH 088/166] Update CHANGELOG.md (#3579) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e627eb90..1be387f23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,15 +26,18 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Fileflows: Fix update dependencies [@tremor021](https://github.com/tremor021) ([#3577](https://github.com/community-scripts/ProxmoxVE/pull/3577)) - CheckMK: Increase Disk size [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#3559](https://github.com/community-scripts/ProxmoxVE/pull/3559)) - switch arr lxc's (lidarr,-prowlarr,-radarr,-readarr,-whisparr) to curl -fsSL [@MickLesk](https://github.com/MickLesk) ([#3554](https://github.com/community-scripts/ProxmoxVE/pull/3554)) -### 🧰 Maintenance - - - #### ✨ New Features + - #### πŸ’₯ Breaking Changes - Replace wget with curl -fsSL, normalize downloads, and prep for IPv6 [@MickLesk](https://github.com/MickLesk) ([#3455](https://github.com/community-scripts/ProxmoxVE/pull/3455)) + - #### πŸ”§ Refactor + + - Fixes and standard enforcement [@tremor021](https://github.com/tremor021) ([#3564](https://github.com/community-scripts/ProxmoxVE/pull/3564)) + ### 🌐 Website - Update metadata inside layout.tsx for better SEO [@BramSuurdje](https://github.com/BramSuurdje) ([#3570](https://github.com/community-scripts/ProxmoxVE/pull/3570)) From 8e633636a6a15cd7e06fda12772710e5301d5c71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Tue, 1 Apr 2025 22:14:13 +0200 Subject: [PATCH 089/166] Fix curl command (#3584) --- install/flaresolverr-install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/flaresolverr-install.sh b/install/flaresolverr-install.sh index 8e18043f8..a8bf1c0e1 100644 --- a/install/flaresolverr-install.sh +++ b/install/flaresolverr-install.sh @@ -29,10 +29,10 @@ msg_ok "Installed Chrome" msg_info "Installing FlareSolverr" RELEASE=$(curl -fsSL https://github.com/FlareSolverr/FlareSolverr/releases/latest | grep "title>Release" | cut -d " " -f 4) -$STD curl -fsSL "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz" -O "flaresolverr_linux_x64.tar.gz" +$STD curl -fsSL "https://github.com/FlareSolverr/FlareSolverr/releases/download/$RELEASE/flaresolverr_linux_x64.tar.gz" -o "flaresolverr_linux_x64.tar.gz" $STD tar -xzf flaresolverr_linux_x64.tar.gz -C /opt $STD rm flaresolverr_linux_x64.tar.gz -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +echo "${RELEASE}" >/opt/"${APPLICATION}"_version.txt msg_ok "Installed FlareSolverr" msg_info "Creating Service" From 21302b3222600053fab662ab6e0c39e850cd5a11 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, 1 Apr 2025 23:06:27 +0200 Subject: [PATCH 090/166] Update CHANGELOG.md (#3585) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1be387f23..b47f915d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,10 +22,9 @@ All LXC instances created using this repository come pre-installed with Midnight ### πŸš€ Updated Scripts - - Authentik - Fix YQ_LATEST regex [@ceres-c](https://github.com/ceres-c) ([#3565](https://github.com/community-scripts/ProxmoxVE/pull/3565)) - - #### 🐞 Bug Fixes + - Authentik - Fix YQ_LATEST regex [@ceres-c](https://github.com/ceres-c) ([#3565](https://github.com/community-scripts/ProxmoxVE/pull/3565)) - Fileflows: Fix update dependencies [@tremor021](https://github.com/tremor021) ([#3577](https://github.com/community-scripts/ProxmoxVE/pull/3577)) - CheckMK: Increase Disk size [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#3559](https://github.com/community-scripts/ProxmoxVE/pull/3559)) - switch arr lxc's (lidarr,-prowlarr,-radarr,-readarr,-whisparr) to curl -fsSL [@MickLesk](https://github.com/MickLesk) ([#3554](https://github.com/community-scripts/ProxmoxVE/pull/3554)) From 02a804d7c050d043e36f9580c37fc771a777772f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Tue, 1 Apr 2025 23:09:04 +0200 Subject: [PATCH 091/166] Fix curl command (#3583) From e7b1cf46d62c6f24ddade640480b368a57833b43 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, 1 Apr 2025 23:11:21 +0200 Subject: [PATCH 092/166] Update CHANGELOG.md (#3586) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b47f915d9..480b5d349 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Flaresolverr: Fix curl command [@tremor021](https://github.com/tremor021) ([#3583](https://github.com/community-scripts/ProxmoxVE/pull/3583)) - Authentik - Fix YQ_LATEST regex [@ceres-c](https://github.com/ceres-c) ([#3565](https://github.com/community-scripts/ProxmoxVE/pull/3565)) - Fileflows: Fix update dependencies [@tremor021](https://github.com/tremor021) ([#3577](https://github.com/community-scripts/ProxmoxVE/pull/3577)) - CheckMK: Increase Disk size [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#3559](https://github.com/community-scripts/ProxmoxVE/pull/3559)) From ea9f19d5f4a35c8bda13dfc7a0b1855592edfe56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Wed, 2 Apr 2025 07:19:50 +0200 Subject: [PATCH 093/166] More fixes (#3587) --- ct/actualbudget.sh | 124 +++++++++++++++---------------- ct/emby.sh | 44 +++++------ ct/snipeit.sh | 11 +-- install/daemonsync-install.sh | 2 +- install/deconz-install.sh | 8 +- install/paperless-ngx-install.sh | 24 +++--- 6 files changed, 105 insertions(+), 108 deletions(-) diff --git a/ct/actualbudget.sh b/ct/actualbudget.sh index c818ceabe..53d4d5fdc 100644 --- a/ct/actualbudget.sh +++ b/ct/actualbudget.sh @@ -20,52 +20,52 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources + header_info + check_container_storage + check_container_resources - if [[ ! -d /opt/actualbudget ]]; then - msg_error "No ${APP} Installation Found!" - exit + if [[ ! -d /opt/actualbudget ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then + msg_info "Stopping ${APP}" + systemctl stop actualbudget + msg_ok "${APP} Stopped" + + msg_info "Updating ${APP} to ${RELEASE}" + cd /tmp || exit + curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o "v${RELEASE}.tar.gz" + + mv /opt/actualbudget /opt/actualbudget_bak + tar -xzf "v${RELEASE}.tar.gz" + mv "actual-${RELEASE}" /opt/actualbudget + + mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config} + for dir in server-files .migrate user-files migrations; do + if [[ -d /opt/actualbudget_bak/$dir ]]; then + mv /opt/actualbudget_bak/$dir/* /opt/actualbudget-data/$dir/ || true + fi + done + if [[ -f /opt/actualbudget-data/migrate/.migrations ]]; then + sed -i 's/null/1732656575219/g' /opt/actualbudget-data/migrate/.migrations + sed -i 's/null/1732656575220/g' /opt/actualbudget-data/migrate/.migrations + fi + if [[ -f /opt/actualbudget/server-files/account.sqlite ]] && [[ ! -f /opt/actualbudget-data/server-files/account.sqlite ]]; then + mv /opt/actualbudget/server-files/account.sqlite /opt/actualbudget-data/server-files/account.sqlite fi - RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then - msg_info "Stopping ${APP}" - systemctl stop actualbudget - msg_ok "${APP} Stopped" + if [[ -f /opt/actualbudget_bak/selfhost.key ]]; then + mv /opt/actualbudget_bak/selfhost.key /opt/actualbudget/selfhost.key + mv /opt/actualbudget_bak/selfhost.crt /opt/actualbudget/selfhost.crt + fi - msg_info "Updating ${APP} to ${RELEASE}" - cd /tmp - curl -fsSL -O https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz - - mv /opt/actualbudget /opt/actualbudget_bak - tar -xzf "v${RELEASE}.tar.gz" - mv actual-${RELEASE} /opt/actualbudget - - mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config} - for dir in server-files .migrate user-files migrations; do - if [[ -d /opt/actualbudget_bak/$dir ]]; then - mv /opt/actualbudget_bak/$dir/* /opt/actualbudget-data/$dir/ || true - fi - done - if [[ -f /opt/actualbudget-data/migrate/.migrations ]]; then - sed -i 's/null/1732656575219/g' /opt/actualbudget-data/migrate/.migrations - sed -i 's/null/1732656575220/g' /opt/actualbudget-data/migrate/.migrations - fi - if [[ -f /opt/actualbudget/server-files/account.sqlite ]] && [[ ! -f /opt/actualbudget-data/server-files/account.sqlite ]]; then - mv /opt/actualbudget/server-files/account.sqlite /opt/actualbudget-data/server-files/account.sqlite - fi - - if [[ -f /opt/actualbudget_bak/selfhost.key ]]; then - mv /opt/actualbudget_bak/selfhost.key /opt/actualbudget/selfhost.key - mv /opt/actualbudget_bak/selfhost.crt /opt/actualbudget/selfhost.crt - fi - - if [[ -f /opt/actualbudget_bak/.env ]]; then - mv /opt/actualbudget_bak/.env /opt/actualbudget-data/.env - else - cat </opt/actualbudget-data/.env + if [[ -f /opt/actualbudget_bak/.env ]]; then + mv /opt/actualbudget_bak/.env /opt/actualbudget-data/.env + else + cat </opt/actualbudget-data/.env ACTUAL_UPLOAD_DIR=/opt/actualbudget-data/upload ACTUAL_DATA_DIR=/opt/actualbudget-data ACTUAL_SERVER_FILES_DIR=/opt/actualbudget-data/server-files @@ -75,14 +75,14 @@ ACTUAL_TRUSTED_PROXIES="10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,127.0.0.1/32,::1 ACTUAL_HTTPS_KEY=/opt/actualbudget/selfhost.key ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt EOF - fi - cd /opt/actualbudget - $STD yarn workspaces focus @actual-app/sync-server --production - echo "${RELEASE}" >/opt/actualbudget_version.txt - msg_ok "Updated ${APP}" + fi + cd /opt/actualbudget || exit + $STD yarn workspaces focus @actual-app/sync-server --production + echo "${RELEASE}" >/opt/actualbudget_version.txt + msg_ok "Updated ${APP}" - msg_info "Starting ${APP}" - cat </etc/systemd/system/actualbudget.service + msg_info "Starting ${APP}" + cat </etc/systemd/system/actualbudget.service [Unit] Description=Actual Budget Service After=network.target @@ -101,19 +101,19 @@ RestartSec=10 WantedBy=multi-user.target EOF - systemctl daemon-reload - systemctl start actualbudget - msg_ok "Started ${APP}" + systemctl daemon-reload + systemctl start actualbudget + msg_ok "Started ${APP}" - msg_info "Cleaning Up" - rm -rf /opt/actualbudget_bak - rm -rf "/tmp/v${RELEASE}.tar.gz" - msg_ok "Cleaned" - msg_ok "Updated Successfully" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" - fi - exit + msg_info "Cleaning Up" + rm -rf /opt/actualbudget_bak + rm -rf "/tmp/v${RELEASE}.tar.gz" + msg_ok "Cleaned" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start @@ -123,4 +123,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}https://${IP}:5006${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:5006${CL}" diff --git a/ct/emby.sh b/ct/emby.sh index e9c61d288..502db5c38 100644 --- a/ct/emby.sh +++ b/ct/emby.sh @@ -20,29 +20,29 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/emby-server ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - LATEST=$(curl -fsSL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) - msg_info "Stopping ${APP}" - systemctl stop emby-server - msg_ok "Stopped ${APP}" - - msg_info "Updating ${APP}" - $STD curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -O - $STD dpkg -i emby-server-deb_${LATEST}_amd64.deb - rm emby-server-deb_${LATEST}_amd64.deb - msg_ok "Updated ${APP}" - - msg_info "Starting ${APP}" - systemctl start emby-server - msg_ok "Started ${APP}" - msg_ok "Updated Successfully" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/emby-server ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + LATEST=$(curl -fsSL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4) + msg_info "Stopping ${APP}" + systemctl stop emby-server + msg_ok "Stopped ${APP}" + + msg_info "Updating ${APP}" + $STD curl -fsSL "https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb" -o "emby-server-deb_${LATEST}_amd64.deb" + $STD dpkg -i "emby-server-deb_${LATEST}_amd64.deb" + rm "emby-server-deb_${LATEST}_amd64.deb" + msg_ok "Updated ${APP}" + + msg_info "Starting ${APP}" + systemctl start emby-server + msg_ok "Started ${APP}" + msg_ok "Updated Successfully" + exit } start diff --git a/ct/snipeit.sh b/ct/snipeit.sh index 27e511d6f..133a45934 100644 --- a/ct/snipeit.sh +++ b/ct/snipeit.sh @@ -39,15 +39,12 @@ function update_script() { mv /opt/snipe-it /opt/snipe-it-backup temp_file=$(mktemp) curl -fsSL "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" - tar zxf $temp_file - mv snipe-it-${RELEASE} /opt/snipe-it - $STD curl -fsSL "https://github.com/snipe/snipe-it/archive/refs/tags/v${RELEASE}.zip" -O - unzip -q v${RELEASE}.zip - mv snipe-it-${RELEASE} /opt/snipe-it + tar zxf "$temp_file" + mv "snipe-it-${RELEASE}" /opt/snipe-it cp /opt/snipe-it-backup/.env /opt/snipe-it/.env cp -r /opt/snipe-it-backup/public/uploads/ /opt/snipe-it/public/uploads/ cp -r /opt/snipe-it-backup/storage/private_uploads /opt/snipe-it/storage/private_uploads - cd /opt/snipe-it/ + cd /opt/snipe-it/ || exit export COMPOSER_ALLOW_SUPERUSER=1 $STD composer install --no-dev --optimize-autoloader --no-interaction $STD composer dump-autoload @@ -58,7 +55,7 @@ function update_script() { $STD php artisan view:clear chown -R www-data: /opt/snipe-it chmod -R 755 /opt/snipe-it - rm -rf /opt/v${RELEASE}.zip + rm -rf "$temp_file" rm -rf /opt/snipe-it-backup msg_ok "Updated ${APP}" diff --git a/install/daemonsync-install.sh b/install/daemonsync-install.sh index 1afc20af3..4ea4bda35 100644 --- a/install/daemonsync-install.sh +++ b/install/daemonsync-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y g++-multilib msg_ok "Installed Dependencies" msg_info "Installing Daemon Sync Server" -curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/daemonsync_2.2.0.0059_amd64.deb -O "daemonsync_2.2.0.0059_amd64.deb" +curl -fsSL "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/daemonsync_2.2.0.0059_amd64.deb" -o "daemonsync_2.2.0.0059_amd64.deb" $STD dpkg -i daemonsync_2.2.0.0059_amd64.deb msg_ok "Installed Daemon Sync Server" diff --git a/install/deconz-install.sh b/install/deconz-install.sh index db317d5f5..04afdd0af 100644 --- a/install/deconz-install.sh +++ b/install/deconz-install.sh @@ -15,14 +15,14 @@ update_os msg_info "Setting Phoscon Repository" VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" -curl -fsSL http://phoscon.de/apt/deconz.pub.key >/etc/apt/trusted.gpg.d/deconz.pub.asc +curl -fsSL "http://phoscon.de/apt/deconz.pub.key" >/etc/apt/trusted.gpg.d/deconz.pub.asc echo "deb [arch=amd64] http://phoscon.de/apt/deconz $VERSION main" >/etc/apt/sources.list.d/deconz.list msg_ok "Setup Phoscon Repository" msg_info "Installing deConz" libssl=$(curl -fsSL "http://security.ubuntu.com/ubuntu/pool/main/o/openssl/" | grep -o 'libssl1\.1_1\.1\.1f-1ubuntu2\.2[^"]*amd64\.deb' | head -n1) -curl -fsSL "http://security.ubuntu.com/ubuntu/pool/main/o/openssl/$libssl" -O -$STD dpkg -i $libssl +curl -fsSL "http://security.ubuntu.com/ubuntu/pool/main/o/openssl/$libssl" -o "$libssl" +$STD dpkg -i "$libssl" $STD apt-get update $STD apt-get install -y deconz msg_ok "Installed deConz" @@ -51,7 +51,7 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf $libssl +rm -rf "$libssl" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" diff --git a/install/paperless-ngx-install.sh b/install/paperless-ngx-install.sh index 204769720..3fd017771 100644 --- a/install/paperless-ngx-install.sh +++ b/install/paperless-ngx-install.sh @@ -58,10 +58,10 @@ $STD apt-get install -y \ tesseract-ocr \ tesseract-ocr-eng -cd /tmp +cd /tmp || exit curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o $(basename "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") $STD tar -xzf ghostscript-10.04.0.tar.gz -cd ghostscript-10.04.0 +cd ghostscript-10.04.0 || exit $STD ./configure $STD make $STD sudo make install @@ -69,7 +69,7 @@ msg_ok "Installed OCR Dependencies" msg_info "Installing JBIG2" $STD git clone https://github.com/ie13/jbig2enc /opt/jbig2enc -cd /opt/jbig2enc +cd /opt/jbig2enc || exit $STD bash ./autogen.sh $STD bash ./configure $STD make @@ -78,23 +78,23 @@ rm -rf /opt/jbig2enc msg_ok "Installed JBIG2" msg_info "Installing Paperless-ngx (Patience)" -Paperlessngx=$(curl -fsSL https://github.com/paperless-ngx/paperless-ngx/releases/latest | grep "title>Release" | cut -d " " -f 5) -cd /opt -$STD curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$Paperlessngx/paperless-ngx-$Paperlessngx.tar.xz" -O -$STD tar -xf paperless-ngx-$Paperlessngx.tar.xz -C /opt/ +Paperlessngx=$(curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/latest" | grep "title>Release" | cut -d " " -f 5) +cd /opt || exit +$STD curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$Paperlessngx/paperless-ngx-$Paperlessngx.tar.xz" -o "paperless-ngx-$Paperlessngx.tar.xz" +$STD tar -xf "paperless-ngx-$Paperlessngx.tar.xz" -C /opt/ mv paperless-ngx paperless -rm paperless-ngx-$Paperlessngx.tar.xz -cd /opt/paperless +rm "paperless-ngx-$Paperlessngx.tar.xz" +cd /opt/paperless || exit $STD pip install --upgrade pip $STD pip install -r requirements.txt -curl -fsSL -o /opt/paperless/paperless.conf https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/paperless.conf.example +curl -fsSL "https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/paperless.conf.example" -o /opt/paperless/paperless.conf mkdir -p {consume,data,media,static} sed -i -e 's|#PAPERLESS_REDIS=redis://localhost:6379|PAPERLESS_REDIS=redis://localhost:6379|' /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_CONSUMPTION_DIR=../consume|PAPERLESS_CONSUMPTION_DIR=/opt/paperless/consume|" /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_DATA_DIR=../data|PAPERLESS_DATA_DIR=/opt/paperless/data|" /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_MEDIA_ROOT=../media|PAPERLESS_MEDIA_ROOT=/opt/paperless/media|" /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_STATICDIR=../static|PAPERLESS_STATICDIR=/opt/paperless/static|" /opt/paperless/paperless.conf -echo "${Paperlessngx}" >/opt/${APPLICATION}_version.txt +echo "${Paperlessngx}" >/opt/"${APPLICATION}"_version.txt msg_ok "Installed Paperless-ngx" msg_info "Installing Natural Language Toolkit (Patience)" @@ -121,7 +121,7 @@ sed -i -e "s|#PAPERLESS_DBNAME=paperless|PAPERLESS_DBNAME=$DB_NAME|" /opt/paperl sed -i -e "s|#PAPERLESS_DBUSER=paperless|PAPERLESS_DBUSER=$DB_USER|" /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_DBPASS=paperless|PAPERLESS_DBPASS=$DB_PASS|" /opt/paperless/paperless.conf sed -i -e "s|#PAPERLESS_SECRET_KEY=change-me|PAPERLESS_SECRET_KEY=$SECRET_KEY|" /opt/paperless/paperless.conf -cd /opt/paperless/src +cd /opt/paperless/src || exit $STD python3 manage.py migrate msg_ok "Set up PostgreSQL database" From 059a3d0bcffbc9a1265d1ce971ebf35edc53a24c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Wed, 2 Apr 2025 07:20:07 +0200 Subject: [PATCH 094/166] Fix dependencies (#3589) --- install/fileflows-install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/fileflows-install.sh b/install/fileflows-install.sh index c01d09f92..5ccb3db47 100644 --- a/install/fileflows-install.sh +++ b/install/fileflows-install.sh @@ -17,7 +17,8 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ ffmpeg \ - jq + jq \ + imagemagick msg_ok "Installed Dependencies" read -r -p "Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? " prompt From 8fd300e340c169612c736c75d98d739113495823 Mon Sep 17 00:00:00 2001 From: Thalatam Sainath Date: Wed, 2 Apr 2025 06:29:18 +0100 Subject: [PATCH 095/166] Fix link in clean-lxcs.sh (#3593) --- misc/clean-lxcs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/clean-lxcs.sh b/misc/clean-lxcs.sh index 42b0d2b49..03584cdd5 100644 --- a/misc/clean-lxcs.sh +++ b/misc/clean-lxcs.sh @@ -40,7 +40,7 @@ function clean_container() { header_info name=$(pct exec "$container" hostname) echo -e "${BL}[Info]${GN} Cleaning ${name} ${CL} \n" - pct exec $container -- bash -c "apt-get -y --purge autoremove && apt-get -y autoclean && bash <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/clean.sh) && rm -rf /var/lib/apt/lists/* && apt-get update" + pct exec $container -- bash -c "apt-get -y --purge autoremove && apt-get -y autoclean && bash <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/clean.sh) && rm -rf /var/lib/apt/lists/* && apt-get update" } for container in $(pct list | awk '{if(NR>1) print $1}'); do if [[ " ${excluded_containers[@]} " =~ " $container " ]]; then From 86ba0c8976c5d518ac91c91215aadcdb83392850 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, 2 Apr 2025 09:16:05 +0200 Subject: [PATCH 096/166] Update versions.json (#3591) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 132 ++++++++++++++--------------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 234da79af..0884469f4 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,8 +1,73 @@ [ + { + "name": "immich-app/immich", + "version": "v1.131.3", + "date": "2025-04-01T22:48:22Z" + }, { "name": "fhem/fhem-mirror", "version": "6.2", - "date": "2025-04-01T10:35:00Z" + "date": "2025-04-01T20:30:26Z" + }, + { + "name": "icereed/paperless-gpt", + "version": "v0.14.3", + "date": "2025-04-01T19:53:18Z" + }, + { + "name": "runtipi/runtipi", + "version": "nightly", + "date": "2025-03-31T19:17:28Z" + }, + { + "name": "home-assistant/core", + "version": "2025.3.4", + "date": "2025-03-21T20:22:46Z" + }, + { + "name": "fallenbagel/jellyseerr", + "version": "preview-music-support", + "date": "2025-04-01T19:04:25Z" + }, + { + "name": "Koenkk/zigbee2mqtt", + "version": "2.2.0", + "date": "2025-04-01T18:50:44Z" + }, + { + "name": "apache/tomcat", + "version": "9.0.103", + "date": "2025-04-01T18:39:51Z" + }, + { + "name": "MagicMirrorOrg/MagicMirror", + "version": "v2.31.0", + "date": "2025-04-01T18:12:45Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.19.6", + "date": "2025-04-01T17:26:31Z" + }, + { + "name": "influxdata/influxdb", + "version": "v3.0.0-0.beta.3", + "date": "2025-04-01T15:34:30Z" + }, + { + "name": "element-hq/synapse", + "version": "v1.127.1", + "date": "2025-03-26T21:44:28Z" + }, + { + "name": "Luligu/matterbridge", + "version": "2.2.6", + "date": "2025-04-01T14:01:36Z" + }, + { + "name": "theonedev/onedev", + "version": "v11.8.6", + "date": "2025-04-01T13:52:03Z" }, { "name": "OctoPrint/OctoPrint", @@ -64,26 +129,11 @@ "version": "v2.2.0", "date": "2025-03-31T21:31:48Z" }, - { - "name": "immich-app/immich", - "version": "v1.131.1", - "date": "2025-03-31T20:53:57Z" - }, - { - "name": "home-assistant/core", - "version": "2025.3.4", - "date": "2025-03-21T20:22:46Z" - }, { "name": "NodeBB/NodeBB", "version": "v4.2.0", "date": "2025-03-19T18:34:01Z" }, - { - "name": "runtipi/runtipi", - "version": "v3.10.0", - "date": "2025-03-15T14:38:16Z" - }, { "name": "redis/redis", "version": "8.0-rc1-int", @@ -99,11 +149,6 @@ "version": "15.1", "date": "2025-03-31T13:42:20Z" }, - { - "name": "theonedev/onedev", - "version": "v11.8.5", - "date": "2025-03-31T13:14:22Z" - }, { "name": "n8n-io/n8n", "version": "n8n@1.84.3", @@ -124,11 +169,6 @@ "version": "v1.10.0-rc.4", "date": "2025-03-31T09:02:22Z" }, - { - "name": "fallenbagel/jellyseerr", - "version": "preview-fix-remove-button", - "date": "2025-03-31T08:41:27Z" - }, { "name": "keycloak/keycloak", "version": "26.1.4", @@ -144,11 +184,6 @@ "version": "v0.92.5", "date": "2025-03-30T12:32:43Z" }, - { - "name": "icereed/paperless-gpt", - "version": "v0.14.2", - "date": "2025-03-30T19:50:38Z" - }, { "name": "StarFleetCPTN/GoMFT", "version": "v0.2.4", @@ -239,11 +274,6 @@ "version": "2025.3.28", "date": "2025-03-29T00:18:56Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.19.5", - "date": "2025-03-28T22:03:01Z" - }, { "name": "homarr-labs/homarr", "version": "v1.13.1", @@ -359,11 +389,6 @@ "version": "v0.14.5-rc6", "date": "2025-03-27T05:15:49Z" }, - { - "name": "element-hq/synapse", - "version": "v1.127.1", - "date": "2025-03-26T21:44:28Z" - }, { "name": "duplicati/duplicati", "version": "v2.1.0.112-2.1.0.112_canary_2025-03-26", @@ -444,11 +469,6 @@ "version": "v2.9.1", "date": "2025-01-08T15:22:53Z" }, - { - "name": "influxdata/influxdb", - "version": "v3.0.0-0.beta.2", - "date": "2025-03-24T21:12:19Z" - }, { "name": "ZoeyVid/NPMplus", "version": "2025-03-24-r2", @@ -554,11 +574,6 @@ "version": "v0.9.0", "date": "2025-03-19T13:30:02Z" }, - { - "name": "Luligu/matterbridge", - "version": "2.2.5", - "date": "2025-03-19T09:11:26Z" - }, { "name": "Donkie/Spoolman", "version": "v0.22.1", @@ -774,11 +789,6 @@ "version": "tc_v0.6.4", "date": "2025-03-05T15:43:40Z" }, - { - "name": "apache/tomcat", - "version": "10.1.39", - "date": "2025-03-04T19:05:18Z" - }, { "name": "sysadminsmedia/homebox", "version": "v0.18.0", @@ -789,11 +799,6 @@ "version": "v25.3.1", "date": "2025-03-03T02:05:36Z" }, - { - "name": "Koenkk/zigbee2mqtt", - "version": "2.1.3", - "date": "2025-03-02T07:47:30Z" - }, { "name": "heiher/hev-socks5-server", "version": "2.8.0", @@ -1049,11 +1054,6 @@ "version": "v25.1.0", "date": "2025-01-10T18:14:54Z" }, - { - "name": "MagicMirrorOrg/MagicMirror", - "version": "v2.30.0", - "date": "2025-01-01T14:30:19Z" - }, { "name": "go-vikunja/vikunja", "version": "v0.24.6", From 08911cfb19052efab372d25bba8553c20da2912d Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 2 Apr 2025 10:07:25 +0200 Subject: [PATCH 097/166] UI-Fix: verbose without useless space in header (#3598) --- misc/build.func | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/misc/build.func b/misc/build.func index bc83caebc..7dc4507f9 100644 --- a/misc/build.func +++ b/misc/build.func @@ -44,6 +44,7 @@ color() { CPUCORE="${TAB}🧠${TAB}${CL}" RAMSIZE="${TAB}πŸ› οΈ${TAB}${CL}" SEARCH="${TAB}πŸ”${TAB}${CL}" + VERBOSE_CROPPED="πŸ”${TAB}" VERIFYPW="${TAB}πŸ”${TAB}${CL}" CONTAINERID="${TAB}πŸ†”${TAB}${CL}" HOSTNAME="${TAB}🏠${TAB}${CL}" @@ -950,7 +951,7 @@ install_script() { ;; 2) header_info - echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME (${SEARCH}Verbose)${CL}" + echo -e "${DEFAULT}${BOLD}${BL}Using Default Settings on node $PVEHOST_NAME (${VERBOSE_CROPPED}Verbose)${CL}" VERB="yes" METHOD="default" base_settings "$VERB" From dd4af3258706a45f2d8674a0029ef05293ee4981 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, 2 Apr 2025 09:08:23 +0100 Subject: [PATCH 098/166] Update CHANGELOG.md (#3596) --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 480b5d349..89a628d18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,22 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-04-02 + +### πŸš€ Updated Scripts + + - #### 🐞 Bug Fixes + + - Fix link in clean-lxcs.sh [@thalatamsainath](https://github.com/thalatamsainath) ([#3593](https://github.com/community-scripts/ProxmoxVE/pull/3593)) + - Fileflows: Add ImageMagick dependecy [@tremor021](https://github.com/tremor021) ([#3589](https://github.com/community-scripts/ProxmoxVE/pull/3589)) + - General fixes for several scripts [@tremor021](https://github.com/tremor021) ([#3587](https://github.com/community-scripts/ProxmoxVE/pull/3587)) + +### 🧰 Maintenance + + - #### πŸ’Ύ Core + + - UI-Fix: verbose without useless space in header [@MickLesk](https://github.com/MickLesk) ([#3598](https://github.com/community-scripts/ProxmoxVE/pull/3598)) + ## 2025-04-01 ### πŸ†• New Scripts From b0d81f3b2210e90dd91c7c0ab15accc5827b5afe Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 2 Apr 2025 15:42:14 +0200 Subject: [PATCH 099/166] Photoprism: harmonize curl (#3601) --- ct/photoprism.sh | 2 +- install/photoprism-install.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ct/photoprism.sh b/ct/photoprism.sh index fbda50a13..5cff0c12f 100644 --- a/ct/photoprism.sh +++ b/ct/photoprism.sh @@ -33,7 +33,7 @@ function update_script() { msg_info "Updating PhotoPrism" $STD apt-get install -y libvips42 - curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1" -o $(basename "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1") + curl -fsSL https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1 msg_ok "Updated PhotoPrism" msg_info "Starting PhotoPrism" diff --git a/install/photoprism-install.sh b/install/photoprism-install.sh index 123249e2b..84fb1dde1 100644 --- a/install/photoprism-install.sh +++ b/install/photoprism-install.sh @@ -35,9 +35,9 @@ msg_info "Installing PhotoPrism (Patience)" mkdir -p /opt/photoprism/{cache,config,photos,storage,temp} mkdir -p /opt/photoprism/photos/{originals,import} mkdir -p /opt/photoprism_backups -curl -fsSL "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1" -o $(basename "-cO - https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1") +curl -fsSL https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1 LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1) -curl -fsSL "-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1" -o $(basename "-cO - "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1") +curl -fsSL "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1 ldconfig chmod -R 755 /opt/photoprism/photos/originals cat </opt/photoprism/config/.env From f9618cf24cfd4f9f76c8f020e66e5d9f3f88d8fa 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, 2 Apr 2025 14:42:34 +0100 Subject: [PATCH 100/166] Update versions.json (#3608) --- frontend/public/json/versions.json | 102 ++++++++++++++--------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 0884469f4..bdab710df 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,13 +1,48 @@ [ { - "name": "immich-app/immich", - "version": "v1.131.3", - "date": "2025-04-01T22:48:22Z" + "name": "Graylog2/graylog2-server", + "version": "6.1.9", + "date": "2025-04-02T11:18:59Z" + }, + { + "name": "syncthing/syncthing", + "version": "v1.29.4", + "date": "2025-04-01T08:45:07Z" }, { "name": "fhem/fhem-mirror", "version": "6.2", - "date": "2025-04-01T20:30:26Z" + "date": "2025-04-02T10:34:08Z" + }, + { + "name": "home-assistant/core", + "version": "2025.3.4", + "date": "2025-03-21T20:22:46Z" + }, + { + "name": "zwave-js/zwave-js-ui", + "version": "v10.1.4", + "date": "2025-04-02T09:38:52Z" + }, + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.11", + "date": "2025-03-28T14:04:31Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1719", + "date": "2025-04-02T05:50:17Z" + }, + { + "name": "rabbitmq/rabbitmq-server", + "version": "v4.0.7", + "date": "2025-02-26T19:07:11Z" + }, + { + "name": "immich-app/immich", + "version": "v1.131.3", + "date": "2025-04-01T22:48:22Z" }, { "name": "icereed/paperless-gpt", @@ -16,13 +51,8 @@ }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-03-31T19:17:28Z" - }, - { - "name": "home-assistant/core", - "version": "2025.3.4", - "date": "2025-03-21T20:22:46Z" + "version": "v3.10.0", + "date": "2025-03-15T14:38:16Z" }, { "name": "fallenbagel/jellyseerr", @@ -59,6 +89,11 @@ "version": "v1.127.1", "date": "2025-03-26T21:44:28Z" }, + { + "name": "keycloak/keycloak", + "version": "26.1.4", + "date": "2025-03-13T15:41:42Z" + }, { "name": "Luligu/matterbridge", "version": "2.2.6", @@ -79,26 +114,21 @@ "version": "v2.13.7", "date": "2025-04-01T09:41:55Z" }, + { + "name": "neo4j/neo4j", + "version": "5.26.5", + "date": "2025-04-01T09:32:48Z" + }, { "name": "Checkmk/checkmk", "version": "v2.4.0b3-rc1", "date": "2025-04-01T09:22:44Z" }, - { - "name": "syncthing/syncthing", - "version": "v1.29.4", - "date": "2025-04-01T08:45:07Z" - }, { "name": "wazuh/wazuh", "version": "v4.11.2", "date": "2025-04-01T07:07:35Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1714", - "date": "2025-04-01T05:50:38Z" - }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.10", @@ -159,21 +189,11 @@ "version": "v2.63.9", "date": "2025-03-31T12:47:21Z" }, - { - "name": "Graylog2/graylog2-server", - "version": "6.2.0-beta.3", - "date": "2025-03-31T11:22:28Z" - }, { "name": "documenso/documenso", "version": "v1.10.0-rc.4", "date": "2025-03-31T09:02:22Z" }, - { - "name": "keycloak/keycloak", - "version": "26.1.4", - "date": "2025-03-13T15:41:42Z" - }, { "name": "MediaBrowser/Emby.Releases", "version": "4.8.11.0", @@ -314,11 +334,6 @@ "version": "version/2025.2.3", "date": "2025-03-28T14:28:34Z" }, - { - "name": "mattermost/mattermost", - "version": "server/public/v0.1.11", - "date": "2025-03-28T14:04:31Z" - }, { "name": "hakimel/reveal.js", "version": "5.2.1", @@ -359,11 +374,6 @@ "version": "1.5.34", "date": "2025-03-27T16:17:38Z" }, - { - "name": "zwave-js/zwave-js-ui", - "version": "v10.1.3", - "date": "2025-03-27T15:51:38Z" - }, { "name": "tailscale/tailscale", "version": "v1.82.0", @@ -559,16 +569,6 @@ "version": "v1.10.4", "date": "2025-03-20T18:56:10Z" }, - { - "name": "neo4j/neo4j", - "version": "4.4.42", - "date": "2025-03-20T14:44:17Z" - }, - { - "name": "rabbitmq/rabbitmq-server", - "version": "v4.0.7", - "date": "2025-02-26T19:07:11Z" - }, { "name": "seanmorley15/AdventureLog", "version": "v0.9.0", From 71c337ed86d2ce09d016b8953246343a670e01eb 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, 2 Apr 2025 14:43:31 +0100 Subject: [PATCH 101/166] Update CHANGELOG.md (#3609) --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89a628d18..fe78b0e42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Photoprism: harmonize curl [@MickLesk](https://github.com/MickLesk) ([#3601](https://github.com/community-scripts/ProxmoxVE/pull/3601)) - Fix link in clean-lxcs.sh [@thalatamsainath](https://github.com/thalatamsainath) ([#3593](https://github.com/community-scripts/ProxmoxVE/pull/3593)) - Fileflows: Add ImageMagick dependecy [@tremor021](https://github.com/tremor021) ([#3589](https://github.com/community-scripts/ProxmoxVE/pull/3589)) - General fixes for several scripts [@tremor021](https://github.com/tremor021) ([#3587](https://github.com/community-scripts/ProxmoxVE/pull/3587)) From bcbe73f99ff54a6b3d94c73079637c29129f0019 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 2 Apr 2025 18:52:38 +0200 Subject: [PATCH 102/166] Authelia: fix incorrect rights for email.txt (#3612) --- install/authelia-install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/authelia-install.sh b/install/authelia-install.sh index 36b62bad4..0b9e32a67 100644 --- a/install/authelia-install.sh +++ b/install/authelia-install.sh @@ -34,7 +34,6 @@ users: password: "\$argon2id\$v=19\$m=65536,t=3,p=4\$ZBopMzXrzhHXPEZxRDVT2w\$SxWm96DwhOsZyn34DLocwQEIb4kCDsk632PuiMdZnig" groups: [] EOF - cat </etc/authelia/configuration.yml authentication_backend: file: @@ -64,6 +63,8 @@ notifier: filesystem: filename: /etc/authelia/emails.txt EOF +touch /etc/authelia/emails.txt +chown -R authelia:authelia /etc/authelia systemctl enable -q --now authelia msg_ok "Authelia Setup completed" From 6260be84250296458b95657bc2aa5d3fa021d53e Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 2 Apr 2025 18:53:21 +0200 Subject: [PATCH 103/166] Alpine-Wireguard (#3611) --- ct/alpine-wireguard.sh | 50 +++++++++++++ frontend/public/json/wireguard.json | 11 +++ install/alpine-wireguard-install.sh | 105 ++++++++++++++++++++++++++++ 3 files changed, 166 insertions(+) create mode 100644 ct/alpine-wireguard.sh create mode 100644 install/alpine-wireguard-install.sh diff --git a/ct/alpine-wireguard.sh b/ct/alpine-wireguard.sh new file mode 100644 index 000000000..48277edc7 --- /dev/null +++ b/ct/alpine-wireguard.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash +source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://www.wireguard.com/ + +APP="Alpine-Wireguard" +var_tags="${var_tags:-alpine;vpn}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-256}" +var_disk="${var_disk:-1}" +var_os="${var_os:-alpine}" +var_version="${var_version:-3.21}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + msg_info "Updating Alpine Packages" + $STD apk update + $STD apk upgrade + msg_ok "Updated Alpine Packages" + + msg_info "update wireguard-tools" + $STD apk add --no-cache --upgrade wireguard-tools + msg_ok "wireguard-tools updated" + + if [[ -d /etc/wgdashboard/src ]]; then + msg_info "update WGDashboard" + cd /etc/wgdashboard/src || exit + $STD echo "y" | ./wgd.sh update + $STD ./wgd.sh start + msg_ok "WGDashboard updated" + 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} WGDashboard Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:10086${CL}" diff --git a/frontend/public/json/wireguard.json b/frontend/public/json/wireguard.json index e2a8cd7a7..5984f9dd3 100644 --- a/frontend/public/json/wireguard.json +++ b/frontend/public/json/wireguard.json @@ -24,6 +24,17 @@ "os": "debian", "version": "12" } + }, + { + "type": "alpine", + "script": "ct/alpine-wireguard.sh", + "resources": { + "cpu": 1, + "ram": 256, + "hdd": 1, + "os": "alpine", + "version": "3.21" + } } ], "default_credentials": { diff --git a/install/alpine-wireguard-install.sh b/install/alpine-wireguard-install.sh new file mode 100644 index 000000000..68a0d1dd8 --- /dev/null +++ b/install/alpine-wireguard-install.sh @@ -0,0 +1,105 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://www.wireguard.com/ + +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 \ + newt \ + curl \ + openssh \ + nano \ + mc \ + gpg \ + iptables \ + openrc +msg_ok "Installed Dependencies" + +msg_info "Installing WireGuard" +$STD apk add --no-cache wireguard-tools +if [[ ! -L /etc/init.d/wg-quick.wg0 ]]; then + ln -s /etc/init.d/wg-quick /etc/init.d/wg-quick.wg0 +fi + +private_key=$(wg genkey) +cat </etc/wireguard/wg0.conf +[Interface] +PrivateKey = ${private_key} +Address = 10.0.0.1/24 +SaveConfig = true +PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; +PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; +ListenPort = 51820 +EOF +msg_ok "Installed WireGuard" + +read -rp "Do you want to install WGDashboard? (y/N): " INSTALL_WGD +if [[ "$INSTALL_WGD" =~ ^[Yy]$ ]]; then + msg_info "Installing additional dependencies for WGDashboard" + $STD apk add --no-cache \ + python3 \ + py3-pip \ + git \ + sudo \ + musl-dev \ + linux-headers \ + gcc \ + python3-dev + msg_ok "Installed additional dependencies for WGDashboard" + msg_info "Installing WGDashboard" + git clone -q https://github.com/donaldzou/WGDashboard.git /etc/wgdashboard + cd /etc/wgdashboard/src || exit + chmod u+x wgd.sh + $STD ./wgd.sh install + $STD echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf + sysctl -p /etc/sysctl.conf + msg_ok "Installed WGDashboard" + + msg_info "Creating Service for WGDashboard" + cat </etc/init.d/wg-dashboard +#!/sbin/openrc-run + +description="WireGuard Dashboard Service" + +depend() { + need net + after firewall +} + +start() { + ebegin "Starting WGDashboard" + cd /etc/wgdashboard/src/ || exit 1 + ./wgd.sh start & + eend $? +} + +stop() { + ebegin "Stopping WGDashboard" + pkill -f "wgd.sh" + eend $? +} +EOF + chmod +x /etc/init.d/wg-dashboard + $STD rc-update add wg-dashboard default + $STD rc-service wg-dashboard start + msg_ok "Created Service for WGDashboard" + +fi + +msg_info "Starting Services" +$STD rc-update add wg-quick.wg0 default +$STD rc-service wg-quick.wg0 start +msg_ok "Started Services" + +motd_ssh +customize From c1f816a57c7de86dbac6bdcefe7e641d2917cf98 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, 2 Apr 2025 18:57:00 +0200 Subject: [PATCH 104/166] Update .app files (#3616) Co-authored-by: GitHub Actions --- ct/headers/alpine-wireguard | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ct/headers/alpine-wireguard diff --git a/ct/headers/alpine-wireguard b/ct/headers/alpine-wireguard new file mode 100644 index 000000000..0d4c1bf88 --- /dev/null +++ b/ct/headers/alpine-wireguard @@ -0,0 +1,6 @@ + ___ __ _ _ ___ __ + / | / /___ (_)___ ___ | | / (_)_______ ____ ___ ______ __________/ / + / /| | / / __ \/ / __ \/ _ \_____| | /| / / / ___/ _ \/ __ `/ / / / __ `/ ___/ __ / + / ___ |/ / /_/ / / / / / __/_____/ |/ |/ / / / / __/ /_/ / /_/ / /_/ / / / /_/ / +/_/ |_/_/ .___/_/_/ /_/\___/ |__/|__/_/_/ \___/\__, /\__,_/\__,_/_/ \__,_/ + /_/ /____/ From 7cb2320ccff252ffb68e3c415ea0c69056fcfa78 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, 2 Apr 2025 17:58:30 +0100 Subject: [PATCH 105/166] Update CHANGELOG.md (#3615) --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe78b0e42..767c5b2da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,10 +16,15 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-04-02 +### πŸ†• New Scripts + + - Alpine-Wireguard [@MickLesk](https://github.com/MickLesk) ([#3611](https://github.com/community-scripts/ProxmoxVE/pull/3611)) + ### πŸš€ Updated Scripts - #### 🐞 Bug Fixes + - Authelia: fix incorrect rights for email.txt [@MickLesk](https://github.com/MickLesk) ([#3612](https://github.com/community-scripts/ProxmoxVE/pull/3612)) - Photoprism: harmonize curl [@MickLesk](https://github.com/MickLesk) ([#3601](https://github.com/community-scripts/ProxmoxVE/pull/3601)) - Fix link in clean-lxcs.sh [@thalatamsainath](https://github.com/thalatamsainath) ([#3593](https://github.com/community-scripts/ProxmoxVE/pull/3593)) - Fileflows: Add ImageMagick dependecy [@tremor021](https://github.com/tremor021) ([#3589](https://github.com/community-scripts/ProxmoxVE/pull/3589)) From bb6e947ff6e87a17eadcdb2621f23977f0f53d8c Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Wed, 2 Apr 2025 17:58:50 +0100 Subject: [PATCH 106/166] 'Add new script' (#3610) --- ct/openziti-tunnel.sh | 44 +++++++++++++++++++++ frontend/public/json/openziti-tunnel.json | 43 ++++++++++++++++++++ install/openziti-tunnel-install.sh | 48 +++++++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 ct/openziti-tunnel.sh create mode 100644 frontend/public/json/openziti-tunnel.json create mode 100644 install/openziti-tunnel-install.sh diff --git a/ct/openziti-tunnel.sh b/ct/openziti-tunnel.sh new file mode 100644 index 000000000..bc36cde86 --- /dev/null +++ b/ct/openziti-tunnel.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash +source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: emoscardini +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/openziti/ziti + +APP="openziti-tunnel" +var_tags="${var_tags:-network;openziti-tunnel}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-512}" +var_disk="${var_disk:-2}" +var_os="${var_os:-ubuntu}" +var_version="${var_version:-24.04}" +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/openziti ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating $APP LXC" + $STD apt-get update + $STD apt-get -y upgrade + msg_ok "Updated $APP LXC" + 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} Application was assigned the following IP:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}Address: ${IP}${CL}" \ No newline at end of file diff --git a/frontend/public/json/openziti-tunnel.json b/frontend/public/json/openziti-tunnel.json new file mode 100644 index 000000000..59fc4500d --- /dev/null +++ b/frontend/public/json/openziti-tunnel.json @@ -0,0 +1,43 @@ +{ + "name": "openziti-tunnel", + "slug": "openziti-tunnel", + "categories": [ + 4 + ], + "date_created": "2025-03-20", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": null, + "documentation": "https://openziti.io/docs/reference/tunnelers/docker/", + "website": "https://www.openziti.io/", + "logo": "https://raw.githubusercontent.com/openziti/ziti-doc/main/docusaurus/static/img/ziti-logo-dark.svg", + "description": "OpenZiti is an open-source, zero trust networking platform that enables secure connectivity between applications, services, and devices. It provides secure, encrypted connections between clients and services, and can be used to create secure, zero trust networks.", + "install_methods": [ + { + "type": "default", + "script": "ct/openziti-tunnel.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 2, + "os": "Ubuntu", + "version": "24.04" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "The Openziti tunnel is installed in host mode; please see documentation for more information", + "type": "info" + }, + { + "text": "Openziti tunnel prompts for identity enrollment token during installation", + "type": "info" + } + ] +} diff --git a/install/openziti-tunnel-install.sh b/install/openziti-tunnel-install.sh new file mode 100644 index 000000000..97d85e924 --- /dev/null +++ b/install/openziti-tunnel-install.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: emoscardini +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/openziti/ziti + +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 gpg +msg_ok "Installed Dependencies" + +msg_info "Installing openziti" +mkdir -p --mode=0755 /usr/share/keyrings +curl -sSLf https://get.openziti.io/tun/package-repos.gpg | gpg --dearmor -o /usr/share/keyrings/openziti.gpg +echo "deb [signed-by=/usr/share/keyrings/openziti.gpg] https://packages.openziti.org/zitipax-openziti-deb-stable jammy main" >/etc/apt/sources.list.d/openziti.list +$STD apt-get update +$STD apt-get install -y ziti-edge-tunnel +sed -i '0,/^ExecStart/ { /^ExecStart/ { n; s|^ExecStart.*|ExecStart=/opt/openziti/bin/ziti-edge-tunnel run-host --verbose=${ZITI_VERBOSE} --identity-dir=${ZITI_IDENTITY_DIR}| } }' /usr/lib/systemd/system/ziti-edge-tunnel.service +systemctl daemon-reload +msg_ok "Installed openziti" + +read -r -p "Please paste an identity enrollment token(JTW)" prompt +if [[ ${prompt} ]]; then + msg_info "Adding identity" + echo "${prompt}" >/opt/openziti/etc/identities/identity.jwt + chown ziti:ziti /opt/openziti/etc/identities/identity.jwt + systemctl enable -q --now ziti-edge-tunnel + msg_ok "Service Started" +else + systemctl enable -q ziti-edge-tunnel + msg_error "No identity provided; please place an identity file in /opt/openziti/etc/identities/ and restart the service" +fi + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 9a559f869ae1c6813d51e30f5f319eca121b5ab8 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, 2 Apr 2025 18:13:02 +0100 Subject: [PATCH 107/166] Update CHANGELOG.md (#3618) --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 767c5b2da..3a2e88cc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,8 @@ All LXC instances created using this repository come pre-installed with Midnight ### πŸ†• New Scripts - - Alpine-Wireguard [@MickLesk](https://github.com/MickLesk) ([#3611](https://github.com/community-scripts/ProxmoxVE/pull/3611)) + - openziti-tunnel [@emoscardini](https://github.com/emoscardini) ([#3610](https://github.com/community-scripts/ProxmoxVE/pull/3610)) +- Alpine-Wireguard [@MickLesk](https://github.com/MickLesk) ([#3611](https://github.com/community-scripts/ProxmoxVE/pull/3611)) ### πŸš€ Updated Scripts From 49c3eb83c63150d9c6e9b0399ddc25c2f87791ea 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, 2 Apr 2025 18:13:16 +0100 Subject: [PATCH 108/166] Update .app files (#3619) --- ct/headers/openziti-tunnel | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ct/headers/openziti-tunnel diff --git a/ct/headers/openziti-tunnel b/ct/headers/openziti-tunnel new file mode 100644 index 000000000..a908abd8f --- /dev/null +++ b/ct/headers/openziti-tunnel @@ -0,0 +1,6 @@ + _ __ _ __ __ + ____ ____ ___ ____ ____ (_) /_(_) / /___ ______ ____ ___ / / + / __ \/ __ \/ _ \/ __ \/_ / / / __/ /_____/ __/ / / / __ \/ __ \/ _ \/ / +/ /_/ / /_/ / __/ / / / / /_/ / /_/ /_____/ /_/ /_/ / / / / / / / __/ / +\____/ .___/\___/_/ /_/ /___/_/\__/_/ \__/\__,_/_/ /_/_/ /_/\___/_/ + /_/ From b8ad603a754a0d9b82baf6d53785cbe8fb294e66 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, 2 Apr 2025 18:13:32 +0100 Subject: [PATCH 109/166] Update date in json (#3617) --- frontend/public/json/openziti-tunnel.json | 80 +++++++++++------------ 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/frontend/public/json/openziti-tunnel.json b/frontend/public/json/openziti-tunnel.json index 59fc4500d..b195c32aa 100644 --- a/frontend/public/json/openziti-tunnel.json +++ b/frontend/public/json/openziti-tunnel.json @@ -1,43 +1,43 @@ { - "name": "openziti-tunnel", - "slug": "openziti-tunnel", - "categories": [ - 4 - ], - "date_created": "2025-03-20", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": null, - "documentation": "https://openziti.io/docs/reference/tunnelers/docker/", - "website": "https://www.openziti.io/", - "logo": "https://raw.githubusercontent.com/openziti/ziti-doc/main/docusaurus/static/img/ziti-logo-dark.svg", - "description": "OpenZiti is an open-source, zero trust networking platform that enables secure connectivity between applications, services, and devices. It provides secure, encrypted connections between clients and services, and can be used to create secure, zero trust networks.", - "install_methods": [ - { - "type": "default", - "script": "ct/openziti-tunnel.sh", - "resources": { - "cpu": 1, - "ram": 512, - "hdd": 2, - "os": "Ubuntu", - "version": "24.04" - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "openziti-tunnel", + "slug": "openziti-tunnel", + "categories": [ + 4 + ], + "date_created": "2025-04-02", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": null, + "documentation": "https://openziti.io/docs/reference/tunnelers/docker/", + "website": "https://www.openziti.io/", + "logo": "https://raw.githubusercontent.com/openziti/ziti-doc/main/docusaurus/static/img/ziti-logo-dark.svg", + "description": "OpenZiti is an open-source, zero trust networking platform that enables secure connectivity between applications, services, and devices. It provides secure, encrypted connections between clients and services, and can be used to create secure, zero trust networks.", + "install_methods": [ + { + "type": "default", + "script": "ct/openziti-tunnel.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 2, + "os": "Ubuntu", + "version": "24.04" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "The Openziti tunnel is installed in host mode; please see documentation for more information", + "type": "info" }, - "notes": [ - { - "text": "The Openziti tunnel is installed in host mode; please see documentation for more information", - "type": "info" - }, - { - "text": "Openziti tunnel prompts for identity enrollment token during installation", - "type": "info" - } - ] + { + "text": "Openziti tunnel prompts for identity enrollment token during installation", + "type": "info" + } + ] } From 629b9df30ac264eeac8a4fbe71c38a84171e296c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Wed, 2 Apr 2025 19:23:58 +0200 Subject: [PATCH 110/166] CrowdSec: Update install URL and script refresh (#3604) * Update install URL and script refresh * Fine, have it your way --- misc/crowdsec.sh | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/misc/crowdsec.sh b/misc/crowdsec.sh index 835a7dd92..e59eace03 100644 --- a/misc/crowdsec.sh +++ b/misc/crowdsec.sh @@ -26,28 +26,28 @@ alias die='EXIT=$? LINE=$LINENO error_exit' trap die ERR function error_exit() { - trap - ERR - local reason="Unknown failure occured." - local msg="${1:-$reason}" - local flag="${RD}β€Ό ERROR ${CL}$EXIT@$LINE" - echo -e "$flag $msg" 1>&2 - exit $EXIT + trap - ERR + local reason="Unknown failure occured." + local msg="${1:-$reason}" + local flag="${RD}β€Ό ERROR ${CL}$EXIT@$LINE" + echo -e "$flag $msg" 1>&2 + exit "$EXIT" } if command -v pveversion >/dev/null 2>&1; then - echo -e "⚠️ Can't Install on Proxmox " - exit + echo -e "⚠️ Can't Install on Proxmox " + exit fi while true; do - read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn - case $yn in - [Yy]*) break ;; - [Nn]*) exit ;; - *) echo "Please answer yes or no." ;; - esac + read -p "This will Install ${APP} on $hostname. Proceed(y/n)?" yn + case $yn in + [Yy]*) break ;; + [Nn]*) exit ;; + *) echo "Please answer yes or no." ;; + esac done clear -function header_info { - echo -e "${BL} +function header_info() { + echo -e "${BL} _____ _ _____ / ____| | |/ ____| | | _ __ _____ ____| | (___ ___ ___ @@ -60,20 +60,20 @@ ${CL}" header_info function msg_info() { - local msg="$1" - echo -ne " ${HOLD} ${YW}${msg}..." + local msg="$1" + echo -ne " ${HOLD} ${YW}${msg}..." } function msg_ok() { - local msg="$1" - echo -e "${BFR} ${CM} ${GN}${msg}${CL}" + local msg="$1" + echo -e "${BFR} ${CM} ${GN}${msg}${CL}" } msg_info "Setting up ${APP} Repository" apt-get update &>/dev/null apt-get install -y curl &>/dev/null apt-get install -y gnupg &>/dev/null -curl -fsSL https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | bash &>/dev/null +curl -fsSL "https://install.crowdsec.net" | bash &>/dev/null msg_ok "Setup ${APP} Repository" msg_info "Installing ${APP}" From 763a58aeb9abbee44d653c975efce0a0b61901ee Mon Sep 17 00:00:00 2001 From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com> Date: Wed, 2 Apr 2025 20:12:09 +0200 Subject: [PATCH 111/166] fix missing favicon (#3620) --- frontend/src/app/layout.tsx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/frontend/src/app/layout.tsx b/frontend/src/app/layout.tsx index e25b3cccf..9a341ccfb 100644 --- a/frontend/src/app/layout.tsx +++ b/frontend/src/app/layout.tsx @@ -42,10 +42,6 @@ export const metadata : Metadata = { alternates: { canonical: `https://community-scripts.github.io/${basePath}/`, }, - icons: { - icon: "/favicon.ico", - apple: "/apple-touch-icon.png", - }, viewport: { width: "device-width", initialScale: 1, From 138d0c48b10a13cb3d57ac22cdaf7153c01bd445 Mon Sep 17 00:00:00 2001 From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com> Date: Wed, 2 Apr 2025 20:12:43 +0200 Subject: [PATCH 112/166] Update Footer.tsx to redirect to frontend page instead of home page (#3621) --- frontend/src/components/Footer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/Footer.tsx b/frontend/src/components/Footer.tsx index 6aa404b63..106f0d967 100644 --- a/frontend/src/components/Footer.tsx +++ b/frontend/src/components/Footer.tsx @@ -12,7 +12,7 @@ export default function Footer() {

Website built by the community. The source code is available on{" "} Date: Thu, 3 Apr 2025 06:42:25 +0100 Subject: [PATCH 113/166] Update versions.json (#3629) --- frontend/public/json/versions.json | 134 ++++++++++++++--------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index bdab710df..be62e7063 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,69 @@ [ + { + "name": "ollama/ollama", + "version": "v0.6.3-rc1", + "date": "2025-03-26T20:39:01Z" + }, + { + "name": "HabitRPG/habitica", + "version": "v5.35.1", + "date": "2025-04-02T21:49:00Z" + }, + { + "name": "fhem/fhem-mirror", + "version": "6.2", + "date": "2025-04-02T20:29:57Z" + }, + { + "name": "redis/redis", + "version": "8.0-rc1-int2", + "date": "2025-04-02T19:05:08Z" + }, + { + "name": "zitadel/zitadel", + "version": "v2.63.9", + "date": "2025-03-31T12:47:21Z" + }, + { + "name": "home-assistant/core", + "version": "2025.4.0", + "date": "2025-04-02T17:01:41Z" + }, + { + "name": "BookStackApp/BookStack", + "version": "v25.02.2", + "date": "2025-04-02T16:39:50Z" + }, + { + "name": "cloudflare/cloudflared", + "version": "2025.4.0", + "date": "2025-04-02T15:38:53Z" + }, + { + "name": "jenkinsci/jenkins", + "version": "jenkins-2.503", + "date": "2025-04-02T15:12:13Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.4.0b3", + "date": "2025-04-02T14:39:56Z" + }, + { + "name": "hargata/lubelog", + "version": "v1.4.6", + "date": "2025-04-02T14:07:12Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.10", + "date": "2025-03-22T13:02:26Z" + }, + { + "name": "wazuh/wazuh", + "version": "v4.11.2", + "date": "2025-04-02T13:40:18Z" + }, { "name": "Graylog2/graylog2-server", "version": "6.1.9", @@ -9,16 +74,6 @@ "version": "v1.29.4", "date": "2025-04-01T08:45:07Z" }, - { - "name": "fhem/fhem-mirror", - "version": "6.2", - "date": "2025-04-02T10:34:08Z" - }, - { - "name": "home-assistant/core", - "version": "2025.3.4", - "date": "2025-03-21T20:22:46Z" - }, { "name": "zwave-js/zwave-js-ui", "version": "v10.1.4", @@ -51,8 +106,8 @@ }, { "name": "runtipi/runtipi", - "version": "v3.10.0", - "date": "2025-03-15T14:38:16Z" + "version": "nightly", + "date": "2025-04-01T19:30:29Z" }, { "name": "fallenbagel/jellyseerr", @@ -119,21 +174,6 @@ "version": "5.26.5", "date": "2025-04-01T09:32:48Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.4.0b3-rc1", - "date": "2025-04-01T09:22:44Z" - }, - { - "name": "wazuh/wazuh", - "version": "v4.11.2", - "date": "2025-04-01T07:07:35Z" - }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.10", - "date": "2025-03-22T13:02:26Z" - }, { "name": "diced/zipline", "version": "v4.0.2", @@ -164,11 +204,6 @@ "version": "v4.2.0", "date": "2025-03-19T18:34:01Z" }, - { - "name": "redis/redis", - "version": "8.0-rc1-int", - "date": "2025-03-31T18:26:40Z" - }, { "name": "traefik/traefik", "version": "v3.3.5", @@ -184,11 +219,6 @@ "version": "n8n@1.84.3", "date": "2025-03-27T11:54:33Z" }, - { - "name": "zitadel/zitadel", - "version": "v2.63.9", - "date": "2025-03-31T12:47:21Z" - }, { "name": "documenso/documenso", "version": "v1.10.0-rc.4", @@ -404,11 +434,6 @@ "version": "v2.1.0.112-2.1.0.112_canary_2025-03-26", "date": "2025-03-26T21:04:38Z" }, - { - "name": "ollama/ollama", - "version": "v0.6.3-rc1", - "date": "2025-03-26T20:39:01Z" - }, { "name": "dgtlmoon/changedetection.io", "version": "0.49.9", @@ -459,11 +484,6 @@ "version": "v0.0.7", "date": "2025-03-25T15:11:18Z" }, - { - "name": "jenkinsci/jenkins", - "version": "jenkins-2.503", - "date": "2025-03-25T14:01:20Z" - }, { "name": "crowdsecurity/crowdsec", "version": "v1.6.8", @@ -484,11 +504,6 @@ "version": "2025-03-24-r2", "date": "2025-03-24T20:52:35Z" }, - { - "name": "HabitRPG/habitica", - "version": "v5.35.0", - "date": "2025-03-24T20:51:10Z" - }, { "name": "go-gitea/gitea", "version": "v1.23.6", @@ -624,11 +639,6 @@ "version": "v1.60.0", "date": "2025-03-16T18:39:49Z" }, - { - "name": "BookStackApp/BookStack", - "version": "v25.02.1", - "date": "2025-03-16T12:51:00Z" - }, { "name": "Kozea/Radicale", "version": "v3.5.0", @@ -759,11 +769,6 @@ "version": "v0.28.1", "date": "2025-03-07T15:41:35Z" }, - { - "name": "hargata/lubelog", - "version": "v1.4.5", - "date": "2025-03-06T19:43:48Z" - }, { "name": "eclipse-mosquitto/mosquitto", "version": "v2.0.21", @@ -809,11 +814,6 @@ "version": "v1.5.7", "date": "2025-02-27T20:04:08Z" }, - { - "name": "cloudflare/cloudflared", - "version": "2025.2.1", - "date": "2025-02-27T11:36:11Z" - }, { "name": "cross-seed/cross-seed", "version": "v6.11.2", From 9c7858601e98e72aa995b5e13973d060e2b0f4b7 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, 3 Apr 2025 07:43:35 +0200 Subject: [PATCH 114/166] BookStack: Fix path to downloaded release file (#3627) --- ct/bookstack.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ct/bookstack.sh b/ct/bookstack.sh index f7e27e951..7e0afd847 100644 --- a/ct/bookstack.sh +++ b/ct/bookstack.sh @@ -36,13 +36,13 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" mv /opt/bookstack /opt/bookstack-backup curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o "/opt/BookStack-${RELEASE}.zip" - unzip -q /opt/v${RELEASE}.zip -d /opt - mv /opt/BookStack-${RELEASE} /opt/bookstack + unzip -q "/opt/BookStack-${RELEASE}.zip" -d /opt + mv "/opt/BookStack-${RELEASE}" /opt/bookstack cp /opt/bookstack-backup/.env /opt/bookstack/.env cp -r /opt/bookstack-backup/public/uploads/* /opt/bookstack/public/uploads/ || true cp -r /opt/bookstack-backup/storage/uploads/* /opt/bookstack/storage/uploads/ || true cp -r /opt/bookstack-backup/themes/* /opt/bookstack/themes/ || true - cd /opt/bookstack + cd /opt/bookstack || exit export COMPOSER_ALLOW_SUPERUSER=1 $STD composer install --no-dev $STD php artisan migrate --force @@ -59,7 +59,7 @@ function update_script() { msg_info "Cleaning Up" rm -rf /opt/bookstack-backup - rm -rf /opt/v${RELEASE}.zip + rm -rf "/opt/BookStack-${RELEASE}.zip" msg_ok "Cleaned" msg_ok "Updated Successfully" else From 47fb1c03defff51db2c3358625bd2800949ca804 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, 3 Apr 2025 07:44:05 +0200 Subject: [PATCH 115/166] Fixes (#3624) --- ct/gomft.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/ct/gomft.sh b/ct/gomft.sh index 9781c0d60..75355712f 100644 --- a/ct/gomft.sh +++ b/ct/gomft.sh @@ -33,12 +33,12 @@ function update_script() { fi if [[ ! -f "/usr/bin/node" ]]; then mkdir -p /etc/apt/keyrings - curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg + curl -fsSL "https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key" | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list $STD apt-get update $STD apt-get install -y nodejs fi - RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + RELEASE=$(curl -fsSL "https://api.github.com/repos/StarFleetCPTN/GoMFT/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 msg_info "Stopping $APP" systemctl stop gomft @@ -47,16 +47,16 @@ function update_script() { msg_info "Updating $APP to ${RELEASE}" rm -f /opt/gomft/gomft temp_file=$(mktemp) - curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -o $temp_file - tar -xzf $temp_file - cp -rf GoMFT-${RELEASE}/* /opt/gomft - cd /opt/gomft - rm -f /opt/gomft/node_modules + curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" + tar -xzf "$temp_file" + cp -rf "GoMFT-${RELEASE}"/* /opt/gomft/ + cd /opt/gomft || exit + rm -rf /opt/gomft/node_modules $STD npm ci $STD node build.js $STD go mod download $STD go get -u github.com/a-h/templ - $STD $HOME/go/bin/templ generate + $STD "$HOME"/go/bin/templ generate export CGO_ENABLED=1 export GOOS=linux $STD go build -o gomft @@ -65,8 +65,8 @@ function update_script() { msg_ok "Updated $APP to ${RELEASE}" msg_info "Cleaning Up" - rm -f $temp_file - rm -rf $HOME/GoMFT-v.${RELEASE} + rm -f "$temp_file" + rm -rf "$HOME/GoMFT-v.${RELEASE}/" msg_ok "Cleanup Complete" msg_info "Starting $APP" From b6593792c06f44c62e63bd26dcfcdbcb19bda9d9 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, 3 Apr 2025 06:49:11 +0100 Subject: [PATCH 116/166] Update CHANGELOG.md (#3622) --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a2e88cc1..d5ed8e468 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,15 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-04-03 + +### πŸš€ Updated Scripts + + - #### 🐞 Bug Fixes + + - GoMFT: Fix the node_modules deletion command [@tremor021](https://github.com/tremor021) ([#3624](https://github.com/community-scripts/ProxmoxVE/pull/3624)) + - BookStack: Fix path to downloaded release file [@tremor021](https://github.com/tremor021) ([#3627](https://github.com/community-scripts/ProxmoxVE/pull/3627)) + ## 2025-04-02 ### πŸ†• New Scripts From a5dd2b31766f91ded4c3d6e5210cdfac2f981e3c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Apr 2025 07:52:24 +0200 Subject: [PATCH 117/166] Bump next from 15.2.3 to 15.2.4 in /frontend (#3628) Bumps [next](https://github.com/vercel/next.js) from 15.2.3 to 15.2.4. - [Release notes](https://github.com/vercel/next.js/releases) - [Changelog](https://github.com/vercel/next.js/blob/canary/release.js) - [Commits](https://github.com/vercel/next.js/compare/v15.2.3...v15.2.4) --- updated-dependencies: - dependency-name: next dependency-version: 15.2.4 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- frontend/package-lock.json | 86 +++++++++++++++++++------------------- frontend/package.json | 2 +- 2 files changed, 43 insertions(+), 45 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 8e4a881fa..c112c9aee 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -33,7 +33,7 @@ "fuse.js": "^7.1.0", "lucide-react": "^0.453.0", "mini-svg-data-uri": "^1.4.4", - "next": "15.2.3", + "next": "15.2.4", "next-themes": "^0.3.0", "nuqs": "^2.4.1", "pocketbase": "^0.21.5", @@ -1598,9 +1598,9 @@ "license": "MIT" }, "node_modules/@next/env": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.3.tgz", - "integrity": "sha512-a26KnbW9DFEUsSxAxKBORR/uD9THoYoKbkpFywMN/AFvboTt94b8+g/07T8J6ACsdLag8/PDU60ov4rPxRAixw==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.4.tgz", + "integrity": "sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==", "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { @@ -1644,9 +1644,9 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.3.tgz", - "integrity": "sha512-uaBhA8aLbXLqwjnsHSkxs353WrRgQgiFjduDpc7YXEU0B54IKx3vU+cxQlYwPCyC8uYEEX7THhtQQsfHnvv8dw==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.4.tgz", + "integrity": "sha512-1AnMfs655ipJEDC/FHkSr0r3lXBgpqKo4K1kiwfUf3iE68rDFXZ1TtHdMvf7D0hMItgDZ7Vuq3JgNMbt/+3bYw==", "cpu": [ "arm64" ], @@ -1660,9 +1660,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.2.3.tgz", - "integrity": "sha512-pVwKvJ4Zk7h+4hwhqOUuMx7Ib02u3gDX3HXPKIShBi9JlYllI0nU6TWLbPT94dt7FSi6mSBhfc2JrHViwqbOdw==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.2.4.tgz", + "integrity": "sha512-3qK2zb5EwCwxnO2HeO+TRqCubeI/NgCe+kL5dTJlPldV/uwCnUgC7VbEzgmxbfrkbjehL4H9BPztWOEtsoMwew==", "cpu": [ "x64" ], @@ -1676,9 +1676,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.2.3.tgz", - "integrity": "sha512-50ibWdn2RuFFkOEUmo9NCcQbbV9ViQOrUfG48zHBCONciHjaUKtHcYFiCwBVuzD08fzvzkWuuZkd4AqbvKO7UQ==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.2.4.tgz", + "integrity": "sha512-HFN6GKUcrTWvem8AZN7tT95zPb0GUGv9v0d0iyuTb303vbXkkbHDp/DxufB04jNVD+IN9yHy7y/6Mqq0h0YVaQ==", "cpu": [ "arm64" ], @@ -1692,9 +1692,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.2.3.tgz", - "integrity": "sha512-2gAPA7P652D3HzR4cLyAuVYwYqjG0mt/3pHSWTCyKZq/N/dJcUAEoNQMyUmwTZWCJRKofB+JPuDVP2aD8w2J6Q==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.2.4.tgz", + "integrity": "sha512-Oioa0SORWLwi35/kVB8aCk5Uq+5/ZIumMK1kJV+jSdazFm2NzPDztsefzdmzzpx5oGCJ6FkUC7vkaUseNTStNA==", "cpu": [ "arm64" ], @@ -1708,9 +1708,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.2.3.tgz", - "integrity": "sha512-ODSKvrdMgAJOVU4qElflYy1KSZRM3M45JVbeZu42TINCMG3anp7YCBn80RkISV6bhzKwcUqLBAmOiWkaGtBA9w==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.2.4.tgz", + "integrity": "sha512-yb5WTRaHdkgOqFOZiu6rHV1fAEK0flVpaIN2HB6kxHVSy/dIajWbThS7qON3W9/SNOH2JWkVCyulgGYekMePuw==", "cpu": [ "x64" ], @@ -1724,9 +1724,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.2.3.tgz", - "integrity": "sha512-ZR9kLwCWrlYxwEoytqPi1jhPd1TlsSJWAc+H/CJHmHkf2nD92MQpSRIURR1iNgA/kuFSdxB8xIPt4p/T78kwsg==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.2.4.tgz", + "integrity": "sha512-Dcdv/ix6srhkM25fgXiyOieFUkz+fOYkHlydWCtB0xMST6X9XYI3yPDKBZt1xuhOytONsIFJFB08xXYsxUwJLw==", "cpu": [ "x64" ], @@ -1740,9 +1740,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.2.3.tgz", - "integrity": "sha512-+G2FrDcfm2YDbhDiObDU/qPriWeiz/9cRR0yMWJeTLGGX6/x8oryO3tt7HhodA1vZ8r2ddJPCjtLcpaVl7TE2Q==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.2.4.tgz", + "integrity": "sha512-dW0i7eukvDxtIhCYkMrZNQfNicPDExt2jPb9AZPpL7cfyUo7QSNl1DjsHjmmKp6qNAqUESyT8YFl/Aw91cNJJg==", "cpu": [ "arm64" ], @@ -1756,9 +1756,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.2.3.tgz", - "integrity": "sha512-gHYS9tc+G2W0ZC8rBL+H6RdtXIyk40uLiaos0yj5US85FNhbFEndMA2nW3z47nzOWiSvXTZ5kBClc3rD0zJg0w==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.2.4.tgz", + "integrity": "sha512-SbnWkJmkS7Xl3kre8SdMF6F/XDh1DTFEhp0jRTj/uB8iPKoU2bb2NDfcu+iifv1+mxQEd1g2vvSxcZbXSKyWiQ==", "cpu": [ "x64" ], @@ -3255,7 +3255,7 @@ "version": "19.0.0-rc.1", "resolved": "https://registry.npmjs.org/types-react/-/types-react-19.0.0-rc.1.tgz", "integrity": "sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==", - "dev": true, + "devOptional": true, "dependencies": { "csstype": "^3.0.2" } @@ -3265,7 +3265,7 @@ "version": "19.0.0-rc.1", "resolved": "https://registry.npmjs.org/types-react-dom/-/types-react-dom-19.0.0-rc.1.tgz", "integrity": "sha512-VSLZJl8VXCD0fAWp7DUTFUDCcZ8DVXOQmjhJMD03odgeFmu14ZQJHCXeETm3BEAhJqfgJaFkLnGkQv88sRx0fQ==", - "dev": true, + "devOptional": true, "dependencies": { "@types/react": "*" } @@ -7194,12 +7194,12 @@ "license": "MIT" }, "node_modules/next": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/next/-/next-15.2.3.tgz", - "integrity": "sha512-x6eDkZxk2rPpu46E1ZVUWIBhYCLszmUY6fvHBFcbzJ9dD+qRX6vcHusaqqDlnY+VngKzKbAiG2iRCkPbmi8f7w==", + "version": "15.2.4", + "resolved": "https://registry.npmjs.org/next/-/next-15.2.4.tgz", + "integrity": "sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==", "license": "MIT", "dependencies": { - "@next/env": "15.2.3", + "@next/env": "15.2.4", "@swc/counter": "0.1.3", "@swc/helpers": "0.5.15", "busboy": "1.6.0", @@ -7214,14 +7214,14 @@ "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "15.2.3", - "@next/swc-darwin-x64": "15.2.3", - "@next/swc-linux-arm64-gnu": "15.2.3", - "@next/swc-linux-arm64-musl": "15.2.3", - "@next/swc-linux-x64-gnu": "15.2.3", - "@next/swc-linux-x64-musl": "15.2.3", - "@next/swc-win32-arm64-msvc": "15.2.3", - "@next/swc-win32-x64-msvc": "15.2.3", + "@next/swc-darwin-arm64": "15.2.4", + "@next/swc-darwin-x64": "15.2.4", + "@next/swc-linux-arm64-gnu": "15.2.4", + "@next/swc-linux-arm64-musl": "15.2.4", + "@next/swc-linux-x64-gnu": "15.2.4", + "@next/swc-linux-x64-musl": "15.2.4", + "@next/swc-win32-arm64-msvc": "15.2.4", + "@next/swc-win32-x64-msvc": "15.2.4", "sharp": "^0.33.5" }, "peerDependencies": { @@ -7851,7 +7851,6 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", - "dev": true, "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" @@ -9542,7 +9541,6 @@ "version": "5.8.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", - "dev": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", diff --git a/frontend/package.json b/frontend/package.json index 28a0a6680..50379a320 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -44,7 +44,7 @@ "fuse.js": "^7.1.0", "lucide-react": "^0.453.0", "mini-svg-data-uri": "^1.4.4", - "next": "15.2.3", + "next": "15.2.4", "next-themes": "^0.3.0", "nuqs": "^2.4.1", "pocketbase": "^0.21.5", From 5b0cfaab836341112624d8e8ad8408d0f53aa556 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, 3 Apr 2025 07:58:43 +0200 Subject: [PATCH 118/166] *Arr: Move Arr apps to github release crawling and provide update functionality (#3625) * Move Arr apps to github release crawling * Update website, show updateable --- ct/lidarr.sh | 35 ++++++++++------ ct/prowlarr.sh | 32 ++++++++++----- ct/radarr.sh | 32 ++++++++++----- frontend/public/json/lidarr.json | 64 +++++++++++++++--------------- frontend/public/json/prowlarr.json | 64 +++++++++++++++--------------- frontend/public/json/radarr.json | 64 +++++++++++++++--------------- install/lidarr-install.sh | 19 ++++----- install/prowlarr-install.sh | 13 +++--- install/radarr-install.sh | 13 +++--- 9 files changed, 189 insertions(+), 147 deletions(-) diff --git a/ct/lidarr.sh b/ct/lidarr.sh index 087c006f5..9907f4f82 100644 --- a/ct/lidarr.sh +++ b/ct/lidarr.sh @@ -20,18 +20,29 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /var/lib/lidarr/ ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated $APP LXC" + header_info + check_container_storage + check_container_resources + + if [[ ! -d /var/lib/lidarr/ ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + + msg_info "Updating $APP LXC" + temp_file="$(mktemp)" + rm -rf /opt/Lidarr + RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + curl -fsSL "https://github.com/Lidarr/Lidarr/releases/download/v${RELEASE}/Lidarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file" + $STD tar -xvzf "$temp_file" + mv Lidarr /opt + chmod 775 /opt/Lidarr + msg_ok "Updated $APP LXC" + + msg_info "Cleaning up" + rm -rf "$temp_file" + msg_ok "Cleaned up" + exit } start @@ -41,4 +52,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}:8686${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8686${CL}" diff --git a/ct/prowlarr.sh b/ct/prowlarr.sh index 3b4309e2b..73453f1b6 100644 --- a/ct/prowlarr.sh +++ b/ct/prowlarr.sh @@ -20,15 +20,29 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /var/lib/prowlarr/ ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_error "Currently we don't provide an update function for this ${APP}." + header_info + check_container_storage + check_container_resources + + if [[ ! -d /var/lib/prowlarr/ ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + + msg_info "Updating $APP LXC" + temp_file="$(mktemp)" + rm -rf /opt/Prowlarr + RELEASE=$(curl -fsSL https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + curl -fsSL "https://github.tcom/Prowlarr/Prowlarr/releases/download/v${RELEASE}/Prowlarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file" + $STD tar -xvzf "$temp_file" + mv Prowlarr /opt + chmod 775 /opt/Prowlarr + msg_ok "Updated $APP LXC" + + msg_info "Cleaning up" + rm -f "$temp_file" + msg_ok "Cleaned up" + exit } start @@ -38,4 +52,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}:9696${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9696${CL}" diff --git a/ct/radarr.sh b/ct/radarr.sh index 946bcee51..d414c6f6a 100644 --- a/ct/radarr.sh +++ b/ct/radarr.sh @@ -20,15 +20,29 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /var/lib/radarr/ ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_error "Currently we don't provide an update function for this ${APP}." + header_info + check_container_storage + check_container_resources + + if [[ ! -d /var/lib/radarr/ ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + + msg_info "Updating $APP LXC" + temp_file="$(mktemp)" + rm -rf /opt/Radarr + RELEASE=$(curl -fsSL https://api.github.com/repos/Radarr/Radarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + curl -fsSL "https://github.com/Radarr/Radarr/releases/download/v${RELEASE}/Radarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file" + $STD tar -xvzf "$temp_file" + mv Radarr /opt + chmod 775 /opt/Radarr + msg_ok "Updated $APP LXC" + + msg_info "Cleaning up" + rm -rf "$temp_file" + msg_ok "Cleaned up" + exit } start @@ -38,4 +52,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}:7878${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7878${CL}" diff --git a/frontend/public/json/lidarr.json b/frontend/public/json/lidarr.json index ecb263202..bfbdf3386 100644 --- a/frontend/public/json/lidarr.json +++ b/frontend/public/json/lidarr.json @@ -1,34 +1,34 @@ { - "name": "Lidarr", - "slug": "lidarr", - "categories": [ - 14 - ], - "date_created": "2024-05-02", - "type": "ct", - "updateable": false, - "privileged": false, - "interface_port": 8686, - "documentation": null, - "website": "https://lidarr.audio/", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/lidarr.svg", - "description": "Lidarr is a music management tool designed for Usenet and BitTorrent users. It allows users to manage and organize their music collection with ease. Lidarr integrates with popular Usenet and BitTorrent clients, such as Sonarr and Radarr, to automate the downloading and organizing of music files. The software provides a web-based interface for managing and organizing music, making it easy to search and find songs, albums, and artists. Lidarr also supports metadata management, including album art, artist information, and lyrics, making it easy for users to keep their music collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing music collections, making it a valuable tool for music lovers who want to keep their collection organized and up-to-date. With Lidarr, users can enjoy their music collection from anywhere, making it a powerful tool for managing and sharing music files.", - "install_methods": [ - { - "type": "default", - "script": "ct/lidarr.sh", - "resources": { - "cpu": 2, - "ram": 1024, - "hdd": 4, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [] + "name": "Lidarr", + "slug": "lidarr", + "categories": [ + 14 + ], + "date_created": "2024-05-02", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 8686, + "documentation": null, + "website": "https://lidarr.audio/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/lidarr.svg", + "description": "Lidarr is a music management tool designed for Usenet and BitTorrent users. It allows users to manage and organize their music collection with ease. Lidarr integrates with popular Usenet and BitTorrent clients, such as Sonarr and Radarr, to automate the downloading and organizing of music files. The software provides a web-based interface for managing and organizing music, making it easy to search and find songs, albums, and artists. Lidarr also supports metadata management, including album art, artist information, and lyrics, making it easy for users to keep their music collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing music collections, making it a valuable tool for music lovers who want to keep their collection organized and up-to-date. With Lidarr, users can enjoy their music collection from anywhere, making it a powerful tool for managing and sharing music files.", + "install_methods": [ + { + "type": "default", + "script": "ct/lidarr.sh", + "resources": { + "cpu": 2, + "ram": 1024, + "hdd": 4, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] } diff --git a/frontend/public/json/prowlarr.json b/frontend/public/json/prowlarr.json index 6873b9fa9..9020a2393 100644 --- a/frontend/public/json/prowlarr.json +++ b/frontend/public/json/prowlarr.json @@ -1,34 +1,34 @@ { - "name": "Prowlarr", - "slug": "prowlarr", - "categories": [ - 14 - ], - "date_created": "2024-05-02", - "type": "ct", - "updateable": false, - "privileged": false, - "interface_port": 9696, - "documentation": null, - "website": "https://github.com/Prowlarr/Prowlarr", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/prowlarr.svg", - "description": "Prowlarr is a software tool designed to integrate with various PVR (Personal Video Recorder) apps. It is built on a popular *arr .net/ReactJS base stack and serves as an indexer manager and proxy. Prowlarr makes it easy to manage and organize TV show and movie collections, by integrating with popular PVR apps and automating the downloading and organizing of media files. The software provides a web-based interface for managing and organizing TV shows and movies, making it easy to search and find content. Prowlarr also supports metadata management, including show and movie information, making it easy for users to keep their media collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing media collections, making it a valuable tool for media enthusiasts who want to keep their collection organized and up-to-date. With Prowlarr, users can enjoy their media collection from anywhere, making it a powerful tool for managing and sharing media files.", - "install_methods": [ - { - "type": "default", - "script": "ct/prowlarr.sh", - "resources": { - "cpu": 2, - "ram": 1024, - "hdd": 4, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [] + "name": "Prowlarr", + "slug": "prowlarr", + "categories": [ + 14 + ], + "date_created": "2024-05-02", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 9696, + "documentation": null, + "website": "https://github.com/Prowlarr/Prowlarr", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/prowlarr.svg", + "description": "Prowlarr is a software tool designed to integrate with various PVR (Personal Video Recorder) apps. It is built on a popular *arr .net/ReactJS base stack and serves as an indexer manager and proxy. Prowlarr makes it easy to manage and organize TV show and movie collections, by integrating with popular PVR apps and automating the downloading and organizing of media files. The software provides a web-based interface for managing and organizing TV shows and movies, making it easy to search and find content. Prowlarr also supports metadata management, including show and movie information, making it easy for users to keep their media collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing media collections, making it a valuable tool for media enthusiasts who want to keep their collection organized and up-to-date. With Prowlarr, users can enjoy their media collection from anywhere, making it a powerful tool for managing and sharing media files.", + "install_methods": [ + { + "type": "default", + "script": "ct/prowlarr.sh", + "resources": { + "cpu": 2, + "ram": 1024, + "hdd": 4, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] } diff --git a/frontend/public/json/radarr.json b/frontend/public/json/radarr.json index 36e842216..78903b3f7 100644 --- a/frontend/public/json/radarr.json +++ b/frontend/public/json/radarr.json @@ -1,34 +1,34 @@ { - "name": "Radarr", - "slug": "radarr", - "categories": [ - 14 - ], - "date_created": "2024-05-02", - "type": "ct", - "updateable": false, - "privileged": false, - "interface_port": 7878, - "documentation": null, - "website": "https://radarr.video/", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/radarr.svg", - "description": "Radarr is a movie management tool designed for Usenet and BitTorrent users. It allows users to manage and organize their movie collection with ease. Radarr integrates with popular Usenet and BitTorrent clients, such as Sonarr and Lidarr, to automate the downloading and organizing of movie files. The software provides a web-based interface for managing and organizing movies, making it easy to search and find titles, genres, and release dates. Radarr also supports metadata management, including movie posters and information, making it easy for users to keep their movie collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing movie collections, making it a valuable tool for movie enthusiasts who want to keep their collection organized and up-to-date. With Radarr, users can enjoy their movie collection from anywhere, making it a powerful tool for managing and sharing movie files.", - "install_methods": [ - { - "type": "default", - "script": "ct/radarr.sh", - "resources": { - "cpu": 2, - "ram": 1024, - "hdd": 4, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [] + "name": "Radarr", + "slug": "radarr", + "categories": [ + 14 + ], + "date_created": "2024-05-02", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 7878, + "documentation": null, + "website": "https://radarr.video/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/radarr.svg", + "description": "Radarr is a movie management tool designed for Usenet and BitTorrent users. It allows users to manage and organize their movie collection with ease. Radarr integrates with popular Usenet and BitTorrent clients, such as Sonarr and Lidarr, to automate the downloading and organizing of movie files. The software provides a web-based interface for managing and organizing movies, making it easy to search and find titles, genres, and release dates. Radarr also supports metadata management, including movie posters and information, making it easy for users to keep their movie collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing movie collections, making it a valuable tool for movie enthusiasts who want to keep their collection organized and up-to-date. With Radarr, users can enjoy their movie collection from anywhere, making it a powerful tool for managing and sharing movie files.", + "install_methods": [ + { + "type": "default", + "script": "ct/radarr.sh", + "resources": { + "cpu": 2, + "ram": 1024, + "hdd": 4, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] } diff --git a/install/lidarr-install.sh b/install/lidarr-install.sh index c15e4856b..cd7f33530 100644 --- a/install/lidarr-install.sh +++ b/install/lidarr-install.sh @@ -14,17 +14,19 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y sqlite3 -$STD apt-get install -y libchromaprint-tools -$STD apt-get install -y mediainfo +$STD apt-get install -y \ + sqlite3 \ + libchromaprint-tools \ + mediainfo msg_ok "Installed Dependencies" msg_info "Installing Lidarr" +temp_file="$(mktemp)" mkdir -p /var/lib/lidarr/ chmod 775 /var/lib/lidarr/ -cd /var/lib/lidarr/ -$STD curl -fsSL 'https://lidarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -o lidarr.tar.gz -$STD tar -xvzf lidarr.tar.gz +RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/Lidarr/Lidarr/releases/download/v${RELEASE}/Lidarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file" +$STD tar -xvzf "$temp_file" mv Lidarr /opt chmod 775 /opt/Lidarr msg_ok "Installed Lidarr" @@ -44,15 +46,14 @@ Restart=on-failure [Install] WantedBy=multi-user.target EOF -systemctl -q daemon-reload -systemctl enable --now -q lidarr +systemctl enable -q --now lidarr msg_ok "Created Service" motd_ssh customize msg_info "Cleaning up" -rm -rf Lidarr.master.*.tar.gz +rm -rf "$temp_file" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" diff --git a/install/prowlarr-install.sh b/install/prowlarr-install.sh index 2e5162a36..26864af05 100644 --- a/install/prowlarr-install.sh +++ b/install/prowlarr-install.sh @@ -18,11 +18,13 @@ $STD apt-get install -y sqlite3 msg_ok "Installed Dependencies" msg_info "Installing Prowlarr" +temp_file="$(mktemp)" mkdir -p /var/lib/prowlarr/ chmod 775 /var/lib/prowlarr/ -cd /var/lib/prowlarr/ -$STD curl -fsSL 'https://prowlarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -o prowlarr.tar.gz -$STD tar -xvzf prowlarr.tar.gz +cd /var/lib/prowlarr/ || exit +RELEASE=$(curl -fsSL https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.tcom/Prowlarr/Prowlarr/releases/download/v${RELEASE}/Prowlarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file" +$STD tar -xvzf "$temp_file" mv Prowlarr /opt chmod 775 /opt/Prowlarr msg_ok "Installed Prowlarr" @@ -42,15 +44,14 @@ Restart=on-failure [Install] WantedBy=multi-user.target EOF -systemctl -q daemon-reload -systemctl enable --now -q prowlarr +systemctl enable -q --now prowlarr msg_ok "Created Service" motd_ssh customize msg_info "Cleaning up" -rm -rf Prowlarr.master.*.tar.gz +rm -f "$temp_file" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" diff --git a/install/radarr-install.sh b/install/radarr-install.sh index b01675eda..1c9929967 100644 --- a/install/radarr-install.sh +++ b/install/radarr-install.sh @@ -18,11 +18,13 @@ $STD apt-get install -y sqlite3 msg_ok "Installed Dependencies" msg_info "Installing Radarr" +temp_file="$(mktemp)" mkdir -p /var/lib/radarr/ chmod 775 /var/lib/radarr/ -cd /var/lib/radarr/ -$STD curl -fsSL 'https://radarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -o radarr.tar.gz -$STD tar -xvzf radarr.tar.gz +cd /var/lib/radarr/ || exit +RELEASE=$(curl -fsSL https://api.github.com/repos/Radarr/Radarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/Radarr/Radarr/releases/download/v${RELEASE}/Radarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file" +$STD tar -xvzf "$temp_file" mv Radarr /opt chmod 775 /opt/Radarr msg_ok "Installed Radarr" @@ -42,15 +44,14 @@ Restart=on-failure [Install] WantedBy=multi-user.target EOF -systemctl -q daemon-reload -systemctl enable --now -q radarr +systemctl enable -q --now radarr msg_ok "Created Service" motd_ssh customize msg_info "Cleaning up" -rm -rf Radarr.master.*.tar.gz +rm -rf "$temp_file" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 7539566dc5daaee4c4da8a4daa70b4c2326ea48f 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, 3 Apr 2025 07:59:40 +0200 Subject: [PATCH 119/166] Update CHANGELOG.md (#3632) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d5ed8e468..4029e36c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,14 @@ All LXC instances created using this repository come pre-installed with Midnight - GoMFT: Fix the node_modules deletion command [@tremor021](https://github.com/tremor021) ([#3624](https://github.com/community-scripts/ProxmoxVE/pull/3624)) - BookStack: Fix path to downloaded release file [@tremor021](https://github.com/tremor021) ([#3627](https://github.com/community-scripts/ProxmoxVE/pull/3627)) + - #### ✨ New Features + + - *Arr: Move Arr apps to github release crawling and provide update functionality [@tremor021](https://github.com/tremor021) ([#3625](https://github.com/community-scripts/ProxmoxVE/pull/3625)) + +### 🌐 Website + + - Bump next from 15.2.3 to 15.2.4 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#3628](https://github.com/community-scripts/ProxmoxVE/pull/3628)) + ## 2025-04-02 ### πŸ†• New Scripts From 3d4ba758a942b82329d7af85a4930ee89c05a062 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 3 Apr 2025 10:04:15 +0200 Subject: [PATCH 120/166] slskd: fix typo fore config note (#3633) --- frontend/public/json/slskd.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/slskd.json b/frontend/public/json/slskd.json index 5f5c761a2..9919ccdb7 100644 --- a/frontend/public/json/slskd.json +++ b/frontend/public/json/slskd.json @@ -32,7 +32,7 @@ }, "notes": [ { - "text": "See /opt/slskd/config/sksld.yml to add your Soulseek credentials", + "text": "See /opt/slskd/config/slskd.yml to add your Soulseek credentials", "type": "info" }, { From f5e9d761c908d7e116d331effdb5ccda9947a829 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, 3 Apr 2025 11:17:21 +0200 Subject: [PATCH 121/166] Fix typo (#3636) --- install/prowlarr-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/prowlarr-install.sh b/install/prowlarr-install.sh index 26864af05..b4f12fa15 100644 --- a/install/prowlarr-install.sh +++ b/install/prowlarr-install.sh @@ -23,7 +23,7 @@ mkdir -p /var/lib/prowlarr/ chmod 775 /var/lib/prowlarr/ cd /var/lib/prowlarr/ || exit RELEASE=$(curl -fsSL https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.tcom/Prowlarr/Prowlarr/releases/download/v${RELEASE}/Prowlarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file" +curl -fsSL "https://github.com/Prowlarr/Prowlarr/releases/download/v${RELEASE}/Prowlarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file" $STD tar -xvzf "$temp_file" mv Prowlarr /opt chmod 775 /opt/Prowlarr From 8884514ab67fb1d476d52e01b5cbef07a319f253 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, 3 Apr 2025 12:27:24 +0200 Subject: [PATCH 122/166] Update CHANGELOG.md (#3639) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4029e36c7..ad7f4c7cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Prowlarr: Fix typo in release URL [@tremor021](https://github.com/tremor021) ([#3636](https://github.com/community-scripts/ProxmoxVE/pull/3636)) - GoMFT: Fix the node_modules deletion command [@tremor021](https://github.com/tremor021) ([#3624](https://github.com/community-scripts/ProxmoxVE/pull/3624)) - BookStack: Fix path to downloaded release file [@tremor021](https://github.com/tremor021) ([#3627](https://github.com/community-scripts/ProxmoxVE/pull/3627)) @@ -31,6 +32,10 @@ All LXC instances created using this repository come pre-installed with Midnight - Bump next from 15.2.3 to 15.2.4 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#3628](https://github.com/community-scripts/ProxmoxVE/pull/3628)) + - #### πŸ“ Script Information + + - slskd: fix typo for config note [@MickLesk](https://github.com/MickLesk) ([#3633](https://github.com/community-scripts/ProxmoxVE/pull/3633)) + ## 2025-04-02 ### πŸ†• New Scripts From 01ff0a2dc7e257da4e61c04e6f1cb876e8117c9b Mon Sep 17 00:00:00 2001 From: Albert Ribera Date: Thu, 3 Apr 2025 13:05:05 +0200 Subject: [PATCH 123/166] Update prowlarr.sh (#3640) Fixed a typo in a link --- ct/prowlarr.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/prowlarr.sh b/ct/prowlarr.sh index 73453f1b6..c18ba36bd 100644 --- a/ct/prowlarr.sh +++ b/ct/prowlarr.sh @@ -33,7 +33,7 @@ function update_script() { temp_file="$(mktemp)" rm -rf /opt/Prowlarr RELEASE=$(curl -fsSL https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - curl -fsSL "https://github.tcom/Prowlarr/Prowlarr/releases/download/v${RELEASE}/Prowlarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file" + curl -fsSL "https://github.com/Prowlarr/Prowlarr/releases/download/v${RELEASE}/Prowlarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file" $STD tar -xvzf "$temp_file" mv Prowlarr /opt chmod 775 /opt/Prowlarr From 69c1a648550523bf18bf1f040ad1f4458a232bfe 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, 3 Apr 2025 14:13:10 +0200 Subject: [PATCH 124/166] Update versions.json (#3642) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 102 ++++++++++++++--------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index be62e7063..4f063e606 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,49 @@ [ + { + "name": "dgtlmoon/changedetection.io", + "version": "0.49.10", + "date": "2025-04-03T09:17:54Z" + }, + { + "name": "syncthing/syncthing", + "version": "v1.29.4", + "date": "2025-04-01T08:45:07Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.10", + "date": "2025-03-22T13:02:26Z" + }, + { + "name": "Graylog2/graylog2-server", + "version": "6.0.14", + "date": "2025-04-03T07:52:24Z" + }, + { + "name": "jupyter/notebook", + "version": "@jupyter-notebook/ui-components@7.4.0-rc.0", + "date": "2025-04-03T06:49:38Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1722", + "date": "2025-04-03T05:51:10Z" + }, + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.11", + "date": "2025-03-28T14:04:31Z" + }, + { + "name": "rabbitmq/rabbitmq-server", + "version": "v4.0.8", + "date": "2025-04-03T05:11:15Z" + }, + { + "name": "fhem/fhem-mirror", + "version": "6.2", + "date": "2025-04-03T02:01:34Z" + }, { "name": "ollama/ollama", "version": "v0.6.3-rc1", @@ -10,9 +55,9 @@ "date": "2025-04-02T21:49:00Z" }, { - "name": "fhem/fhem-mirror", - "version": "6.2", - "date": "2025-04-02T20:29:57Z" + "name": "keycloak/keycloak", + "version": "26.1.4", + "date": "2025-03-13T15:41:42Z" }, { "name": "redis/redis", @@ -54,45 +99,20 @@ "version": "v1.4.6", "date": "2025-04-02T14:07:12Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.10", - "date": "2025-03-22T13:02:26Z" - }, { "name": "wazuh/wazuh", "version": "v4.11.2", "date": "2025-04-02T13:40:18Z" }, - { - "name": "Graylog2/graylog2-server", - "version": "6.1.9", - "date": "2025-04-02T11:18:59Z" - }, - { - "name": "syncthing/syncthing", - "version": "v1.29.4", - "date": "2025-04-01T08:45:07Z" - }, { "name": "zwave-js/zwave-js-ui", "version": "v10.1.4", "date": "2025-04-02T09:38:52Z" }, { - "name": "mattermost/mattermost", - "version": "server/public/v0.1.11", - "date": "2025-03-28T14:04:31Z" - }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1719", - "date": "2025-04-02T05:50:17Z" - }, - { - "name": "rabbitmq/rabbitmq-server", - "version": "v4.0.7", - "date": "2025-02-26T19:07:11Z" + "name": "runtipi/runtipi", + "version": "v3.10.0", + "date": "2025-03-15T14:38:16Z" }, { "name": "immich-app/immich", @@ -104,11 +124,6 @@ "version": "v0.14.3", "date": "2025-04-01T19:53:18Z" }, - { - "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-04-01T19:30:29Z" - }, { "name": "fallenbagel/jellyseerr", "version": "preview-music-support", @@ -144,11 +159,6 @@ "version": "v1.127.1", "date": "2025-03-26T21:44:28Z" }, - { - "name": "keycloak/keycloak", - "version": "26.1.4", - "date": "2025-03-13T15:41:42Z" - }, { "name": "Luligu/matterbridge", "version": "2.2.6", @@ -434,21 +444,11 @@ "version": "v2.1.0.112-2.1.0.112_canary_2025-03-26", "date": "2025-03-26T21:04:38Z" }, - { - "name": "dgtlmoon/changedetection.io", - "version": "0.49.9", - "date": "2025-03-26T15:31:03Z" - }, { "name": "prometheus/prometheus", "version": "v0.303.0-rc.0", "date": "2025-03-26T12:48:46Z" }, - { - "name": "jupyter/notebook", - "version": "@jupyter-notebook/ui-components@7.4.0-beta.3", - "date": "2025-03-26T10:07:53Z" - }, { "name": "forgejo/forgejo", "version": "v12.0.0-dev", From c231e563023bd6bf3b3d69eec8535703a3b0780e 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, 3 Apr 2025 14:13:34 +0200 Subject: [PATCH 125/166] Update CHANGELOG.md (#3641) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad7f4c7cb..94287324b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Prowlarr: Fix Typo in URL (update_function) [@ribera96](https://github.com/ribera96) ([#3640](https://github.com/community-scripts/ProxmoxVE/pull/3640)) - Prowlarr: Fix typo in release URL [@tremor021](https://github.com/tremor021) ([#3636](https://github.com/community-scripts/ProxmoxVE/pull/3636)) - GoMFT: Fix the node_modules deletion command [@tremor021](https://github.com/tremor021) ([#3624](https://github.com/community-scripts/ProxmoxVE/pull/3624)) - BookStack: Fix path to downloaded release file [@tremor021](https://github.com/tremor021) ([#3627](https://github.com/community-scripts/ProxmoxVE/pull/3627)) From e55f3f77fd54af092ee74a9ebab1f77c1e49f378 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 3 Apr 2025 16:01:23 +0200 Subject: [PATCH 126/166] VM: show progress bar while downloading (#3634) --- vm/archlinux-vm.sh | 2 +- vm/debian-vm.sh | 2 +- vm/docker-vm.sh | 2 +- vm/haos-vm.sh | 4 ++-- vm/mikrotik-routeros.sh | 2 +- vm/nextcloud-vm.sh | 2 +- vm/openwrt.sh | 2 +- vm/opnsense-vm.sh | 2 +- vm/owncloud-vm.sh | 2 +- vm/pimox-haos-vm.sh | 2 +- vm/ubuntu2204-vm.sh | 2 +- vm/ubuntu2404-vm.sh | 2 +- vm/ubuntu2410-vm.sh | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) diff --git a/vm/archlinux-vm.sh b/vm/archlinux-vm.sh index e6498c13e..e9a67306b 100644 --- a/vm/archlinux-vm.sh +++ b/vm/archlinux-vm.sh @@ -424,7 +424,7 @@ msg_info "Retrieving the URL for the Arch Linux .iso File" URL=https://geo.mirror.pkgbuild.com/iso/latest/archlinux-x86_64.iso sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" diff --git a/vm/debian-vm.sh b/vm/debian-vm.sh index b4a38784b..cc89265c0 100644 --- a/vm/debian-vm.sh +++ b/vm/debian-vm.sh @@ -425,7 +425,7 @@ msg_info "Retrieving the URL for the Debian 12 Qcow2 Disk Image" URL=https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.qcow2 sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" diff --git a/vm/docker-vm.sh b/vm/docker-vm.sh index d9bd48d05..4bd6bc8e4 100644 --- a/vm/docker-vm.sh +++ b/vm/docker-vm.sh @@ -388,7 +388,7 @@ msg_info "Retrieving the URL for the Debian 12 Qcow2 Disk Image" URL="https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-$(dpkg --print-architecture).qcow2" sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" diff --git a/vm/haos-vm.sh b/vm/haos-vm.sh index 7f03ef14b..0f7bb0744 100644 --- a/vm/haos-vm.sh +++ b/vm/haos-vm.sh @@ -31,7 +31,7 @@ var_os="homeassistant" DISK_SIZE="32G" # for version in "${VERSIONS[@]}"; do - eval "$version=$(curl -fsSL https://raw.githubusercontent.com/home-assistant/version/master/$version.json | grep "ova" | cut -d '"' -f 4)" + eval "$version=$(curl -fsSL https://raw.githubusercontent.com/home-assistant/version/master/stable.json | grep '"ova"' | cut -d '"' -f 4)" done YW=$(echo "\033[33m") BL=$(echo "\033[36m") @@ -432,7 +432,7 @@ else fi sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}haos_ova-${BRANCH}.qcow2.xz${CL}" diff --git a/vm/mikrotik-routeros.sh b/vm/mikrotik-routeros.sh index 816c66378..e2d437664 100644 --- a/vm/mikrotik-routeros.sh +++ b/vm/mikrotik-routeros.sh @@ -254,7 +254,7 @@ URL=https://download.mikrotik.com/routeros/7.15.3/chr-7.15.3.img.zip sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}$FILE${CL}" diff --git a/vm/nextcloud-vm.sh b/vm/nextcloud-vm.sh index c38de7375..5d62fc097 100644 --- a/vm/nextcloud-vm.sh +++ b/vm/nextcloud-vm.sh @@ -389,7 +389,7 @@ msg_info "Retrieving the URL for the $NAME Disk Image" URL=http://mirror.turnkeylinux.org/turnkeylinux/images/iso/turnkey-nextcloud-18.1-bookworm-amd64.iso sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" diff --git a/vm/openwrt.sh b/vm/openwrt.sh index caf5ac6aa..f5dfb50fa 100644 --- a/vm/openwrt.sh +++ b/vm/openwrt.sh @@ -453,7 +453,7 @@ URL="https://downloads.openwrt.org/releases/$stableversion/targets/x86/64/openwr sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}$FILE${CL}" diff --git a/vm/opnsense-vm.sh b/vm/opnsense-vm.sh index db4ae2898..93b89c1e5 100644 --- a/vm/opnsense-vm.sh +++ b/vm/opnsense-vm.sh @@ -527,7 +527,7 @@ msg_info "Retrieving the URL for the OPNsense Qcow2 Disk Image" URL=https://download.freebsd.org/releases/VM-IMAGES/14.2-RELEASE/amd64/Latest/FreeBSD-14.2-RELEASE-amd64.qcow2.xz sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=Fressbsd.qcow2 unxz -cv $(basename $URL) >${FILE} diff --git a/vm/owncloud-vm.sh b/vm/owncloud-vm.sh index 7a663a0c1..317299bcd 100644 --- a/vm/owncloud-vm.sh +++ b/vm/owncloud-vm.sh @@ -389,7 +389,7 @@ msg_info "Retrieving the URL for the $NAME Disk Image" URL=http://mirror.turnkeylinux.org/turnkeylinux/images/iso/turnkey-owncloud-18.0-bookworm-amd64.iso sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" diff --git a/vm/pimox-haos-vm.sh b/vm/pimox-haos-vm.sh index 8161d6f71..3ef4d2954 100644 --- a/vm/pimox-haos-vm.sh +++ b/vm/pimox-haos-vm.sh @@ -296,7 +296,7 @@ msg_info "Getting URL for Home Assistant ${BRANCH} Disk Image" URL=https://github.com/home-assistant/operating-system/releases/download/${BRANCH}/haos_generic-aarch64-${BRANCH}.qcow2.xz sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}haos_generic-aarch64-${BRANCH}.qcow2.xz${CL}" diff --git a/vm/ubuntu2204-vm.sh b/vm/ubuntu2204-vm.sh index 73457818a..4de7c6606 100644 --- a/vm/ubuntu2204-vm.sh +++ b/vm/ubuntu2204-vm.sh @@ -423,7 +423,7 @@ msg_info "Retrieving the URL for the Ubuntu 22.04 Disk Image" URL=https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" diff --git a/vm/ubuntu2404-vm.sh b/vm/ubuntu2404-vm.sh index 5ea957b3e..d4d112df1 100644 --- a/vm/ubuntu2404-vm.sh +++ b/vm/ubuntu2404-vm.sh @@ -423,7 +423,7 @@ msg_info "Retrieving the URL for the Ubuntu 24.04 Disk Image" URL=https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" diff --git a/vm/ubuntu2410-vm.sh b/vm/ubuntu2410-vm.sh index 459c1ac6a..b2b03b1f1 100644 --- a/vm/ubuntu2410-vm.sh +++ b/vm/ubuntu2410-vm.sh @@ -423,7 +423,7 @@ msg_info "Retrieving the URL for the Ubuntu 24.10 Disk Image" URL=https://cloud-images.ubuntu.com/oracular/current/oracular-server-cloudimg-amd64.img sleep 2 msg_ok "${CL}${BL}${URL}${CL}" -curl -fsSL -o "$(basename "$URL")" "$URL" +curl -f#SL -o "$(basename "$URL")" "$URL" echo -en "\e[1A\e[0K" FILE=$(basename $URL) msg_ok "Downloaded ${CL}${BL}${FILE}${CL}" From 56093ed95165f5bdac8a00c8740df18c1fe0f780 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, 3 Apr 2025 16:15:53 +0200 Subject: [PATCH 127/166] Update CHANGELOG.md (#3643) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94287324b..6423f80eb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### ✨ New Features + - VM: show progress bar while downloading [@MickLesk](https://github.com/MickLesk) ([#3634](https://github.com/community-scripts/ProxmoxVE/pull/3634)) - *Arr: Move Arr apps to github release crawling and provide update functionality [@tremor021](https://github.com/tremor021) ([#3625](https://github.com/community-scripts/ProxmoxVE/pull/3625)) ### 🌐 Website From f0c59f8cba9fa8b70814f9756cd9f2d9e38c3649 Mon Sep 17 00:00:00 2001 From: verbumfeit Date: Thu, 3 Apr 2025 23:06:24 +0200 Subject: [PATCH 128/166] Correct URL (#3648) --- .github/CONTRIBUTOR_AND_GUIDES/CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/CONTRIBUTOR_AND_GUIDES/CONTRIBUTING.md b/.github/CONTRIBUTOR_AND_GUIDES/CONTRIBUTING.md index 92a9567a7..93d7f2f4a 100644 --- a/.github/CONTRIBUTOR_AND_GUIDES/CONTRIBUTING.md +++ b/.github/CONTRIBUTOR_AND_GUIDES/CONTRIBUTING.md @@ -99,9 +99,9 @@ to\ Example: `https://raw.githubusercontent.com/tremor021/PromoxVE/refs/heads/testbranch` Also you need to change:\ -`https://github.com/community-scripts/ProxmoxVE/raw/main`\ +`https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main`\ to\ -`https://github.com/[USER]/[REPOSITORY]/raw/[BRANCH]`\ +`https://raw.githubusercontent.com/[USER]/[REPOSITORY]/raw/[BRANCH]`\ in `misc/install.func` in order for `update` shell command to work.\ These changes are only while writing and testing your scripts. Before opening a Pull Request, you should change all above mentioned paths in `misc/build.func`, `misc/install.func` and `ct/AppName.sh` to point to the original paths. From b62a673ff23a3ef59f8b554eef11daea06cecc93 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, 3 Apr 2025 23:07:47 +0200 Subject: [PATCH 129/166] Update CHANGELOG.md (#3649) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6423f80eb..4b75c8663 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,12 @@ All LXC instances created using this repository come pre-installed with Midnight - VM: show progress bar while downloading [@MickLesk](https://github.com/MickLesk) ([#3634](https://github.com/community-scripts/ProxmoxVE/pull/3634)) - *Arr: Move Arr apps to github release crawling and provide update functionality [@tremor021](https://github.com/tremor021) ([#3625](https://github.com/community-scripts/ProxmoxVE/pull/3625)) +### 🧰 Maintenance + + - #### πŸ“‚ Github + + - Correct URL in contributing docs [@verbumfeit](https://github.com/verbumfeit) ([#3648](https://github.com/community-scripts/ProxmoxVE/pull/3648)) + ### 🌐 Website - Bump next from 15.2.3 to 15.2.4 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#3628](https://github.com/community-scripts/ProxmoxVE/pull/3628)) From 4912f76bc52a7e4babded590ae377ed48a4c9d00 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, 4 Apr 2025 13:45:12 +0200 Subject: [PATCH 130/166] Update versions.json (#3652) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 62 +++++++++++++++--------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 4f063e606..047b2eb33 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,8 +1,33 @@ [ + { + "name": "fhem/fhem-mirror", + "version": "6.2", + "date": "2025-04-03T20:30:01Z" + }, + { + "name": "minio/minio", + "version": "RELEASE.2025-04-03T14-56-28Z", + "date": "2025-04-03T19:08:18Z" + }, + { + "name": "fallenbagel/jellyseerr", + "version": "v2.5.2", + "date": "2025-04-03T17:40:17Z" + }, { "name": "dgtlmoon/changedetection.io", - "version": "0.49.10", - "date": "2025-04-03T09:17:54Z" + "version": "0.49.11", + "date": "2025-04-03T16:57:23Z" + }, + { + "name": "wazuh/wazuh", + "version": "v4.11.2", + "date": "2025-04-02T13:40:18Z" + }, + { + "name": "OctoPrint/OctoPrint", + "version": "1.10.3", + "date": "2024-11-05T09:20:50Z" }, { "name": "syncthing/syncthing", @@ -39,15 +64,10 @@ "version": "v4.0.8", "date": "2025-04-03T05:11:15Z" }, - { - "name": "fhem/fhem-mirror", - "version": "6.2", - "date": "2025-04-03T02:01:34Z" - }, { "name": "ollama/ollama", - "version": "v0.6.3-rc1", - "date": "2025-03-26T20:39:01Z" + "version": "v0.6.4", + "date": "2025-04-02T22:14:24Z" }, { "name": "HabitRPG/habitica", @@ -99,11 +119,6 @@ "version": "v1.4.6", "date": "2025-04-02T14:07:12Z" }, - { - "name": "wazuh/wazuh", - "version": "v4.11.2", - "date": "2025-04-02T13:40:18Z" - }, { "name": "zwave-js/zwave-js-ui", "version": "v10.1.4", @@ -111,8 +126,8 @@ }, { "name": "runtipi/runtipi", - "version": "v3.10.0", - "date": "2025-03-15T14:38:16Z" + "version": "nightly", + "date": "2025-04-02T05:54:40Z" }, { "name": "immich-app/immich", @@ -124,11 +139,6 @@ "version": "v0.14.3", "date": "2025-04-01T19:53:18Z" }, - { - "name": "fallenbagel/jellyseerr", - "version": "preview-music-support", - "date": "2025-04-01T19:04:25Z" - }, { "name": "Koenkk/zigbee2mqtt", "version": "2.2.0", @@ -169,11 +179,6 @@ "version": "v11.8.6", "date": "2025-04-01T13:52:03Z" }, - { - "name": "OctoPrint/OctoPrint", - "version": "1.10.3", - "date": "2024-11-05T09:20:50Z" - }, { "name": "semaphoreui/semaphore", "version": "v2.13.7", @@ -699,11 +704,6 @@ "version": "2.31.0", "date": "2025-03-13T17:13:47Z" }, - { - "name": "minio/minio", - "version": "RELEASE.2025-03-12T18-04-18Z", - "date": "2025-03-12T18:45:21Z" - }, { "name": "transmission/transmission", "version": "4.0.1-beta.1", From 109235f72063afb307e4bf9dffaa40061065f6de 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, 4 Apr 2025 14:23:16 +0200 Subject: [PATCH 131/166] Update versions.json (#3659) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 46 +++++++++++++++--------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 047b2eb33..d8b1a3268 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -2,7 +2,27 @@ { "name": "fhem/fhem-mirror", "version": "6.2", - "date": "2025-04-03T20:30:01Z" + "date": "2025-04-04T10:34:30Z" + }, + { + "name": "dgtlmoon/changedetection.io", + "version": "0.49.12", + "date": "2025-04-04T07:31:08Z" + }, + { + "name": "morpheus65535/bazarr", + "version": "v1.5.1", + "date": "2025-01-01T16:15:52Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1726", + "date": "2025-04-04T05:59:26Z" + }, + { + "name": "keycloak/keycloak", + "version": "26.1.4", + "date": "2025-03-13T15:41:42Z" }, { "name": "minio/minio", @@ -14,11 +34,6 @@ "version": "v2.5.2", "date": "2025-04-03T17:40:17Z" }, - { - "name": "dgtlmoon/changedetection.io", - "version": "0.49.11", - "date": "2025-04-03T16:57:23Z" - }, { "name": "wazuh/wazuh", "version": "v4.11.2", @@ -49,11 +64,6 @@ "version": "@jupyter-notebook/ui-components@7.4.0-rc.0", "date": "2025-04-03T06:49:38Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1722", - "date": "2025-04-03T05:51:10Z" - }, { "name": "mattermost/mattermost", "version": "server/public/v0.1.11", @@ -74,11 +84,6 @@ "version": "v5.35.1", "date": "2025-04-02T21:49:00Z" }, - { - "name": "keycloak/keycloak", - "version": "26.1.4", - "date": "2025-03-13T15:41:42Z" - }, { "name": "redis/redis", "version": "8.0-rc1-int2", @@ -126,8 +131,8 @@ }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-04-02T05:54:40Z" + "version": "v3.10.0", + "date": "2025-03-15T14:38:16Z" }, { "name": "immich-app/immich", @@ -434,11 +439,6 @@ "version": "0.202.1", "date": "2025-03-27T08:24:55Z" }, - { - "name": "morpheus65535/bazarr", - "version": "v1.5.1", - "date": "2025-01-01T16:15:52Z" - }, { "name": "openobserve/openobserve", "version": "v0.14.5-rc6", From 23c01141db5c92bca67fa0d104678ab57d9bfe0d Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 4 Apr 2025 16:05:12 +0200 Subject: [PATCH 132/166] core: fix raw path (#3656) --- frontend/public/json/cron-update-lxcs.json | 4 +-- install/daemonsync-install.sh | 2 +- misc/alpine-install.func | 6 ++--- ...iner-copy-data-home-assistant-container.sh | 2 +- ...container-copy-data-home-assistant-core.sh | 2 +- ...ntainer-copy-data-podman-home-assistant.sh | 2 +- ...core-copy-data-home-assistant-container.sh | 2 +- ...tant-core-copy-data-home-assistant-core.sh | 2 +- misc/copy-data/plex-copy-data-plex.sh | 2 +- ...tant-copy-data-home-assistant-container.sh | 2 +- misc/copy-data/z2m-copy-data-z2m.sh | 2 +- .../zwavejs2mqtt-copy-data-zwavejsui.sh | 26 +++++++++---------- misc/cron-update-lxcs.sh | 4 +-- misc/frigate-support.sh | 2 +- misc/hw-acceleration.sh | 2 +- misc/install.func | 14 +++++----- 16 files changed, 38 insertions(+), 38 deletions(-) diff --git a/frontend/public/json/cron-update-lxcs.json b/frontend/public/json/cron-update-lxcs.json index fd7e1dac5..e02f37ea6 100644 --- a/frontend/public/json/cron-update-lxcs.json +++ b/frontend/public/json/cron-update-lxcs.json @@ -36,9 +36,9 @@ "type": "info" }, { - "text": "To exclude LXCs from updating, edit the crontab using `crontab -e` and add CTID as shown in the example below:\n\n\n\n`0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c '$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/update-lxcs-cron.sh)' -s 103 111 >>/var/log/update-lxcs-cron.log 2>/dev/null`", + "text": "To exclude LXCs from updating, edit the crontab using `crontab -e` and add CTID as shown in the example below:\n\n\n\n`0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c '$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/update-lxcs-cron.sh)' -s 103 111 >>/var/log/update-lxcs-cron.log 2>/dev/null`", "type": "info" } ] -} \ No newline at end of file +} diff --git a/install/daemonsync-install.sh b/install/daemonsync-install.sh index 4ea4bda35..5bc9581d9 100644 --- a/install/daemonsync-install.sh +++ b/install/daemonsync-install.sh @@ -18,7 +18,7 @@ $STD apt-get install -y g++-multilib msg_ok "Installed Dependencies" msg_info "Installing Daemon Sync Server" -curl -fsSL "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/daemonsync_2.2.0.0059_amd64.deb" -o "daemonsync_2.2.0.0059_amd64.deb" +curl -fsSL "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/daemonsync_2.2.0.0059_amd64.deb" -o "daemonsync_2.2.0.0059_amd64.deb" $STD dpkg -i daemonsync_2.2.0.0059_amd64.deb msg_ok "Installed Daemon Sync Server" diff --git a/misc/alpine-install.func b/misc/alpine-install.func index ace59a9f8..77e306ff0 100644 --- a/misc/alpine-install.func +++ b/misc/alpine-install.func @@ -94,12 +94,12 @@ msg_error() { # This function sets up the Container OS by generating the locale, setting the timezone, and checking the network connection setting_up_container() { msg_info "Setting up Container OS" - while [ $i -gt 0 ]; do + while [ "$i" -gt 0 ]; do if [ "$(ip addr show | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | cut -d'/' -f1)" != "" ]; then break fi echo 1>&2 -en "${CROSS}${RD} No Network! " - sleep $RETRY_EVERY + sleep "$RETRY_EVERY" i=$((i - 1)) done @@ -194,6 +194,6 @@ customize() { msg_ok "Customized Container" fi - echo "bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/ct/${app}.sh)\"" >/usr/bin/update + echo "bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/${app}.sh)\"" >/usr/bin/update chmod +x /usr/bin/update } diff --git a/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh b/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh index a332fdf98..c9f0fc578 100644 --- a/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh +++ b/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh @@ -128,4 +128,4 @@ info "Successfully Transferred Data." # Use to copy all data from one Home Assistant LXC to another # run from the Proxmox Shell -# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-container-copy-data-home-assistant-container.sh)" diff --git a/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh b/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh index 24e08d755..7b6529d75 100644 --- a/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh +++ b/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh @@ -124,4 +124,4 @@ info "Successfully Transferred Data." # Use to copy all data from a Home Assistant Container LXC to a Home Assistant Core LXC # run from the Proxmox Shell -# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-container-copy-data-home-assistant-core.sh)" diff --git a/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh b/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh index 16300af5d..4fc81bdcd 100644 --- a/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh +++ b/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh @@ -129,4 +129,4 @@ info "Successfully Transferred Data." # Use to copy all data from a Home Assistant LXC to a Podman Home Assistant LXC # run from the Proxmox Shell -# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-container-copy-data-podman-home-assistant.sh)" diff --git a/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh b/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh index 607186589..7af0a0b0f 100644 --- a/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh +++ b/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh @@ -124,4 +124,4 @@ info "Successfully Transferred Data." # Use to copy all data from a Home Assistant Core LXC to a Home Assistant Container LXC # run from the Proxmox Shell -# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-core-copy-data-home-assistant-container.sh)" diff --git a/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh b/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh index 21a1fb4e3..a674f70ac 100644 --- a/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh +++ b/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh @@ -123,4 +123,4 @@ info "Successfully Transferred Data." # Use to copy all data from a Home Assistant Core LXC to a Home Assistant Container LXC # run from the Proxmox Shell -# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/home-assistant-core-copy-data-home-assistant-core.sh)" diff --git a/misc/copy-data/plex-copy-data-plex.sh b/misc/copy-data/plex-copy-data-plex.sh index c4ec2425a..77417fa28 100644 --- a/misc/copy-data/plex-copy-data-plex.sh +++ b/misc/copy-data/plex-copy-data-plex.sh @@ -128,4 +128,4 @@ info "Successfully Transferred Data." # Use to copy all data from one Plex Media Server LXC to another # run from the Proxmox Shell -# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/plex-copy-data-plex.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/plex-copy-data-plex.sh)" diff --git a/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh b/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh index 091f3dc20..b03bde931 100644 --- a/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh +++ b/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh @@ -129,4 +129,4 @@ info "Successfully Transferred Data." # Use to copy all data from a Podman Home Assistant LXC to a Docker Home Assistant LXC. # run from the Proxmox Shell -# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/podman-home-assistant-copy-data-home-assistant-container.sh)" diff --git a/misc/copy-data/z2m-copy-data-z2m.sh b/misc/copy-data/z2m-copy-data-z2m.sh index 799c248d5..b08273f1e 100644 --- a/misc/copy-data/z2m-copy-data-z2m.sh +++ b/misc/copy-data/z2m-copy-data-z2m.sh @@ -128,4 +128,4 @@ info "Successfully Transferred Data." # Use to copy all data from one Zigbee2MQTT LXC to another # run from the Proxmox Shell -# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/z2m-copy-data-z2m.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/z2m-copy-data-z2m.sh)" diff --git a/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh b/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh index 5f3c7ffd2..ae14b27b4 100644 --- a/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh +++ b/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh @@ -36,7 +36,7 @@ function error_exit() { local REASON="\e[97m${1:-$DEFAULT}\e[39m" local FLAG="\e[91m[ERROR] \e[93m$EXIT@$LINE" msg "$FLAG $REASON" - exit $EXIT + exit "$EXIT" } function warn() { local REASON="\e[97m$1\e[39m" @@ -53,13 +53,13 @@ function msg() { echo -e "$TEXT" } function cleanup() { - [ -d "${CTID_FROM_PATH:-}" ] && pct unmount $CTID_FROM - [ -d "${CTID_TO_PATH:-}" ] && pct unmount $CTID_TO + [ -d "${CTID_FROM_PATH:-}" ] && pct unmount "$CTID_FROM" + [ -d "${CTID_TO_PATH:-}" ] && pct unmount "$CTID_TO" popd >/dev/null - rm -rf $TEMP_DIR + rm -rf "$TEMP_DIR" } TEMP_DIR=$(mktemp -d) -pushd $TEMP_DIR >/dev/null +pushd "$TEMP_DIR" >/dev/null TITLE="Zigbee2MQTT to Z-wave JS UI Data Copy" while read -r line; do @@ -85,27 +85,27 @@ while [ -z "${CTID_TO:+x}" ]; do done for i in ${!CTID_MENU[@]}; do [ "${CTID_MENU[$i]}" == "$CTID_FROM" ] && - CTID_FROM_HOSTNAME=$(sed 's/[[:space:]]*$//' <<<${CTID_MENU[$i + 1]}) + CTID_FROM_HOSTNAME=$(sed 's/[[:space:]]*$//' <<<"${CTID_MENU[$i + 1]}") [ "${CTID_MENU[$i]}" == "$CTID_TO" ] && - CTID_TO_HOSTNAME=$(sed 's/[[:space:]]*$//' <<<${CTID_MENU[$i + 1]}) + CTID_TO_HOSTNAME=$(sed 's/[[:space:]]*$//' <<<"${CTID_MENU[$i + 1]}") done whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "$TITLE" --yesno \ "Are you sure you want to copy data between the following LXCs? $CTID_FROM (${CTID_FROM_HOSTNAME}) -> $CTID_TO (${CTID_TO_HOSTNAME}) Version: 2022.09.21" 13 50 || exit info "Zwavejs2MQTT Data from '$CTID_FROM' to '$CTID_TO'" -if [ $(pct status $CTID_TO | sed 's/.* //') == 'running' ]; then +if [ $(pct status "$CTID_TO" | sed 's/.* //') == 'running' ]; then msg "Stopping '$CTID_TO'..." - pct stop $CTID_TO + pct stop "$CTID_TO" fi msg "Mounting Container Disks..." DATA_PATH=/opt/zwavejs2mqtt/store/ DATA_PATH_NEW=/opt/zwave-js-ui/store/ -CTID_FROM_PATH=$(pct mount $CTID_FROM | sed -n "s/.*'\(.*\)'/\1/p") || +CTID_FROM_PATH=$(pct mount "$CTID_FROM" | sed -n "s/.*'\(.*\)'/\1/p") || die "There was a problem mounting the root disk of LXC '${CTID_FROM}'." [ -d "${CTID_FROM_PATH}${DATA_PATH}" ] || die "Zwavejs2MQTT directories in '$CTID_FROM' not found." -CTID_TO_PATH=$(pct mount $CTID_TO | sed -n "s/.*'\(.*\)'/\1/p") || +CTID_TO_PATH=$(pct mount "$CTID_TO" | sed -n "s/.*'\(.*\)'/\1/p") || die "There was a problem mounting the root disk of LXC '${CTID_TO}'." [ -d "${CTID_TO_PATH}${DATA_PATH_NEW}" ] || die "Zwavejs2MQTT directories in '$CTID_TO' not found." @@ -123,11 +123,11 @@ RSYNC_OPTIONS=( --info=progress2 ) msg "<======== Zwavejs Data ========>" -rsync ${RSYNC_OPTIONS[*]} ${CTID_FROM_PATH}${DATA_PATH} ${CTID_TO_PATH}${DATA_PATH_NEW} +rsync "${RSYNC_OPTIONS[*]}" "${CTID_FROM_PATH}"${DATA_PATH} "${CTID_TO_PATH}"${DATA_PATH_NEW} echo -en "\e[1A\e[0K\e[1A\e[0K" info "Successfully Transferred Data." # Use to copy all data from a Zwavejs2MQTT LXC to a Z-wave JS UI LXC # run from the Proxmox Shell -# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/copy-data/zwavejs2mqtt-copy-data-zwavejsui.sh)" diff --git a/misc/cron-update-lxcs.sh b/misc/cron-update-lxcs.sh index 419cf477a..6cb4da56a 100644 --- a/misc/cron-update-lxcs.sh +++ b/misc/cron-update-lxcs.sh @@ -4,7 +4,7 @@ # Author: tteck (tteckster) # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/cron-update-lxcs.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/cron-update-lxcs.sh)" clear cat <<"EOF" @@ -25,7 +25,7 @@ add() { *) echo "Please answer yes or no." ;; esac done - sh -c '(crontab -l -u root 2>/dev/null; echo "0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/update-lxcs-cron.sh)\" >>/var/log/update-lxcs-cron.log 2>/dev/null") | crontab -u root -' + sh -c '(crontab -l -u root 2>/dev/null; echo "0 0 * * 0 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/update-lxcs-cron.sh)\" >>/var/log/update-lxcs-cron.log 2>/dev/null") | crontab -u root -' clear echo -e "\n To view Cron Update LXCs logs: cat /var/log/update-lxcs-cron.log" } diff --git a/misc/frigate-support.sh b/misc/frigate-support.sh index 2ca7691ba..0c5c93cdb 100644 --- a/misc/frigate-support.sh +++ b/misc/frigate-support.sh @@ -89,5 +89,5 @@ EOF echo -e "\e[1;33m \nFinished....Reboot ${CTID} LXC to apply the changes.\n \e[0m" # In the Proxmox web shell run -# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/frigate-support.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/frigate-support.sh)" # Reboot the LXC to apply the changes diff --git a/misc/hw-acceleration.sh b/misc/hw-acceleration.sh index 7370b078f..3c5d4c4bb 100644 --- a/misc/hw-acceleration.sh +++ b/misc/hw-acceleration.sh @@ -5,7 +5,7 @@ # License: MIT # https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Execute within the Proxmox shell -# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/misc/hw-acceleration.sh)" +# bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/hw-acceleration.sh)" set -e function header_info { diff --git a/misc/install.func b/misc/install.func index 85b2f489f..6c0aab6c4 100644 --- a/misc/install.func +++ b/misc/install.func @@ -69,7 +69,7 @@ catch_errors() { # This function handles errors error_handler() { source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/api.func) - if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi + if [ -n "$SPINNER_PID" ] && ps -p "$SPINNER_PID" >/dev/null; then kill "$SPINNER_PID" >/dev/null; fi printf "\e[?25h" local exit_code="$?" local line_number="$1" @@ -110,7 +110,7 @@ msg_info() { # This function displays a success message with a green color. msg_ok() { - if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi + if [ -n "$SPINNER_PID" ] && ps -p "$SPINNER_PID" >/dev/null; then kill "$SPINNER_PID" >/dev/null; fi printf "\e[?25h" local msg="$1" echo -e "${BFR}${CM}${GN}${msg}${CL}" @@ -118,7 +118,7 @@ msg_ok() { # This function displays a error message with a red color. msg_error() { - if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi + if [ -n "$SPINNER_PID" ] && ps -p "$SPINNER_PID" >/dev/null; then kill "$SPINNER_PID" >/dev/null; fi printf "\e[?25h" local msg="$1" echo -e "${BFR}${CROSS}${RD}${msg}${CL}" @@ -132,14 +132,14 @@ setting_up_container() { echo "LANG=${locale_line}" >/etc/default/locale locale-gen >/dev/null export LANG=${locale_line} - echo $tz >/etc/timezone - ln -sf /usr/share/zoneinfo/$tz /etc/localtime + echo "$tz" >/etc/timezone + ln -sf /usr/share/zoneinfo/"$tz" /etc/localtime for ((i = RETRY_NUM; i > 0; i--)); do if [ "$(hostname -I)" != "" ]; then break fi echo 1>&2 -en "${CROSS}${RD} No Network! " - sleep $RETRY_EVERY + sleep "$RETRY_EVERY" done if [ "$(hostname -I)" = "" ]; then echo 1>&2 -e "\n${CROSS}${RD} No Network After $RETRY_NUM Tries${CL}" @@ -265,7 +265,7 @@ EOF systemctl restart $(basename $(dirname $GETTY_OVERRIDE) | sed 's/\.d//') msg_ok "Customized Container" fi - echo "bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/raw/main/ct/${app}.sh)\"" >/usr/bin/update + echo "bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/${app}.sh)\"" >/usr/bin/update chmod +x /usr/bin/update if [[ -n "${SSH_AUTHORIZED_KEY}" ]]; then From 481156275bba14dd09121e6ce63877b93f4c9bb5 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 4 Apr 2025 17:39:37 +0200 Subject: [PATCH 133/166] Caddy: add git for xcaddy (#3657) --- install/caddy-install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/caddy-install.sh b/install/caddy-install.sh index 5f488797f..1447a0a96 100644 --- a/install/caddy-install.sh +++ b/install/caddy-install.sh @@ -42,6 +42,7 @@ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then msg_ok "Installed Golang" msg_info "Setup xCaddy" + $STD apt-get install -y git cd /opt RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb" -o $(basename "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${RELEASE:1}_linux_amd64.deb") From 51692da70f02d8ada12ef4b4a615070bc0dc4e0b Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 4 Apr 2025 17:40:02 +0200 Subject: [PATCH 134/166] Pterodactyl: Pump Php to 8.4 (#3655) --- ct/pterodactyl-panel.sh | 19 ++++++++++++++++++- install/pterodactyl-panel-install.sh | 20 ++++++++++---------- 2 files changed, 28 insertions(+), 11 deletions(-) diff --git a/ct/pterodactyl-panel.sh b/ct/pterodactyl-panel.sh index 04732c011..322d060b4 100644 --- a/ct/pterodactyl-panel.sh +++ b/ct/pterodactyl-panel.sh @@ -27,10 +27,27 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2) + + if [[ "$CURRENT_PHP" != "8.4" ]]; then + msg_info "Migrating PHP $CURRENT_PHP to 8.4" + $STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb + $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb + $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + $STD apt-get update + $STD apt-get remove -y php"${CURRENT_PHP//./}"* + $STD apt-get install -y \ + php8.4 \ + php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm} \ + libapache2-mod-php8.4 + + msg_ok "Migrated PHP $CURRENT_PHP to 8.4" + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/pterodactyl/panel/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 msg_info "Stopping Service" - cd /opt/pterodactyl-panel + cd /opt/pterodactyl-panel || exit $STD php artisan down msg_ok "Stopped Service" diff --git a/install/pterodactyl-panel-install.sh b/install/pterodactyl-panel-install.sh index c6098b8cd..bb3cb11fd 100644 --- a/install/pterodactyl-panel-install.sh +++ b/install/pterodactyl-panel-install.sh @@ -23,19 +23,19 @@ $STD apt-get install -y \ composer msg_ok "Installed Dependencies" -msg_info "Adding PHP8.3 Repository" -$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb +msg_info "Adding PHP8.4 Repository" +$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update -msg_ok "Added PHP8.3 Repository" +msg_ok "Added PHP8.4 Repository" msg_info "Installing PHP" $STD apt-get remove -y php8.2* $STD apt-get install -y \ - php8.3 \ - php8.3-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm} \ - libapache2-mod-php8.3 + php8.4 \ + php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm} \ + libapache2-mod-php8.4 msg_ok "Installed PHP" msg_info "Setting up MariaDB" @@ -60,7 +60,7 @@ read -p "Enter your Last Name: " NAME_LAST msg_info "Installing pterodactyl Panel" RELEASE=$(curl -fsSL https://api.github.com/repos/pterodactyl/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir /opt/pterodactyl-panel -cd /opt/pterodactyl-panel +cd /opt/pterodactyl-panel || exit curl -fsSL "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pterodactyl/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" cp .env.example .env @@ -68,8 +68,8 @@ IP=$(hostname -I | awk '{print $1}') ADMIN_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) $STD composer install --no-dev --optimize-autoloader --no-interaction $STD php artisan key:generate --force -$STD php artisan p:environment:setup --no-interaction --author $ADMIN_EMAIL --url "http://$IP" -$STD php artisan p:environment:database --no-interaction --database $DB_NAME --username $DB_USER --password $DB_PASS +$STD php artisan p:environment:setup --no-interaction --author "$ADMIN_EMAIL" --url "http://$IP" +$STD php artisan p:environment:database --no-interaction --database $DB_NAME --username $DB_USER --password "$DB_PASS" $STD php artisan migrate --seed --force --no-interaction $STD php artisan p:user:make --no-interaction --admin=1 --email "$ADMIN_EMAIL" --password "$ADMIN_PASS" --name-first "$NAME_FIRST" --name-last "$NAME_LAST" --username "admin" echo "* * * * * php /opt/pterodactyl-panel/artisan schedule:run >> /dev/null 2>&1" | crontab -u www-data - @@ -82,7 +82,7 @@ chmod -R 755 /opt/pterodactyl-panel/storage/* /opt/pterodactyl-panel/bootstrap/c echo "pterodactyl Admin Password: $ADMIN_PASS" } >>~/pterodactyl-panel.creds -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +echo "${RELEASE}" >/opt/"${APPLICATION}"_version.txt msg_ok "Installed pterodactyl Panel" msg_info "Creating Service" From 2a24d53b54e1220d6e6880b3faba292388ab162e 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, 4 Apr 2025 17:40:47 +0200 Subject: [PATCH 135/166] Update CHANGELOG.md (#3658) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b75c8663..2936a2261 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,24 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-04-04 + +### πŸš€ Updated Scripts + + - #### 🐞 Bug Fixes + + - Pterodactyl: Bump php to 8.4 [@MickLesk](https://github.com/MickLesk) ([#3655](https://github.com/community-scripts/ProxmoxVE/pull/3655)) + + - #### ✨ New Features + + - Caddy: add git for xcaddy [@MickLesk](https://github.com/MickLesk) ([#3657](https://github.com/community-scripts/ProxmoxVE/pull/3657)) + +### 🧰 Maintenance + + - #### πŸ’Ύ Core + + - core: fix raw path [@MickLesk](https://github.com/MickLesk) ([#3656](https://github.com/community-scripts/ProxmoxVE/pull/3656)) + ## 2025-04-03 ### πŸš€ Updated Scripts From 8b1cdd1f3f765f797e989df9b5c5a9df693db493 Mon Sep 17 00:00:00 2001 From: Bas van den Berg <74251551+bvdberg01@users.noreply.github.com> Date: Fri, 4 Apr 2025 22:48:15 +0200 Subject: [PATCH 136/166] Pelican Panel: Bump php to 8.4 (#3669) --- ct/pelican-panel.sh | 19 ++++++++++++++++++- install/pelican-panel-install.sh | 16 ++++++++-------- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/ct/pelican-panel.sh b/ct/pelican-panel.sh index a83c50b7d..15a3908de 100644 --- a/ct/pelican-panel.sh +++ b/ct/pelican-panel.sh @@ -27,10 +27,27 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2) + + if [[ "$CURRENT_PHP" != "8.4" ]]; then + msg_info "Migrating PHP $CURRENT_PHP to 8.4" + $STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb + $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb + $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + $STD apt-get update + $STD apt-get remove -y php"${CURRENT_PHP//./}"* + $STD apt-get install -y \ + php8.4 \ + php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm} \ + libapache2-mod-php8.4 + + msg_ok "Migrated PHP $CURRENT_PHP to 8.4" + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/pelican-dev/panel/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 msg_info "Stopping Service" - cd /opt/pelican-panel + cd /opt/pelican-panel || exit $STD php artisan down msg_ok "Stopped Service" diff --git a/install/pelican-panel-install.sh b/install/pelican-panel-install.sh index c081c2726..5998efe29 100644 --- a/install/pelican-panel-install.sh +++ b/install/pelican-panel-install.sh @@ -22,19 +22,19 @@ $STD apt-get install -y \ composer msg_ok "Installed Dependencies" -msg_info "Adding PHP8.3 Repository" -$STD curl -fsSL "https://packages.sury.org/debsuryorg-archive-keyring.deb" -o /tmp/debsuryorg-archive-keyring.deb +msg_info "Adding PHP8.4 Repository" +$STD curl -sSLo "https://packages.sury.org/debsuryorg-archive-keyring.deb" -o /tmp/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update -msg_ok "Added PHP8.3 Repository" +msg_ok "Added PHP8.4 Repository" msg_info "Installing PHP" $STD apt-get remove -y php8.2* $STD apt-get install -y \ - php8.3 \ - php8.3-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl,sqlite3,fpm} \ - libapache2-mod-php8.3 + php8.4 \ + php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl,sqlite3,fpm} \ + libapache2-mod-php8.4 msg_info "Installed PHP" msg_info "Setting up MariaDB" @@ -55,7 +55,7 @@ msg_ok "Set up MariaDB" msg_info "Installing Pelican Panel" RELEASE=$(curl -fsSL https://api.github.com/repos/pelican-dev/panel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') mkdir /opt/pelican-panel -cd /opt/pelican-panel +cd /opt/pelican-panel || exit curl -fsSL "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz" -o $(basename "https://github.com/pelican-dev/panel/releases/download/v${RELEASE}/panel.tar.gz") tar -xzf "panel.tar.gz" $STD composer install --no-dev --optimize-autoloader --no-interaction @@ -64,7 +64,7 @@ $STD php artisan p:environment:queue-service --no-interaction echo "* * * * * php /opt/pelican-panel/artisan schedule:run >> /dev/null 2>&1" | crontab -u www-data - chown -R www-data:www-data /opt/pelican-panel chmod -R 755 /opt/pelican-panel/storage /opt/pelican-panel/bootstrap/cache/ -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +echo "${RELEASE}" >/opt/"${APPLICATION}"_version.txt msg_ok "Installed Pelican Panel" msg_info "Creating Service" From 214d21f91e2bbf15ac47746f176e581e767ab40f Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Sat, 5 Apr 2025 00:22:49 +0200 Subject: [PATCH 137/166] meilisearch (#3638) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 'Add new script' * change license * change license * Update install/meilisearch-install.sh Co-authored-by: Bas van den Berg <74251551+bvdberg01@users.noreply.github.com> * Update frontend/public/json/meilisearch.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: Bas van den Berg <74251551+bvdberg01@users.noreply.github.com> Co-authored-by: SlaviΕ‘a AreΕΎina <58952836+tremor021@users.noreply.github.com> --- ct/meilisearch.sh | 95 ++++++++++++++++++++ frontend/public/json/meilisearch.json | 43 +++++++++ install/meilisearch-install.sh | 122 ++++++++++++++++++++++++++ 3 files changed, 260 insertions(+) create mode 100644 ct/meilisearch.sh create mode 100644 frontend/public/json/meilisearch.json create mode 100644 install/meilisearch-install.sh diff --git a/ct/meilisearch.sh b/ct/meilisearch.sh new file mode 100644 index 000000000..3cc5b2c52 --- /dev/null +++ b/ct/meilisearch.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash +source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://www.meilisearch.com/ + +APP="Meilisearch" +var_tags="${var_tags:-full-text-search}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-4096}" +var_disk="${var_disk:-7}" +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/Meilisearch_version.txt ]]; then + msg_error "No Meilisearch Installation Found!" + exit + fi + UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Meilisearch Update" --radiolist --cancel-button Exit-Script "Spacebar = Select" 10 58 2 \ + "1" "Update Meilisearch" ON \ + "2" "Update Meilisearch-UI" OFF \ + 3>&1 1>&2 2>&3) + + if [ "$UPD" == "1" ]; then + msg_info "Stopping Meilisearch" + systemctl stop meilisearch + msg_ok "Stopped Meilisearch" + + msg_info "Updating Meilisearch" + tmp_file=$(mktemp) + RELEASE=$(curl -s https://api.github.com/repos/meilisearch/meilisearch/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + curl -fsSL https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb -o $tmp_file + $STD dpkg -i $tmp_file + echo "$RELEASE" >/opt/meilisearch_version.txt + msg_ok "Updated Meilisearch" + + msg_info "Starting Meilisearch" + systemctl start meilisearch + msg_ok "Started Meilisearch" + exit + fi + + if [ "$UPD" == "2" ]; then + if [[ ! -f /opt/Meilisearch-ui_version.txt ]]; then + msg_error "No Meilisearch-UI Installation Found!" + exit + fi + msg_info "Stopping Meilisearch-UI" + systemctl stop meilisearch-ui + msg_ok "Stopped Meilisearch-UI" + + msg_info "Updating Meilisearch-UI" + tmp_file=$(mktemp) + tmp_dir=$(mktemp -d) + RELEASE_UI=$(curl -s https://api.github.com/repos/riccox/meilisearch-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + cp /opt/meilisearch-ui/.env.local /tmp/.env.local.bak + rm -rf /opt/meilisearch-ui + mkdir -p /opt/meilisearch-ui + curl -fsSL "https://github.com/riccox/meilisearch-ui/archive/refs/tags/${RELEASE_UI}.zip" -o $tmp_file + unzip -q "$tmp_file" -d "$tmp_dir" + mv "$tmp_dir"/*/* /opt/meilisearch-ui/ + cd /opt/meilisearch-ui + sed -i 's|const hash = execSync("git rev-parse HEAD").toString().trim();|const hash = "unknown";|' /opt/meilisearch-ui/vite.config.ts + mv /tmp/.env.local.bak /opt/meilisearch-ui/.env.local + $STD pnpm install + echo "$RELEASE_UI" >/opt/meilisearch-ui_version.txt + msg_ok "Updated Meilisearch-UI" + + msg_info "Starting Meilisearch-UI" + systemctl start meilisearch-ui + msg_ok "Started Meilisearch-UI" + exit + fi +} + +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}meilisearch: http://${IP}:7700$ | meilisearch-ui: http://${IP}:24900${CL}" diff --git a/frontend/public/json/meilisearch.json b/frontend/public/json/meilisearch.json new file mode 100644 index 000000000..4289da3bf --- /dev/null +++ b/frontend/public/json/meilisearch.json @@ -0,0 +1,43 @@ +{ + "name": "Meilisearch", + "slug": "meilisearch", + "categories": [ + 8 + ], + "date_created": "2025-04-03", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 7700, + "documentation": "https://www.meilisearch.com/docs", + "website": "https://www.meilisearch.com/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/meilisearch.svg", + "description": "Meilisearch is a fast, open-source search engine designed for instant, full-text search with typo tolerance. It provides an API that allows developers to integrate powerful search features into applications. Meilisearch-UI is an optional web-based interface that provides a simple way to interact with Meilisearch, visualize indexed data, and test queries without needing to use the API directly.", + "install_methods": [ + { + "type": "default", + "script": "ct/meilisearch.sh", + "resources": { + "cpu": 2, + "ram": 4096, + "hdd": 7, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Meilisearch-UI can optionally be installed for a web-based search interface", + "type": "info" + }, + { + "text": "Meilisearch-UI has early development status and can caused performance issues", + "type": "warn" + } + ] +} diff --git a/install/meilisearch-install.sh b/install/meilisearch-install.sh new file mode 100644 index 000000000..297bdca40 --- /dev/null +++ b/install/meilisearch-install.sh @@ -0,0 +1,122 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://www.meilisearch.com/ + +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 \ + gnupg +msg_ok "Installed Dependencies" + +msg_info "Setup ${APPLICATION}" +tmp_file=$(mktemp) +RELEASE=$(curl -s https://api.github.com/repos/meilisearch/meilisearch/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') +curl -fsSL https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb -o $tmp_file +$STD dpkg -i $tmp_file +curl -fsSL https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml -o /etc/meilisearch.toml +MASTER_KEY=$(openssl rand -base64 12) +LOCAL_IP="$(hostname -I | awk '{print $1}')" +sed -i \ + -e 's|^env =.*|env = "production"|' \ + -e "s|^# master_key =.*|master_key = \"$MASTER_KEY\"|" \ + -e 's|^db_path =.*|db_path = "/var/lib/meilisearch/data"|' \ + -e 's|^dump_dir =.*|dump_dir = "/var/lib/meilisearch/dumps"|' \ + -e 's|^snapshot_dir =.*|snapshot_dir = "/var/lib/meilisearch/snapshots"|' \ + -e 's|^# no_analytics = true|no_analytics = true|' \ + -e 's|^http_addr =.*|http_addr = "0.0.0.0:7700"|' \ + /etc/meilisearch.toml +echo "${RELEASE}" >/opt/${APPLICATION}_version.txt +msg_ok "Setup ${APPLICATION}" + +read -r -p "Do you want add meilisearch-ui? [y/n]: " prompt +if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then + msg_info "Setting up Node.js Repository" + mkdir -p /etc/apt/keyrings + curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg + echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list + msg_ok "Set up Node.js Repository" + + msg_info "Installing Node.js" + $STD apt-get update + $STD apt-get install -y nodejs + $STD npm install -g pnpm + msg_ok "Installed Node.js" + + msg_info "Setup ${APPLICATION}-ui" + tmp_file=$(mktemp) + tmp_dir=$(mktemp -d) + mkdir -p /opt/meilisearch-ui + RELEASE_UI=$(curl -s https://api.github.com/repos/riccox/meilisearch-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + curl -fsSL "https://github.com/riccox/meilisearch-ui/archive/refs/tags/${RELEASE_UI}.zip" -o $tmp_file + unzip -q "$tmp_file" -d "$tmp_dir" + mv "$tmp_dir"/*/* /opt/meilisearch-ui/ + cd /opt/meilisearch-ui + sed -i 's|const hash = execSync("git rev-parse HEAD").toString().trim();|const hash = "unknown";|' /opt/meilisearch-ui/vite.config.ts + $STD pnpm install + cat < /opt/meilisearch-ui/.env.local +VITE_SINGLETON_MODE=true +VITE_SINGLETON_HOST=http://${LOCAL_IP}:7700 +VITE_SINGLETON_API_KEY=${MASTER_KEY} +EOF + echo "${RELEASE_UI}" >/opt/${APPLICATION}-ui_version.txt + msg_ok "Setup ${APPLICATION}-ui" +fi + +msg_info "Setting up Services" +cat </etc/systemd/system/meilisearch.service +[Unit] +Description=Meilisearch +After=network.target + +[Service] +ExecStart=/usr/bin/meilisearch --config-file-path /etc/meilisearch.toml +Restart=always + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now meilisearch + +if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then +cat < /etc/systemd/system/meilisearch-ui.service +[Unit] +Description=Meilisearch UI Service +After=network.target meilisearch.service +Requires=meilisearch.service + +[Service] +User=root +WorkingDirectory=/opt/meilisearch-ui +ExecStart=/usr/bin/pnpm start +Restart=always +RestartSec=5 +StandardOutput=syslog +StandardError=syslog +SyslogIdentifier=meilisearch-ui + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now meilisearch-ui +fi + +msg_ok "Set up Services" + + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 71a37368b04fceca4c9d12777f88308d7fbdfded 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, 5 Apr 2025 01:10:26 +0200 Subject: [PATCH 138/166] Update date in json (#3672) Co-authored-by: GitHub Actions --- frontend/public/json/meilisearch.json | 80 +++++++++++++-------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/frontend/public/json/meilisearch.json b/frontend/public/json/meilisearch.json index 4289da3bf..4dfe7d185 100644 --- a/frontend/public/json/meilisearch.json +++ b/frontend/public/json/meilisearch.json @@ -1,43 +1,43 @@ { - "name": "Meilisearch", - "slug": "meilisearch", - "categories": [ - 8 - ], - "date_created": "2025-04-03", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 7700, - "documentation": "https://www.meilisearch.com/docs", - "website": "https://www.meilisearch.com/", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/meilisearch.svg", - "description": "Meilisearch is a fast, open-source search engine designed for instant, full-text search with typo tolerance. It provides an API that allows developers to integrate powerful search features into applications. Meilisearch-UI is an optional web-based interface that provides a simple way to interact with Meilisearch, visualize indexed data, and test queries without needing to use the API directly.", - "install_methods": [ - { - "type": "default", - "script": "ct/meilisearch.sh", - "resources": { - "cpu": 2, - "ram": 4096, - "hdd": 7, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null + "name": "Meilisearch", + "slug": "meilisearch", + "categories": [ + 8 + ], + "date_created": "2025-04-04", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 7700, + "documentation": "https://www.meilisearch.com/docs", + "website": "https://www.meilisearch.com/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/meilisearch.svg", + "description": "Meilisearch is a fast, open-source search engine designed for instant, full-text search with typo tolerance. It provides an API that allows developers to integrate powerful search features into applications. Meilisearch-UI is an optional web-based interface that provides a simple way to interact with Meilisearch, visualize indexed data, and test queries without needing to use the API directly.", + "install_methods": [ + { + "type": "default", + "script": "ct/meilisearch.sh", + "resources": { + "cpu": 2, + "ram": 4096, + "hdd": 7, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Meilisearch-UI can optionally be installed for a web-based search interface", + "type": "info" }, - "notes": [ - { - "text": "Meilisearch-UI can optionally be installed for a web-based search interface", - "type": "info" - }, - { - "text": "Meilisearch-UI has early development status and can caused performance issues", - "type": "warn" - } - ] + { + "text": "Meilisearch-UI has early development status and can caused performance issues", + "type": "warn" + } + ] } From f6a77ec41fe7e0b4238f36df5b143b279c4b4a2a 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, 5 Apr 2025 01:10:38 +0200 Subject: [PATCH 139/166] Update .app files (#3671) Co-authored-by: GitHub Actions --- ct/headers/meilisearch | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ct/headers/meilisearch diff --git a/ct/headers/meilisearch b/ct/headers/meilisearch new file mode 100644 index 000000000..955aaae38 --- /dev/null +++ b/ct/headers/meilisearch @@ -0,0 +1,6 @@ + __ ___ _ ___ __ + / |/ /__ (_) (_)_______ ____ ___________/ /_ + / /|_/ / _ \/ / / / ___/ _ \/ __ `/ ___/ ___/ __ \ + / / / / __/ / / (__ ) __/ /_/ / / / /__/ / / / +/_/ /_/\___/_/_/_/____/\___/\__,_/_/ \___/_/ /_/ + From 112fa215fb71efd4f5a9fa096fb5e370cbccbe8a 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, 5 Apr 2025 01:10:52 +0200 Subject: [PATCH 140/166] Update CHANGELOG.md (#3670) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2936a2261..292f6b268 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,10 +16,15 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-04-04 +### πŸ†• New Scripts + + - meilisearch [@MickLesk](https://github.com/MickLesk) ([#3638](https://github.com/community-scripts/ProxmoxVE/pull/3638)) + ### πŸš€ Updated Scripts - #### 🐞 Bug Fixes + - Pelican Panel: Bump php to 8.4 [@bvdberg01](https://github.com/bvdberg01) ([#3669](https://github.com/community-scripts/ProxmoxVE/pull/3669)) - Pterodactyl: Bump php to 8.4 [@MickLesk](https://github.com/MickLesk) ([#3655](https://github.com/community-scripts/ProxmoxVE/pull/3655)) - #### ✨ New Features From d4b67e0c7e0597f328d32cbd68ab90dbac847fd3 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, 5 Apr 2025 08:45:54 +0200 Subject: [PATCH 141/166] Update CHANGELOG.md (#3673) Co-authored-by: github-actions[bot] From 019e1ac8a08c822acbff720fbc6a5d58f148d1bb 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, 5 Apr 2025 08:46:31 +0200 Subject: [PATCH 142/166] Update versions.json (#3674) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 152 ++++++++++++++--------------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index d8b1a3268..32c2d41b4 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,8 +1,78 @@ [ + { + "name": "ollama/ollama", + "version": "v0.6.5-rc1", + "date": "2025-04-05T00:04:24Z" + }, + { + "name": "home-assistant/core", + "version": "2025.4.1", + "date": "2025-04-04T20:59:57Z" + }, { "name": "fhem/fhem-mirror", "version": "6.2", - "date": "2025-04-04T10:34:30Z" + "date": "2025-04-04T20:31:04Z" + }, + { + "name": "Koenkk/zigbee2mqtt", + "version": "2.2.1", + "date": "2025-04-04T20:15:48Z" + }, + { + "name": "YunoHost/yunohost", + "version": "debian/12.0.13", + "date": "2025-04-04T20:05:45Z" + }, + { + "name": "coder/code-server", + "version": "v4.98.2", + "date": "2025-03-15T02:11:28Z" + }, + { + "name": "homarr-labs/homarr", + "version": "v1.14.0", + "date": "2025-04-04T19:15:59Z" + }, + { + "name": "Athou/commafeed", + "version": "5.7.0", + "date": "2025-04-04T18:10:16Z" + }, + { + "name": "syncthing/syncthing", + "version": "v1.29.4", + "date": "2025-04-01T08:45:07Z" + }, + { + "name": "icereed/paperless-gpt", + "version": "v0.14.4", + "date": "2025-04-04T14:18:53Z" + }, + { + "name": "fallenbagel/jellyseerr", + "version": "preview-back-to-axios", + "date": "2025-04-04T13:26:23Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v24.8", + "date": "2025-03-18T07:33:51Z" + }, + { + "name": "apache/tomcat", + "version": "9.0.104", + "date": "2025-04-04T12:58:11Z" + }, + { + "name": "Dolibarr/dolibarr", + "version": "21.0.1", + "date": "2025-04-04T12:56:35Z" + }, + { + "name": "sabnzbd/sabnzbd", + "version": "4.5.0", + "date": "2025-03-30T16:17:11Z" }, { "name": "dgtlmoon/changedetection.io", @@ -19,6 +89,11 @@ "version": "v0.22.1726", "date": "2025-04-04T05:59:26Z" }, + { + "name": "wazuh/wazuh", + "version": "coverity-w14-4.12.0", + "date": "2025-04-04T00:03:06Z" + }, { "name": "keycloak/keycloak", "version": "26.1.4", @@ -29,26 +104,11 @@ "version": "RELEASE.2025-04-03T14-56-28Z", "date": "2025-04-03T19:08:18Z" }, - { - "name": "fallenbagel/jellyseerr", - "version": "v2.5.2", - "date": "2025-04-03T17:40:17Z" - }, - { - "name": "wazuh/wazuh", - "version": "v4.11.2", - "date": "2025-04-02T13:40:18Z" - }, { "name": "OctoPrint/OctoPrint", "version": "1.10.3", "date": "2024-11-05T09:20:50Z" }, - { - "name": "syncthing/syncthing", - "version": "v1.29.4", - "date": "2025-04-01T08:45:07Z" - }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.10", @@ -74,11 +134,6 @@ "version": "v4.0.8", "date": "2025-04-03T05:11:15Z" }, - { - "name": "ollama/ollama", - "version": "v0.6.4", - "date": "2025-04-02T22:14:24Z" - }, { "name": "HabitRPG/habitica", "version": "v5.35.1", @@ -94,11 +149,6 @@ "version": "v2.63.9", "date": "2025-03-31T12:47:21Z" }, - { - "name": "home-assistant/core", - "version": "2025.4.0", - "date": "2025-04-02T17:01:41Z" - }, { "name": "BookStackApp/BookStack", "version": "v25.02.2", @@ -139,21 +189,6 @@ "version": "v1.131.3", "date": "2025-04-01T22:48:22Z" }, - { - "name": "icereed/paperless-gpt", - "version": "v0.14.3", - "date": "2025-04-01T19:53:18Z" - }, - { - "name": "Koenkk/zigbee2mqtt", - "version": "2.2.0", - "date": "2025-04-01T18:50:44Z" - }, - { - "name": "apache/tomcat", - "version": "9.0.103", - "date": "2025-04-01T18:39:51Z" - }, { "name": "MagicMirrorOrg/MagicMirror", "version": "v2.31.0", @@ -269,11 +304,6 @@ "version": "v6.0.6", "date": "2025-03-30T16:59:06Z" }, - { - "name": "sabnzbd/sabnzbd", - "version": "4.5.0", - "date": "2025-03-30T16:17:11Z" - }, { "name": "Part-DB/Part-DB-server", "version": "v1.17.0", @@ -344,11 +374,6 @@ "version": "2025.3.28", "date": "2025-03-29T00:18:56Z" }, - { - "name": "homarr-labs/homarr", - "version": "v1.13.1", - "date": "2025-03-28T21:58:30Z" - }, { "name": "TasmoAdmin/TasmoAdmin", "version": "v4.2.3", @@ -394,11 +419,6 @@ "version": "336.2", "date": "2025-03-28T10:16:47Z" }, - { - "name": "YunoHost/yunohost", - "version": "debian/12.0.12", - "date": "2025-03-16T11:59:24Z" - }, { "name": "gethomepage/homepage", "version": "v1.1.1", @@ -524,11 +544,6 @@ "version": "2.0.2", "date": "2025-03-24T12:02:08Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v24.8", - "date": "2025-03-18T07:33:51Z" - }, { "name": "requarks/wiki", "version": "v2.5.307", @@ -669,11 +684,6 @@ "version": "v0.55.1", "date": "2025-03-15T05:36:06Z" }, - { - "name": "coder/code-server", - "version": "v4.98.2", - "date": "2025-03-15T02:11:28Z" - }, { "name": "Threadfin/Threadfin", "version": "1.2.31", @@ -774,11 +784,6 @@ "version": "v2.0.21", "date": "2025-03-06T16:24:56Z" }, - { - "name": "Dolibarr/dolibarr", - "version": "21.0.0", - "date": "2025-03-06T16:20:45Z" - }, { "name": "matze/wastebin", "version": "3.0.0", @@ -854,11 +859,6 @@ "version": "v1.1.05", "date": "2025-02-24T11:53:12Z" }, - { - "name": "Athou/commafeed", - "version": "5.6.1", - "date": "2025-02-23T20:39:48Z" - }, { "name": "TechnitiumSoftware/DnsServer", "version": "v13.4.3", From d8848464be81575b5c4d377c819714adc13d384a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 5 Apr 2025 17:01:20 +0100 Subject: [PATCH 143/166] Bump vite from 6.2.4 to 6.2.5 in /frontend (#3668) --- 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 c112c9aee..085f7e5dc 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -9665,9 +9665,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "6.2.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.4.tgz", - "integrity": "sha512-veHMSew8CcRzhL5o8ONjy8gkfmFJAd5Ac16oxBUjlwgX3Gq2Wqr+qNC3TjPIpy7TPV/KporLga5GT9HqdrCizw==", + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz", + "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==", "dev": true, "license": "MIT", "dependencies": { From 5451047f44c7fc2a8c119e6f665d84b0de665e56 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, 5 Apr 2025 17:01:36 +0100 Subject: [PATCH 144/166] Update versions.json (#3679) --- frontend/public/json/versions.json | 60 +++++++++++++++--------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 32c2d41b4..4bfab6924 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,29 @@ [ + { + "name": "fhem/fhem-mirror", + "version": "6.2", + "date": "2025-04-05T10:31:22Z" + }, + { + "name": "Paymenter/Paymenter", + "version": "v1.0.1", + "date": "2025-04-05T09:46:39Z" + }, + { + "name": "Kozea/Radicale", + "version": "v3.5.1", + "date": "2025-04-05T06:20:18Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1730", + "date": "2025-04-05T06:00:00Z" + }, + { + "name": "actualbudget/actual", + "version": "v25.4.0", + "date": "2025-04-05T04:14:57Z" + }, { "name": "ollama/ollama", "version": "v0.6.5-rc1", @@ -9,11 +34,6 @@ "version": "2025.4.1", "date": "2025-04-04T20:59:57Z" }, - { - "name": "fhem/fhem-mirror", - "version": "6.2", - "date": "2025-04-04T20:31:04Z" - }, { "name": "Koenkk/zigbee2mqtt", "version": "2.2.1", @@ -44,6 +64,11 @@ "version": "v1.29.4", "date": "2025-04-01T08:45:07Z" }, + { + "name": "keycloak/keycloak", + "version": "26.1.4", + "date": "2025-03-13T15:41:42Z" + }, { "name": "icereed/paperless-gpt", "version": "v0.14.4", @@ -84,21 +109,11 @@ "version": "v1.5.1", "date": "2025-01-01T16:15:52Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1726", - "date": "2025-04-04T05:59:26Z" - }, { "name": "wazuh/wazuh", "version": "coverity-w14-4.12.0", "date": "2025-04-04T00:03:06Z" }, - { - "name": "keycloak/keycloak", - "version": "26.1.4", - "date": "2025-03-13T15:41:42Z" - }, { "name": "minio/minio", "version": "RELEASE.2025-04-03T14-56-28Z", @@ -659,11 +674,6 @@ "version": "v1.60.0", "date": "2025-03-16T18:39:49Z" }, - { - "name": "Kozea/Radicale", - "version": "v3.5.0", - "date": "2025-03-16T06:05:55Z" - }, { "name": "pelican-dev/wings", "version": "v1.0.0-beta10", @@ -804,11 +814,6 @@ "version": "v0.18.0", "date": "2025-03-04T15:35:27Z" }, - { - "name": "actualbudget/actual", - "version": "v25.3.1", - "date": "2025-03-03T02:05:36Z" - }, { "name": "heiher/hev-socks5-server", "version": "2.8.0", @@ -1164,11 +1169,6 @@ "version": "v0.8.13", "date": "2024-07-29T12:54:27Z" }, - { - "name": "Paymenter/Paymenter", - "version": "v0.9.5", - "date": "2024-07-20T08:46:42Z" - }, { "name": "hywax/mafl", "version": "v0.15.4", From 00f91843ecfa970be646c1f629c270f3a7e98507 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, 5 Apr 2025 17:01:57 +0100 Subject: [PATCH 145/166] Update CHANGELOG.md (#3677) --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 292f6b268..6607f54e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-04-05 + +### 🌐 Website + + - Bump vite from 6.2.4 to 6.2.5 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#3668](https://github.com/community-scripts/ProxmoxVE/pull/3668)) + ## 2025-04-04 ### πŸ†• New Scripts From c2893f3edfb4f23f1a45e93c1f2132ca6ac37c1a 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, 6 Apr 2025 10:17:05 +0100 Subject: [PATCH 146/166] Update versions.json (#3693) --- 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 4bfab6924..cdbf373d3 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -2,12 +2,57 @@ { "name": "fhem/fhem-mirror", "version": "6.2", - "date": "2025-04-05T10:31:22Z" + "date": "2025-04-05T20:27:18Z" + }, + { + "name": "semaphoreui/semaphore", + "version": "v2.13.8-beta1", + "date": "2025-04-05T20:12:37Z" + }, + { + "name": "jellyfin/jellyfin", + "version": "v10.10.7", + "date": "2025-04-05T19:14:59Z" + }, + { + "name": "azukaar/Cosmos-Server", + "version": "v0.18.4", + "date": "2025-04-05T19:12:57Z" + }, + { + "name": "wger-project/wger", + "version": "2.3", + "date": "2025-04-05T18:05:36Z" }, { "name": "Paymenter/Paymenter", - "version": "v1.0.1", - "date": "2025-04-05T09:46:39Z" + "version": "v1.0.2", + "date": "2025-04-05T17:40:25Z" + }, + { + "name": "open-webui/open-webui", + "version": "v0.6.1", + "date": "2025-04-05T17:15:47Z" + }, + { + "name": "karakeep-app/karakeep", + "version": "v0.23.1", + "date": "2025-04-05T15:37:45Z" + }, + { + "name": "stonith404/pingvin-share", + "version": "v1.11.0", + "date": "2025-04-05T14:56:47Z" + }, + { + "name": "bastienwirtz/homer", + "version": "v25.04.1", + "date": "2025-04-05T12:39:18Z" + }, + { + "name": "navidrome/navidrome", + "version": "v0.55.2", + "date": "2025-04-05T12:07:32Z" }, { "name": "Kozea/Radicale", @@ -196,8 +241,8 @@ }, { "name": "runtipi/runtipi", - "version": "v3.10.0", - "date": "2025-03-15T14:38:16Z" + "version": "nightly", + "date": "2025-04-02T05:54:40Z" }, { "name": "immich-app/immich", @@ -234,11 +279,6 @@ "version": "v11.8.6", "date": "2025-04-01T13:52:03Z" }, - { - "name": "semaphoreui/semaphore", - "version": "v2.13.7", - "date": "2025-04-01T09:41:55Z" - }, { "name": "neo4j/neo4j", "version": "5.26.5", @@ -249,11 +289,6 @@ "version": "v4.0.2", "date": "2025-04-01T04:51:05Z" }, - { - "name": "open-webui/open-webui", - "version": "v0.6.0", - "date": "2025-04-01T01:47:32Z" - }, { "name": "outline/outline", "version": "v0.82.1-18", @@ -579,11 +614,6 @@ "version": "v0.24.2", "date": "2025-03-23T04:01:50Z" }, - { - "name": "hoarder-app/hoarder", - "version": "sdk/v0.23.0", - "date": "2025-03-22T17:26:10Z" - }, { "name": "netbox-community/netbox", "version": "v4.2.6", @@ -614,11 +644,6 @@ "version": "v0.9.77", "date": "2025-03-21T02:25:42Z" }, - { - "name": "stonith404/pingvin-share", - "version": "v1.10.4", - "date": "2025-03-20T18:56:10Z" - }, { "name": "seanmorley15/AdventureLog", "version": "v0.9.0", @@ -644,11 +669,6 @@ "version": "v2.20.0", "date": "2025-03-17T22:44:56Z" }, - { - "name": "bastienwirtz/homer", - "version": "v25.03.3", - "date": "2025-03-17T20:55:37Z" - }, { "name": "Kareadita/Kavita", "version": "v0.8.5.11", @@ -689,11 +709,6 @@ "version": "v0.10.2", "date": "2025-03-15T07:14:54Z" }, - { - "name": "navidrome/navidrome", - "version": "v0.55.1", - "date": "2025-03-15T05:36:06Z" - }, { "name": "Threadfin/Threadfin", "version": "1.2.31", @@ -869,11 +884,6 @@ "version": "v13.4.3", "date": "2025-02-23T11:08:26Z" }, - { - "name": "azukaar/Cosmos-Server", - "version": "v0.18.3", - "date": "2025-02-21T20:51:12Z" - }, { "name": "prometheus-pve/prometheus-pve-exporter", "version": "v3.5.2", @@ -894,11 +904,6 @@ "version": "REL_13_20", "date": "2025-02-17T21:17:13Z" }, - { - "name": "jellyfin/jellyfin", - "version": "v10.10.6", - "date": "2025-02-16T21:55:45Z" - }, { "name": "sbondCo/Watcharr", "version": "v2.0.2", @@ -1234,11 +1239,6 @@ "version": "2.0.16", "date": "2024-01-18T16:11:07Z" }, - { - "name": "wger-project/wger", - "version": "2.2", - "date": "2023-12-06T12:08:09Z" - }, { "name": "deepch/RTSPtoWeb", "version": "v2.4.3", From b395a1846c18ceb3899a5e4ba5b2824571c2f6bd 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, 6 Apr 2025 10:17:23 +0100 Subject: [PATCH 147/166] Update CHANGELOG.md (#3686) From 421248ccf3cda0dfa31c3b49a4730faa1f9c3b8d 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, 6 Apr 2025 14:07:16 +0200 Subject: [PATCH 148/166] Update versions.json (#3702) 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 cdbf373d3..15b6a7a08 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,13 +1,53 @@ [ + { + "name": "karakeep-app/karakeep", + "version": "ios/v1.6.9-1", + "date": "2025-04-06T10:51:57Z" + }, + { + "name": "fallenbagel/jellyseerr", + "version": "preview-back-to-axios", + "date": "2025-04-06T10:39:06Z" + }, + { + "name": "TriliumNext/Notes", + "version": "v0.92.6", + "date": "2025-04-06T10:38:54Z" + }, { "name": "fhem/fhem-mirror", "version": "6.2", - "date": "2025-04-05T20:27:18Z" + "date": "2025-04-06T10:31:42Z" + }, + { + "name": "kimai/kimai", + "version": "2.32.0", + "date": "2025-04-06T09:43:51Z" }, { "name": "semaphoreui/semaphore", - "version": "v2.13.8-beta1", - "date": "2025-04-05T20:12:37Z" + "version": "v2.13.8-beta2", + "date": "2025-04-06T06:36:42Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1733", + "date": "2025-04-06T06:00:36Z" + }, + { + "name": "inventree/InvenTree", + "version": "0.17.10", + "date": "2025-04-06T05:31:49Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.10", + "date": "2025-03-22T13:02:26Z" + }, + { + "name": "ollama/ollama", + "version": "v0.6.5-rc0", + "date": "2025-04-03T23:57:36Z" }, { "name": "jellyfin/jellyfin", @@ -35,9 +75,9 @@ "date": "2025-04-05T17:15:47Z" }, { - "name": "karakeep-app/karakeep", - "version": "v0.23.1", - "date": "2025-04-05T15:37:45Z" + "name": "keycloak/keycloak", + "version": "26.1.4", + "date": "2025-03-13T15:41:42Z" }, { "name": "stonith404/pingvin-share", @@ -59,21 +99,11 @@ "version": "v3.5.1", "date": "2025-04-05T06:20:18Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1730", - "date": "2025-04-05T06:00:00Z" - }, { "name": "actualbudget/actual", "version": "v25.4.0", "date": "2025-04-05T04:14:57Z" }, - { - "name": "ollama/ollama", - "version": "v0.6.5-rc1", - "date": "2025-04-05T00:04:24Z" - }, { "name": "home-assistant/core", "version": "2025.4.1", @@ -109,21 +139,11 @@ "version": "v1.29.4", "date": "2025-04-01T08:45:07Z" }, - { - "name": "keycloak/keycloak", - "version": "26.1.4", - "date": "2025-03-13T15:41:42Z" - }, { "name": "icereed/paperless-gpt", "version": "v0.14.4", "date": "2025-04-04T14:18:53Z" }, - { - "name": "fallenbagel/jellyseerr", - "version": "preview-back-to-axios", - "date": "2025-04-04T13:26:23Z" - }, { "name": "nzbgetcom/nzbget", "version": "v24.8", @@ -169,11 +189,6 @@ "version": "1.10.3", "date": "2024-11-05T09:20:50Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.10", - "date": "2025-03-22T13:02:26Z" - }, { "name": "Graylog2/graylog2-server", "version": "6.0.14", @@ -241,8 +256,8 @@ }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-04-02T05:54:40Z" + "version": "v3.10.0", + "date": "2025-03-15T14:38:16Z" }, { "name": "immich-app/immich", @@ -334,11 +349,6 @@ "version": "4.8.11.0", "date": "2025-03-10T06:39:11Z" }, - { - "name": "TriliumNext/Notes", - "version": "v0.92.5", - "date": "2025-03-30T12:32:43Z" - }, { "name": "StarFleetCPTN/GoMFT", "version": "v0.2.4", @@ -679,11 +689,6 @@ "version": "v4.0.14.2939", "date": "2025-03-17T19:12:37Z" }, - { - "name": "inventree/InvenTree", - "version": "0.17.9", - "date": "2025-03-17T12:13:23Z" - }, { "name": "webmin/webmin", "version": "2.303", @@ -734,11 +739,6 @@ "version": "1.26.1", "date": "2025-03-13T21:34:25Z" }, - { - "name": "kimai/kimai", - "version": "2.31.0", - "date": "2025-03-13T17:13:47Z" - }, { "name": "transmission/transmission", "version": "4.0.1-beta.1", From c08ebc48e8889d8a0554ab2420d19d0743166e5a Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sun, 6 Apr 2025 15:48:27 +0200 Subject: [PATCH 149/166] Pelican-Panel: Fix PHP 8.4 Repository (#3700) --- install/pelican-panel-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/pelican-panel-install.sh b/install/pelican-panel-install.sh index 5998efe29..1c7342dc3 100644 --- a/install/pelican-panel-install.sh +++ b/install/pelican-panel-install.sh @@ -23,7 +23,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Adding PHP8.4 Repository" -$STD curl -sSLo "https://packages.sury.org/debsuryorg-archive-keyring.deb" -o /tmp/debsuryorg-archive-keyring.deb +$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update From 427ce771d709b9f593543f94a186a0673b16b8d3 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sun, 6 Apr 2025 16:00:08 +0200 Subject: [PATCH 150/166] Actual: Add git dependency & change yarn commands (#3703) --- ct/actualbudget.sh | 11 ++++++++++- install/actualbudget-install.sh | 16 +++++++++------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/ct/actualbudget.sh b/ct/actualbudget.sh index 53d4d5fdc..075a90c87 100644 --- a/ct/actualbudget.sh +++ b/ct/actualbudget.sh @@ -35,6 +35,13 @@ function update_script() { systemctl stop actualbudget msg_ok "${APP} Stopped" + if ! command -v git &>/dev/null; then + msg_info "Installing git" + $STD apt-get update + $STD apt-get install -y git + msg_ok "Installed git" + fi + msg_info "Updating ${APP} to ${RELEASE}" cd /tmp || exit curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o "v${RELEASE}.tar.gz" @@ -77,7 +84,9 @@ ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt EOF fi cd /opt/actualbudget || exit - $STD yarn workspaces focus @actual-app/sync-server --production + $STD yarn install + $STD yarn run build:server + #$STD yarn workspaces focus @actual-app/sync-server --production echo "${RELEASE}" >/opt/actualbudget_version.txt msg_ok "Updated ${APP}" diff --git a/install/actualbudget-install.sh b/install/actualbudget-install.sh index 24f412596..57509a2a4 100644 --- a/install/actualbudget-install.sh +++ b/install/actualbudget-install.sh @@ -17,7 +17,8 @@ msg_info "Installing Dependencies" $STD apt-get install -y \ tini \ gpg \ - build-essential + build-essential \ + git msg_ok "Installed Dependencies" msg_info "Setting up Node.js Repository" @@ -33,11 +34,11 @@ $STD npm install --global yarn msg_ok "Installed Node.js" msg_info "Installing Actual Budget" -cd /opt +cd /opt || exit RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') curl -fsSL "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz" -o $(basename "https://github.com/actualbudget/actual/archive/refs/tags/v${RELEASE}.tar.gz") -tar -xzf v${RELEASE}.tar.gz -mv actual-${RELEASE} /opt/actualbudget +tar -xzf v"${RELEASE}".tar.gz +mv actual-"${RELEASE}" /opt/actualbudget mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config} chown -R root:root /opt/actualbudget-data @@ -53,8 +54,9 @@ ACTUAL_TRUSTED_PROXIES="10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,127.0.0.1/32,::1 ACTUAL_HTTPS_KEY=/opt/actualbudget/selfhost.key ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt EOF -cd /opt/actualbudget -$STD yarn workspaces focus @actual-app/sync-server --production +cd /opt/actualbudget || exit +$STD yarn install +$STD yarn run build:server $STD openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout selfhost.key -out selfhost.crt < Date: Sun, 6 Apr 2025 22:28:04 +0200 Subject: [PATCH 151/166] Implement FAQ component and integrate it into the main page (#3709) * Implement FAQ component and integrate it into the main page; update package-lock.json for development dependencies. * Adjust Footer component padding for improved layout consistency * Update FAQ section div to include an ID for improved accessibility and navigation * Adjust ScriptAccordion max height for improved layout consistency * Remove default value from Accordion in FAQ component * Refactor FAQ items for clarity and consistency; update titles and content for improved user understanding. * Refactor FAQ component to use index as key for Accordion items; remove IDs from FAQ_Items for simplified mapping. --- frontend/package-lock.json | 6 +- frontend/src/app/page.tsx | 204 +++++++++--------- .../scripts/_components/ScriptAccordion.tsx | 2 +- frontend/src/components/FAQ.tsx | 29 +++ frontend/src/components/Footer.tsx | 2 +- frontend/src/config/faqConfig.tsx | 37 ++++ 6 files changed, 177 insertions(+), 103 deletions(-) create mode 100644 frontend/src/components/FAQ.tsx create mode 100644 frontend/src/config/faqConfig.tsx diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 085f7e5dc..cedcbd1bd 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -3255,7 +3255,7 @@ "version": "19.0.0-rc.1", "resolved": "https://registry.npmjs.org/types-react/-/types-react-19.0.0-rc.1.tgz", "integrity": "sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==", - "devOptional": true, + "dev": true, "dependencies": { "csstype": "^3.0.2" } @@ -3265,7 +3265,7 @@ "version": "19.0.0-rc.1", "resolved": "https://registry.npmjs.org/types-react-dom/-/types-react-dom-19.0.0-rc.1.tgz", "integrity": "sha512-VSLZJl8VXCD0fAWp7DUTFUDCcZ8DVXOQmjhJMD03odgeFmu14ZQJHCXeETm3BEAhJqfgJaFkLnGkQv88sRx0fQ==", - "devOptional": true, + "dev": true, "dependencies": { "@types/react": "*" } @@ -7851,6 +7851,7 @@ "version": "3.5.3", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "dev": true, "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" @@ -9541,6 +9542,7 @@ "version": "5.8.2", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", + "dev": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index b12bbac32..d06b5572b 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -1,4 +1,5 @@ "use client"; +import FAQ from "@/components/FAQ"; import AnimatedGradientText from "@/components/ui/animated-gradient-text"; import { Button } from "@/components/ui/button"; import { CardFooter } from "@/components/ui/card"; @@ -34,104 +35,109 @@ export default function Page() { }, [theme]); return ( -

- -
-
- - -
- -
- ❀️ - - Scripts by tteck - - -
- - - - Thank You! - - A big thank you to tteck and the many contributors who have - made this project possible. Your hard work is truly - appreciated by the entire Proxmox community! - - - - - - - - + <> +
+ +
+
+ + +
+ +
+ ❀️ + + Scripts by tteck + + +
+ + + + Thank You! + + A big thank you to tteck and the many contributors who have made this project possible. Your hard + work is truly appreciated by the entire Proxmox community! + + + +
+ + + + -
-

- Make managing your Homelab a breeze -

-
-

- We are a community-driven initiative that simplifies the setup - of Proxmox Virtual Environment (VE). -

-

- With 300+ scripts to help you manage your{" "} - Proxmox VE environment. Whether you're a seasoned - user or a newcomer, we've got you covered. -

-
-
-
- - - -
-
-
-
- ); +
+

+ Make managing your Homelab a breeze +

+
+

+ We are a community-driven initiative that simplifies the setup of Proxmox Virtual Environment (VE). +

+

+ With 300+ scripts to help you manage your Proxmox VE environment. Whether you're a seasoned + user or a newcomer, we've got you covered. +

+
+
+
+ + + +
+
+ + {/* FAQ Section */} +
+
+
+

Frequently Asked Questions

+

+ Find answers to common questions about our Proxmox VE scripts +

+
+ +
+
+
+
+ + ); } diff --git a/frontend/src/app/scripts/_components/ScriptAccordion.tsx b/frontend/src/app/scripts/_components/ScriptAccordion.tsx index 11bd26e66..23616877b 100644 --- a/frontend/src/app/scripts/_components/ScriptAccordion.tsx +++ b/frontend/src/app/scripts/_components/ScriptAccordion.tsx @@ -56,7 +56,7 @@ export default function ScriptAccordion({ value={expandedItem} onValueChange={handleAccordionChange} collapsible - className="overflow-y-scroll max-h-[calc(100vh-220px)] overflow-x-hidden mt-3 p-2" + className="overflow-y-scroll max-h-[calc(100vh-225px)] overflow-x-hidden mt-3 p-2" > {items.map((category) => ( + + {FAQ_Items.map((item, index) => ( + + + + {item.title} + + + {item.content} + + ))} + +
+ ); +} diff --git a/frontend/src/components/Footer.tsx b/frontend/src/components/Footer.tsx index 106f0d967..d776c8150 100644 --- a/frontend/src/components/Footer.tsx +++ b/frontend/src/components/Footer.tsx @@ -6,7 +6,7 @@ import { cn } from "@/lib/utils"; export default function Footer() { return ( -
+

diff --git a/frontend/src/config/faqConfig.tsx b/frontend/src/config/faqConfig.tsx new file mode 100644 index 000000000..edbd0beca --- /dev/null +++ b/frontend/src/config/faqConfig.tsx @@ -0,0 +1,37 @@ +export const FAQ_Items = [ + { + title: "Why do you use tarballs instead of git pull for installation?", + content: + "Our LXC scripts install applications using release tarballs. Tarballs contain stable code versions tested for release. Using `git pull` directly fetches the latest development code, which might be unstable or contain bugs. Tarballs offer a more reliable installation.", + }, + { + title: "Why do the scripts install applications using HTTP by default?", + content: + "Our LXC scripts install applications using HTTP by default. Setting up HTTPS often requires manual configuration specific to your setup, which our automated scripts cannot handle reliably. If an application requires HTTPS, the script will configure it. For others, you need to enable HTTPS yourself, often following the application's official documentation.", + }, + { + title: "Where can I find documentation for the installed application?", + content: + "We link to the official documentation for each application whenever possible. You can usually find this link on the script's information page for the specific LXC script. If you notice a missing link for an application that has official docs, please report it so we can add it.", + }, + { + title: "What should I do if I find a bug in an LXC script?", + content: + "Our LXC scripts are maintained by volunteers in their free time. Bugs can occur due to our errors or changes in the applications themselves. If you find a bug in one of our LXC scripts, please report it on our GitHub issues page. Your feedback helps us improve the scripts.", + }, + { + title: "Why isn't the application updating to the very latest version?", + content: + "Updates via our LXC scripts might not pull the absolute latest version for a few reasons:\n- A bug in the application's release naming on GitHub.\n- A bug in our update script.\n- We intentionally pinned the version. This happens if a newer version has breaking changes or serious bugs that could affect your data or LXC stability. We wait for fixes before allowing the update.", + }, + { + title: 'Why am I getting a "502 Bad Gateway" error?', + content: + 'A "502 Bad Gateway" error usually means the application inside the LXC is not running or responding correctly. Check the application\'s logs first. If you use a reverse proxy, check its logs too. If you still have problems after checking the logs, report the issue, providing details from the logs.', + }, + { + title: "What should I do if a script fails during execution?", + content: + "If an LXC script fails, run it again using Verbose mode. Standard mode hides detailed output for neatness, showing only progress. Verbose mode displays all messages, which helps you (and us) diagnose the error. Include this verbose output if you report the issue.", + }, +]; From 5b73662d9c741ab31535217b633b7007bc812624 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, 6 Apr 2025 22:42:25 +0200 Subject: [PATCH 152/166] Update CHANGELOG.md (#3697) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6607f54e6..f4ee340f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,21 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-04-06 + +### πŸš€ Updated Scripts + + - #### 🐞 Bug Fixes + + - Actual: Add git dependency & change yarn commands [@MickLesk](https://github.com/MickLesk) ([#3703](https://github.com/community-scripts/ProxmoxVE/pull/3703)) + - Pelican-Panel: Fix PHP 8.4 Repository [@MickLesk](https://github.com/MickLesk) ([#3700](https://github.com/community-scripts/ProxmoxVE/pull/3700)) + +### 🌐 Website + + - #### 🐞 Bug Fixes + + - Implement FAQ component and integrate it into the main page [@BramSuurdje](https://github.com/BramSuurdje) ([#3709](https://github.com/community-scripts/ProxmoxVE/pull/3709)) + ## 2025-04-05 ### 🌐 Website From 251f3c411d3905e85023bef3cbd454602e506bea Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 7 Apr 2025 07:50:45 +0200 Subject: [PATCH 153/166] Breaking: Hoarder > Karakeep (#3699) * Breaking: Hoarder > Karakeep * json * Update hoarder.sh * formatting --- ct/hoarder.sh | 16 ++-- ct/karakeep.sh | 85 +++++++++++++++++++ frontend/public/json/hoarder.json | 34 -------- frontend/public/json/karakeep.json | 34 ++++++++ ...hoarder-install.sh => karakeep-install.sh} | 74 ++++++++-------- 5 files changed, 164 insertions(+), 79 deletions(-) create mode 100644 ct/karakeep.sh delete mode 100644 frontend/public/json/hoarder.json create mode 100644 frontend/public/json/karakeep.json rename install/{hoarder-install.sh => karakeep-install.sh} (69%) diff --git a/ct/hoarder.sh b/ct/hoarder.sh index 34896f8aa..65065e9a9 100644 --- a/ct/hoarder.sh +++ b/ct/hoarder.sh @@ -40,23 +40,23 @@ function update_script() { if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then $STD apt-get install -y graphicsmagick ghostscript fi - cd /opt + cd /opt || exit if [[ -f /opt/hoarder/.env ]] && [[ ! -f /etc/hoarder/hoarder.env ]]; then mkdir -p /etc/hoarder mv /opt/hoarder/.env /etc/hoarder/hoarder.env fi rm -rf /opt/hoarder - curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip") - unzip -q v${RELEASE}.zip - mv hoarder-${RELEASE} /opt/hoarder - cd /opt/hoarder/apps/web + curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" + unzip -q v"${RELEASE}".zip + mv karakeep-"${RELEASE}" /opt/hoarder + cd /opt/hoarder/apps/web || exit $STD pnpm install --frozen-lockfile $STD pnpm exec next build --experimental-build-mode compile cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web - cd /opt/hoarder/apps/workers + cd /opt/hoarder/apps/workers || exit $STD pnpm install --frozen-lockfile export DATA_DIR=/opt/hoarder_data - cd /opt/hoarder/packages/db + cd /opt/hoarder/packages/db || exit $STD pnpm migrate sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/hoarder/hoarder.env msg_ok "Updated ${APP} to v${RELEASE}" @@ -65,7 +65,7 @@ function update_script() { systemctl start hoarder-browser hoarder-workers hoarder-web msg_ok "Started Services" msg_info "Cleaning up" - rm -R /opt/v${RELEASE}.zip + rm -R /opt/v"${RELEASE}".zip echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Cleaned" msg_ok "Updated Successfully" diff --git a/ct/karakeep.sh b/ct/karakeep.sh new file mode 100644 index 000000000..ff35b946f --- /dev/null +++ b/ct/karakeep.sh @@ -0,0 +1,85 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 tteck +# Author: MickLesk (Canbiz) & vhsdream +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://karakeep.app/ + +APP="karakeep" +var_tags="bookmark" +var_cpu="2" +var_ram="4096" +var_disk="10" +var_os="debian" +var_version="12" +var_unprivileged="1" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/karakeep ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + PREV_RELEASE=$(cat /opt/${APP}_version.txt) + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then + msg_info "Stopping Services" + systemctl stop karakeep-web karakeep-workers karakeep-browser + msg_ok "Stopped Services" + msg_info "Updating ${APP} to v${RELEASE}" + if [[ $(corepack -v) < "0.31.0" ]]; then + $STD npm install -g corepack@0.31.0 + fi + if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then + $STD apt-get install -y graphicsmagick ghostscript + fi + cd /opt || exit + if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then + mkdir -p /etc/karakeep + mv /opt/karakeep/.env /etc/karakeep/karakeep.env + fi + rm -rf /opt/karakeep + curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" + unzip -q "v${RELEASE}.zip" + mv karakeep-"${RELEASE}" /opt/karakeep + cd /opt/karakeep/apps/web || exit + $STD pnpm install --frozen-lockfile + $STD pnpm exec next build --experimental-build-mode compile + cp -r /opt/karakeep/apps/web/.next/standalone/apps/web/server.js /opt/karakeep/apps/web + cd /opt/karakeep/apps/workers || exit + $STD pnpm install --frozen-lockfile + export DATA_DIR=/opt/karakeep_data + cd /opt/karakeep/packages/db || exit + $STD pnpm migrate + sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/karakeep/karakeep.env + msg_ok "Updated ${APP} to v${RELEASE}" + + msg_info "Starting Services" + systemctl start karakeep-browser karakeep-workers karakeep-web + msg_ok "Started Services" + msg_info "Cleaning up" + rm -R /opt/v"${RELEASE}".zip + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Cleaned" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${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}:3000${CL}" diff --git a/frontend/public/json/hoarder.json b/frontend/public/json/hoarder.json deleted file mode 100644 index 467d0d10b..000000000 --- a/frontend/public/json/hoarder.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "Hoarder", - "slug": "hoarder", - "categories": [ - 12 - ], - "date_created": "2024-12-02", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 3000, - "documentation": "https://docs.hoarder.app/", - "website": "https://hoarder.app/", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/hoarder.svg", - "description": "Hoarder is an AI-powered bookmarking tool that helps you save and organize your digital content. It automatically tags your links, notes, and images, making them easy to find later. With features like auto-fetching, lists, and full-text search, Hoarder is the perfect tool for anyone who wants to keep track of their digital life.", - "install_methods": [ - { - "type": "default", - "script": "ct/hoarder.sh", - "resources": { - "cpu": 2, - "ram": 4096, - "hdd": 10, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [] -} diff --git a/frontend/public/json/karakeep.json b/frontend/public/json/karakeep.json new file mode 100644 index 000000000..c6f59ed67 --- /dev/null +++ b/frontend/public/json/karakeep.json @@ -0,0 +1,34 @@ +{ + "name": "karakeep", + "slug": "karakeep", + "categories": [ + 12 + ], + "date_created": "2025-04-06", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 3000, + "documentation": "https://docs.karakeep.app/", + "website": "https://karakeep.app/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/karakeep.svg", + "description": "karakeep (formerly: hoarder) is an AI-powered bookmarking tool that helps you save and organize your digital content. It automatically tags your links, notes, and images, making them easy to find later. With features like auto-fetching, lists, and full-text search, karakeep is the perfect tool for anyone who wants to keep track of their digital life.", + "install_methods": [ + { + "type": "default", + "script": "ct/karakeep.sh", + "resources": { + "cpu": 2, + "ram": 4096, + "hdd": 10, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/hoarder-install.sh b/install/karakeep-install.sh similarity index 69% rename from install/hoarder-install.sh rename to install/karakeep-install.sh index 6c079f9fb..118366c7b 100644 --- a/install/hoarder-install.sh +++ b/install/karakeep-install.sh @@ -1,9 +1,9 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2025 tteck +# Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) & vhsdream # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://hoarder.app/ +# Source: https://karakeep.app/ source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color @@ -34,8 +34,8 @@ chmod +x /usr/bin/yt-dlp msg_ok "Installed Additional Tools" msg_info "Installing Meilisearch" -cd /tmp -curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -o $(basename "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb") +cd /tmp || exit +curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -o "meilisearch.deb" $STD dpkg -i meilisearch.deb curl -fsSL "https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml" -o "/etc/meilisearch.toml" MASTER_KEY=$(openssl rand -base64 12) @@ -58,30 +58,30 @@ $STD apt-get install -y nodejs $STD npm install -g corepack@0.31.0 msg_ok "Installed Node.js" -msg_info "Installing Hoarder" -cd /opt -RELEASE=$(curl -fsSL https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip") -unzip -q v${RELEASE}.zip -mv hoarder-${RELEASE} /opt/hoarder -cd /opt/hoarder +msg_info "Installing karakeep" +cd /opt || exit +RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" +unzip -q "v${RELEASE}.zip" +mv karakeep-"${RELEASE}" /opt/karakeep +cd /opt/karakeep || exit corepack enable export PUPPETEER_SKIP_DOWNLOAD="true" export NEXT_TELEMETRY_DISABLED=1 export CI="true" -cd /opt/hoarder/apps/web +cd /opt/karakeep/apps/web || exit $STD pnpm install --frozen-lockfile $STD pnpm exec next build --experimental-build-mode compile -cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web -cd /opt/hoarder/apps/workers +cp -r /opt/karakeep/apps/web/.next/standalone/apps/web/server.js /opt/karakeep/apps/web +cd /opt/karakeep/apps/workers || exit $STD pnpm install --frozen-lockfile -export DATA_DIR=/opt/hoarder_data -HOARDER_SECRET=$(openssl rand -base64 36 | cut -c1-24) -mkdir -p /etc/hoarder -cat </etc/hoarder/hoarder.env +export DATA_DIR=/opt/karakeep_data +karakeep_SECRET=$(openssl rand -base64 36 | cut -c1-24) +mkdir -p /etc/karakeep +cat </etc/karakeep/karakeep.env SERVER_VERSION=$RELEASE -NEXTAUTH_SECRET="$HOARDER_SECRET" +NEXTAUTH_SECRET="$karakeep_SECRET" NEXTAUTH_URL="http://localhost:3000" DATA_DIR="$DATA_DIR" MEILI_ADDR="http://127.0.0.1:7700" @@ -99,11 +99,11 @@ BROWSER_WEB_URL="http://127.0.0.1:9222" # INFERENCE_IMAGE_MODEL="gpt-4o-mini" EOF echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -msg_ok "Installed Hoarder" +msg_ok "Installed karakeep" msg_info "Running Database Migration" mkdir -p ${DATA_DIR} -cd /opt/hoarder/packages/db +cd /opt/karakeep/packages/db || exit $STD pnpm migrate msg_ok "Database Migration Completed" @@ -121,25 +121,25 @@ Restart=always WantedBy=multi-user.target EOF -cat </etc/systemd/system/hoarder-web.service +cat </etc/systemd/system/karakeep-web.service [Unit] -Description=Hoarder Web -Wants=network.target hoarder-workers.service -After=network.target hoarder-workers.service +Description=karakeep Web +Wants=network.target karakeep-workers.service +After=network.target karakeep-workers.service [Service] ExecStart=pnpm start -WorkingDirectory=/opt/hoarder/apps/web -EnvironmentFile=/etc/hoarder/hoarder.env +WorkingDirectory=/opt/karakeep/apps/web +EnvironmentFile=/etc/karakeep/karakeep.env Restart=always [Install] WantedBy=multi-user.target EOF -cat </etc/systemd/system/hoarder-browser.service +cat </etc/systemd/system/karakeep-browser.service [Unit] -Description=Hoarder Headless Browser +Description=karakeep Headless Browser After=network.target [Service] @@ -151,16 +151,16 @@ Restart=always WantedBy=multi-user.target EOF -cat </etc/systemd/system/hoarder-workers.service +cat </etc/systemd/system/karakeep-workers.service [Unit] -Description=Hoarder Workers -Wants=network.target hoarder-browser.service meilisearch.service -After=network.target hoarder-browser.service meilisearch.service +Description=karakeep Workers +Wants=network.target karakeep-browser.service meilisearch.service +After=network.target karakeep-browser.service meilisearch.service [Service] ExecStart=pnpm start:prod -WorkingDirectory=/opt/hoarder/apps/workers -EnvironmentFile=/etc/hoarder/hoarder.env +WorkingDirectory=/opt/karakeep/apps/workers +EnvironmentFile=/etc/karakeep/karakeep.env Restart=always TimeoutStopSec=5 @@ -168,7 +168,7 @@ TimeoutStopSec=5 WantedBy=multi-user.target EOF -systemctl enable -q --now meilisearch hoarder-browser hoarder-workers hoarder-web +systemctl enable -q --now meilisearch karakeep-browser karakeep-workers karakeep-web msg_ok "Created Services" motd_ssh @@ -176,7 +176,7 @@ customize msg_info "Cleaning up" rm -rf /tmp/meilisearch.deb -rm -f /opt/v${RELEASE}.zip +rm -f /opt/v"${RELEASE}".zip $STD apt-get autoremove -y $STD apt-get autoclean -y msg_ok "Cleaned" From 9bac1398b2e3d396538bcb0e6086660373d5f8e9 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, 7 Apr 2025 07:51:31 +0200 Subject: [PATCH 154/166] Update date in json (#3714) Co-authored-by: GitHub Actions --- frontend/public/json/karakeep.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/public/json/karakeep.json b/frontend/public/json/karakeep.json index c6f59ed67..e118e5011 100644 --- a/frontend/public/json/karakeep.json +++ b/frontend/public/json/karakeep.json @@ -2,9 +2,9 @@ "name": "karakeep", "slug": "karakeep", "categories": [ - 12 + 12 ], - "date_created": "2025-04-06", + "date_created": "2025-04-07", "type": "ct", "updateable": true, "privileged": false, From 0c202066f54a640ed3f10aa79d6702f6bfdec3e4 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, 7 Apr 2025 07:51:52 +0200 Subject: [PATCH 155/166] Update versions.json (#3711) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 134 ++++++++++++++--------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 15b6a7a08..3ce0cf265 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,8 +1,73 @@ [ + { + "name": "semaphoreui/semaphore", + "version": "v2.13.8", + "date": "2025-04-06T20:59:11Z" + }, + { + "name": "fhem/fhem-mirror", + "version": "6.2", + "date": "2025-04-06T20:28:01Z" + }, + { + "name": "Luligu/matterbridge", + "version": "2.2.7", + "date": "2025-04-06T20:00:53Z" + }, + { + "name": "Dolibarr/dolibarr", + "version": "21.0.1", + "date": "2025-04-06T19:22:59Z" + }, + { + "name": "pelican-dev/wings", + "version": "v1.0.0-beta11", + "date": "2025-04-06T18:52:35Z" + }, + { + "name": "stonith404/pingvin-share", + "version": "v1.11.1", + "date": "2025-04-06T18:39:42Z" + }, + { + "name": "wavelog/wavelog", + "version": "2.0.3", + "date": "2025-04-06T17:35:41Z" + }, + { + "name": "TandoorRecipes/recipes", + "version": "1.5.34", + "date": "2025-03-27T16:17:38Z" + }, + { + "name": "runtipi/runtipi", + "version": "nightly", + "date": "2025-04-02T05:54:40Z" + }, + { + "name": "stackblitz-labs/bolt.diy", + "version": "v0.0.7-hf1", + "date": "2025-03-10T20:49:39Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.19.7", + "date": "2025-04-06T14:22:44Z" + }, + { + "name": "Prowlarr/Prowlarr", + "version": "v1.32.2.4987", + "date": "2025-03-16T09:41:37Z" + }, + { + "name": "Radarr/Radarr", + "version": "v5.21.1.9799", + "date": "2025-03-24T15:52:12Z" + }, { "name": "karakeep-app/karakeep", - "version": "ios/v1.6.9-1", - "date": "2025-04-06T10:51:57Z" + "version": "extension/v1.2.4", + "date": "2025-04-06T11:56:18Z" }, { "name": "fallenbagel/jellyseerr", @@ -14,21 +79,11 @@ "version": "v0.92.6", "date": "2025-04-06T10:38:54Z" }, - { - "name": "fhem/fhem-mirror", - "version": "6.2", - "date": "2025-04-06T10:31:42Z" - }, { "name": "kimai/kimai", "version": "2.32.0", "date": "2025-04-06T09:43:51Z" }, - { - "name": "semaphoreui/semaphore", - "version": "v2.13.8-beta2", - "date": "2025-04-06T06:36:42Z" - }, { "name": "Jackett/Jackett", "version": "v0.22.1733", @@ -79,11 +134,6 @@ "version": "26.1.4", "date": "2025-03-13T15:41:42Z" }, - { - "name": "stonith404/pingvin-share", - "version": "v1.11.0", - "date": "2025-04-05T14:56:47Z" - }, { "name": "bastienwirtz/homer", "version": "v25.04.1", @@ -154,11 +204,6 @@ "version": "9.0.104", "date": "2025-04-04T12:58:11Z" }, - { - "name": "Dolibarr/dolibarr", - "version": "21.0.1", - "date": "2025-04-04T12:56:35Z" - }, { "name": "sabnzbd/sabnzbd", "version": "4.5.0", @@ -254,11 +299,6 @@ "version": "v10.1.4", "date": "2025-04-02T09:38:52Z" }, - { - "name": "runtipi/runtipi", - "version": "v3.10.0", - "date": "2025-03-15T14:38:16Z" - }, { "name": "immich-app/immich", "version": "v1.131.3", @@ -269,11 +309,6 @@ "version": "v2.31.0", "date": "2025-04-01T18:12:45Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.19.6", - "date": "2025-04-01T17:26:31Z" - }, { "name": "influxdata/influxdb", "version": "v3.0.0-0.beta.3", @@ -284,11 +319,6 @@ "version": "v1.127.1", "date": "2025-03-26T21:44:28Z" }, - { - "name": "Luligu/matterbridge", - "version": "2.2.6", - "date": "2025-04-01T14:01:36Z" - }, { "name": "theonedev/onedev", "version": "v11.8.6", @@ -379,11 +409,6 @@ "version": "v0.26.6", "date": "2025-03-30T08:02:19Z" }, - { - "name": "Prowlarr/Prowlarr", - "version": "v1.32.2.4987", - "date": "2025-03-16T09:41:37Z" - }, { "name": "Readarr/Readarr", "version": "v2.0.0.4645", @@ -394,11 +419,6 @@ "version": "v2.10.3.4602", "date": "2025-03-23T11:00:37Z" }, - { - "name": "Radarr/Radarr", - "version": "v5.21.1.9799", - "date": "2025-03-24T15:52:12Z" - }, { "name": "aceberg/WatchYourLAN", "version": "2.1.2-alpine", @@ -499,11 +519,6 @@ "version": "2025.2", "date": "2025-03-27T19:21:13Z" }, - { - "name": "TandoorRecipes/recipes", - "version": "1.5.34", - "date": "2025-03-27T16:17:38Z" - }, { "name": "tailscale/tailscale", "version": "v1.82.0", @@ -599,11 +614,6 @@ "version": "v0.9.0", "date": "2025-03-24T18:25:37Z" }, - { - "name": "wavelog/wavelog", - "version": "2.0.2", - "date": "2025-03-24T12:02:08Z" - }, { "name": "requarks/wiki", "version": "v2.5.307", @@ -699,11 +709,6 @@ "version": "v1.60.0", "date": "2025-03-16T18:39:49Z" }, - { - "name": "pelican-dev/wings", - "version": "v1.0.0-beta10", - "date": "2025-03-15T20:24:34Z" - }, { "name": "pelican-dev/panel", "version": "v1.0.0-beta18", @@ -769,11 +774,6 @@ "version": "v0.8.2", "date": "2025-03-11T05:20:22Z" }, - { - "name": "stackblitz-labs/bolt.diy", - "version": "v0.0.7-hf1", - "date": "2025-03-10T20:49:39Z" - }, { "name": "AlexxIT/go2rtc", "version": "v1.9.9", From 4ae0352304272fd44e3341ee72c160346834815a 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, 7 Apr 2025 07:52:33 +0200 Subject: [PATCH 156/166] Update .app files (#3715) Co-authored-by: GitHub Actions --- ct/headers/karakeep | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ct/headers/karakeep diff --git a/ct/headers/karakeep b/ct/headers/karakeep new file mode 100644 index 000000000..926024d89 --- /dev/null +++ b/ct/headers/karakeep @@ -0,0 +1,6 @@ + __ __ + / /______ __________ _/ /_____ ___ ____ + / //_/ __ `/ ___/ __ `/ //_/ _ \/ _ \/ __ \ + / ,< / /_/ / / / /_/ / ,< / __/ __/ /_/ / +/_/|_|\__,_/_/ \__,_/_/|_|\___/\___/ .___/ + /_/ From 86577a0d0d6bdb7f204fa0765c8fe046f3efa834 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 7 Apr 2025 09:06:46 +0200 Subject: [PATCH 157/166] Actual: Increase RAM and add heap-space var for nodejs (#3713) * Actual: Increase RAM and add heap-space var for nodejs * Update actualbudget.json * increase hdd size * node options --- ct/actualbudget.sh | 5 +++-- frontend/public/json/actualbudget.json | 4 ++-- install/actualbudget-install.sh | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ct/actualbudget.sh b/ct/actualbudget.sh index 075a90c87..ba6326f3f 100644 --- a/ct/actualbudget.sh +++ b/ct/actualbudget.sh @@ -8,8 +8,8 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV APP="Actual Budget" var_tags="finance" var_cpu="2" -var_ram="2048" -var_disk="4" +var_ram="8192" +var_disk="7" var_os="debian" var_version="12" var_unprivileged="1" @@ -84,6 +84,7 @@ ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt EOF fi cd /opt/actualbudget || exit + export NODE_OPTIONS="--max_old_space_size=4096" $STD yarn install $STD yarn run build:server #$STD yarn workspaces focus @actual-app/sync-server --production diff --git a/frontend/public/json/actualbudget.json b/frontend/public/json/actualbudget.json index 215524079..5005a135e 100644 --- a/frontend/public/json/actualbudget.json +++ b/frontend/public/json/actualbudget.json @@ -19,8 +19,8 @@ "script": "ct/actualbudget.sh", "resources": { "cpu": 2, - "ram": 2048, - "hdd": 4, + "ram": 8192, + "hdd": 7, "os": "debian", "version": "12" } diff --git a/install/actualbudget-install.sh b/install/actualbudget-install.sh index 57509a2a4..a226f3b34 100644 --- a/install/actualbudget-install.sh +++ b/install/actualbudget-install.sh @@ -55,6 +55,7 @@ ACTUAL_HTTPS_KEY=/opt/actualbudget/selfhost.key ACTUAL_HTTPS_CERT=/opt/actualbudget/selfhost.crt EOF cd /opt/actualbudget || exit +export NODE_OPTIONS="--max_old_space_size=4096" $STD yarn install $STD yarn run build:server $STD openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout selfhost.key -out selfhost.crt < Date: Mon, 7 Apr 2025 12:41:10 +0200 Subject: [PATCH 158/166] Zitadel: Fix release tarball crawling (#3716) --- ct/zitadel.sh | 64 +++++++++++++++++++------------------- install/zitadel-install.sh | 4 +-- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/ct/zitadel.sh b/ct/zitadel.sh index 9085dd7fb..2b0b2ef6b 100644 --- a/ct/zitadel.sh +++ b/ct/zitadel.sh @@ -20,39 +20,39 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -f /etc/systemd/system/zitadel.service ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - RELEASE=$(curl -fsSL https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt | grep -oP '\d+\.\d+\.\d+')" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - msg_info "Stopping $APP" - systemctl stop zitadel - msg_ok "Stopped $APP" - - msg_info "Updating $APP to ${RELEASE}" - cd /tmp || exit - curl -fsSL https://github.com/zitadel/zitadel/releases/download/"$RELEASE"/zitadel-linux-amd64.tar.gz | tar -xz - mv zitadel-linux-amd64/zitadel /usr/local/bin - $STD zitadel setup --masterkeyFile /opt/zitadel/.masterkey --config /opt/zitadel/config.yaml --init-projections=true - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated $APP to ${RELEASE}" - - msg_info "Starting $APP" - systemctl start zitadel - msg_ok "Started $APP" - - msg_info "Cleaning Up" - rm -rf /tmp/zitadel-linux-amd64 - msg_ok "Cleanup Completed" - msg_ok "Update Successful" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" - fi + header_info + check_container_storage + check_container_resources + if [[ ! -f /etc/systemd/system/zitadel.service ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/zitadel/zitadel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt | grep -oP '\d+\.\d+\.\d+')" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + msg_info "Stopping $APP" + systemctl stop zitadel + msg_ok "Stopped $APP" + + msg_info "Updating $APP to ${RELEASE}" + cd /tmp || exit + curl -fsSL "https://github.com/zitadel/zitadel/releases/download/v$RELEASE/zitadel-linux-amd64.tar.gz" | tar -xz + mv zitadel-linux-amd64/zitadel /usr/local/bin + $STD zitadel setup --masterkeyFile /opt/zitadel/.masterkey --config /opt/zitadel/config.yaml --init-projections=true + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated $APP to ${RELEASE}" + + msg_info "Starting $APP" + systemctl start zitadel + msg_ok "Started $APP" + + msg_info "Cleaning Up" + rm -rf /tmp/zitadel-linux-amd64 + msg_ok "Cleanup Completed" + msg_ok "Update Successful" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start diff --git a/install/zitadel-install.sh b/install/zitadel-install.sh index 211c43502..9fe6edd6f 100644 --- a/install/zitadel-install.sh +++ b/install/zitadel-install.sh @@ -39,8 +39,8 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME OWNER $DB_ADMIN_USER;" msg_ok "Installed PostgreSQL" msg_info "Installing Zitadel" -RELEASE=$(curl -fsSL https://github.com/zitadel/zitadel/releases/latest | grep location: | cut -d '/' -f 8 | tr -d '\r') -curl -fsSL https://github.com/zitadel/zitadel/releases/download/$RELEASE/zitadel-linux-amd64.tar.gz | tar -xz +RELEASE=$(curl -fsSL https://api.github.com/repos/zitadel/zitadel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +curl -fsSL "https://github.com/zitadel/zitadel/releases/download/v$RELEASE/zitadel-linux-amd64.tar.gz" | tar -xz mv zitadel-linux-amd64/zitadel /usr/local/bin msg_ok "Installed Zitadel" From 061c7ebd2eb0cfbdc0f5bb912d1bfb21d5adc031 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, 7 Apr 2025 11:41:56 +0100 Subject: [PATCH 159/166] Update CHANGELOG.md (#3710) --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4ee340f7..047a01c47 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,20 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. +## 2025-04-07 + +### πŸ†• New Scripts + + - Breaking: Hoarder > Karakeep [@MickLesk](https://github.com/MickLesk) ([#3699](https://github.com/community-scripts/ProxmoxVE/pull/3699)) + +### πŸš€ Updated Scripts + + - Actual: Increase RAM and add heap-space var for nodejs [@MickLesk](https://github.com/MickLesk) ([#3713](https://github.com/community-scripts/ProxmoxVE/pull/3713)) + + - #### 🐞 Bug Fixes + + - Zitadel: Fix release tarball crawling [@tremor021](https://github.com/tremor021) ([#3716](https://github.com/community-scripts/ProxmoxVE/pull/3716)) + ## 2025-04-06 ### πŸš€ Updated Scripts From 26ea046ba210167894a8702f29eb50faa4677a4e Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 7 Apr 2025 12:50:37 +0200 Subject: [PATCH 160/166] Redesign: Zabbix, get always latest version (#3720) --- ct/zabbix.sh | 73 ++++++++++++++++++++------------------- install/zabbix-install.sh | 11 +++--- 2 files changed, 45 insertions(+), 39 deletions(-) diff --git a/ct/zabbix.sh b/ct/zabbix.sh index e14b5af21..79b19e766 100644 --- a/ct/zabbix.sh +++ b/ct/zabbix.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.zabbix.com/ @@ -20,40 +20,43 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -f /etc/zabbix/zabbix_server.conf ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_info "Stopping ${APP} Services" - systemctl stop zabbix-server zabbix-agent2 - msg_ok "Stopped ${APP} Services" - - msg_info "Updating $APP LXC" - mkdir -p /opt/zabbix-backup/ - cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ - cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/ - cp -R /usr/share/zabbix/ /opt/zabbix-backup/ - #cp -R /usr/share/zabbix-* /opt/zabbix-backup/ Remove temporary - rm -Rf /etc/apt/sources.list.d/zabbix.list - cd /tmp - curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -o $(basename "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb") - $STD dpkg -i zabbix-release_latest+debian12_all.deb - $STD apt-get update - $STD apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-* - - msg_info "Starting ${APP} Services" - systemctl start zabbix-server zabbix-agent2 - systemctl restart apache2 - msg_ok "Started ${APP} Services" - - msg_info "Cleaning Up" - rm -rf /tmp/zabbix-release_latest+debian12_all.deb - msg_ok "Cleaned" - msg_ok "Updated Successfully" + header_info + check_container_storage + check_container_resources + if [[ ! -f /etc/zabbix/zabbix_server.conf ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + msg_info "Stopping ${APP} Services" + systemctl stop zabbix-server zabbix-agent2 + msg_ok "Stopped ${APP} Services" + + msg_info "Updating $APP LXC" + mkdir -p /opt/zabbix-backup/ + cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/ + cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/ + cp -R /usr/share/zabbix/ /opt/zabbix-backup/ + #cp -R /usr/share/zabbix-* /opt/zabbix-backup/ Remove temporary + rm -Rf /etc/apt/sources.list.d/zabbix.list + cd /tmp || exit + curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ | + grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 | + xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")" \ + -o /tmp/zabbix-release_latest+debian12_all.deb + $STD dpkg -i zabbix-release_latest+debian12_all.deb + $STD apt-get update + $STD apt-get install --only-upgrade zabbix-server-pgsql zabbix-frontend-php zabbix-agent2 zabbix-agent2-plugin-* + + msg_info "Starting ${APP} Services" + systemctl start zabbix-server zabbix-agent2 + systemctl restart apache2 + msg_ok "Started ${APP} Services" + + msg_info "Cleaning Up" + rm -rf /tmp/zabbix-release_latest+debian12_all.deb + msg_ok "Cleaned" + msg_ok "Updated Successfully" + exit } start diff --git a/install/zabbix-install.sh b/install/zabbix-install.sh index 462635e23..78693aa60 100644 --- a/install/zabbix-install.sh +++ b/install/zabbix-install.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -# Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.zabbix.com/ @@ -14,8 +14,11 @@ network_check update_os msg_info "Installing Zabbix" -cd /tmp -curl -fsSL "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb" -o $(basename "https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb") +cd /tmp || exit +curl -fsSL "$(curl -fsSL https://repo.zabbix.com/zabbix/ | + grep -oP '(?<=href=")[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1 | + xargs -I{} echo "https://repo.zabbix.com/zabbix/{}/release/debian/pool/main/z/zabbix-release/zabbix-release_latest+debian12_all.deb")" \ + -o /tmp/zabbix-release_latest+debian12_all.deb $STD dpkg -i /tmp/zabbix-release_latest+debian12_all.deb $STD apt-get update $STD apt-get install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-apache-conf zabbix-sql-scripts From 9786bfb55efcc7ea45b6fe53274b077908dc1655 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, 7 Apr 2025 13:02:37 +0200 Subject: [PATCH 161/166] Update CHANGELOG.md (#3722) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 047a01c47..4730dafa7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,10 @@ All LXC instances created using this repository come pre-installed with Midnight - Zitadel: Fix release tarball crawling [@tremor021](https://github.com/tremor021) ([#3716](https://github.com/community-scripts/ProxmoxVE/pull/3716)) + - #### πŸ”§ Refactor + + - Refactor: Zabbix, get always latest version [@MickLesk](https://github.com/MickLesk) ([#3720](https://github.com/community-scripts/ProxmoxVE/pull/3720)) + ## 2025-04-06 ### πŸš€ Updated Scripts From d28368b596ed6e573127d2948267c8d2426bc7d7 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, 7 Apr 2025 14:25:14 +0200 Subject: [PATCH 162/166] Update versions.json (#3725) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 176 ++++++++++++++--------------- 1 file changed, 88 insertions(+), 88 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 3ce0cf265..05e39bc2a 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,13 +1,93 @@ [ + { + "name": "Graylog2/graylog2-server", + "version": "6.2.0-beta.4", + "date": "2025-04-07T11:28:13Z" + }, + { + "name": "VictoriaMetrics/VictoriaMetrics", + "version": "pmm-6401-v1.115.0", + "date": "2025-04-07T11:15:53Z" + }, { "name": "semaphoreui/semaphore", - "version": "v2.13.8", - "date": "2025-04-06T20:59:11Z" + "version": "v2.13.10", + "date": "2025-04-07T11:05:41Z" }, { "name": "fhem/fhem-mirror", "version": "6.2", - "date": "2025-04-06T20:28:01Z" + "date": "2025-04-07T10:34:55Z" + }, + { + "name": "syncthing/syncthing", + "version": "v1.29.4", + "date": "2025-04-01T08:45:07Z" + }, + { + "name": "fallenbagel/jellyseerr", + "version": "preview-back-to-axios", + "date": "2025-04-07T09:23:08Z" + }, + { + "name": "zwave-js/zwave-js-ui", + "version": "v10.1.5", + "date": "2025-04-07T09:19:35Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.4.0b4-rc1", + "date": "2025-04-07T09:13:56Z" + }, + { + "name": "redis/redis", + "version": "8.0-rc1-int2", + "date": "2025-04-02T19:05:08Z" + }, + { + "name": "zabbix/zabbix", + "version": "7.4.0beta1", + "date": "2025-04-07T08:14:13Z" + }, + { + "name": "StarFleetCPTN/GoMFT", + "version": "v0.2.5", + "date": "2025-04-07T07:43:29Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v24.8", + "date": "2025-03-18T07:33:51Z" + }, + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.11", + "date": "2025-03-28T14:04:31Z" + }, + { + "name": "morpheus65535/bazarr", + "version": "v1.5.1", + "date": "2025-01-01T16:15:52Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1740", + "date": "2025-04-07T05:56:22Z" + }, + { + "name": "prometheus/prometheus", + "version": "v0.303.0-rc.1", + "date": "2025-04-07T04:39:38Z" + }, + { + "name": "open-webui/open-webui", + "version": "v0.6.2", + "date": "2025-04-07T03:41:23Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.10", + "date": "2025-03-22T13:02:26Z" }, { "name": "Luligu/matterbridge", @@ -41,8 +121,8 @@ }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-04-02T05:54:40Z" + "version": "v3.10.0", + "date": "2025-03-15T14:38:16Z" }, { "name": "stackblitz-labs/bolt.diy", @@ -70,9 +150,9 @@ "date": "2025-04-06T11:56:18Z" }, { - "name": "fallenbagel/jellyseerr", - "version": "preview-back-to-axios", - "date": "2025-04-06T10:39:06Z" + "name": "TechnitiumSoftware/DnsServer", + "version": "v13.5.0", + "date": "2025-04-06T11:24:50Z" }, { "name": "TriliumNext/Notes", @@ -84,21 +164,11 @@ "version": "2.32.0", "date": "2025-04-06T09:43:51Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1733", - "date": "2025-04-06T06:00:36Z" - }, { "name": "inventree/InvenTree", "version": "0.17.10", "date": "2025-04-06T05:31:49Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.10", - "date": "2025-03-22T13:02:26Z" - }, { "name": "ollama/ollama", "version": "v0.6.5-rc0", @@ -124,11 +194,6 @@ "version": "v1.0.2", "date": "2025-04-05T17:40:25Z" }, - { - "name": "open-webui/open-webui", - "version": "v0.6.1", - "date": "2025-04-05T17:15:47Z" - }, { "name": "keycloak/keycloak", "version": "26.1.4", @@ -184,21 +249,11 @@ "version": "5.7.0", "date": "2025-04-04T18:10:16Z" }, - { - "name": "syncthing/syncthing", - "version": "v1.29.4", - "date": "2025-04-01T08:45:07Z" - }, { "name": "icereed/paperless-gpt", "version": "v0.14.4", "date": "2025-04-04T14:18:53Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v24.8", - "date": "2025-03-18T07:33:51Z" - }, { "name": "apache/tomcat", "version": "9.0.104", @@ -214,11 +269,6 @@ "version": "0.49.12", "date": "2025-04-04T07:31:08Z" }, - { - "name": "morpheus65535/bazarr", - "version": "v1.5.1", - "date": "2025-01-01T16:15:52Z" - }, { "name": "wazuh/wazuh", "version": "coverity-w14-4.12.0", @@ -234,21 +284,11 @@ "version": "1.10.3", "date": "2024-11-05T09:20:50Z" }, - { - "name": "Graylog2/graylog2-server", - "version": "6.0.14", - "date": "2025-04-03T07:52:24Z" - }, { "name": "jupyter/notebook", "version": "@jupyter-notebook/ui-components@7.4.0-rc.0", "date": "2025-04-03T06:49:38Z" }, - { - "name": "mattermost/mattermost", - "version": "server/public/v0.1.11", - "date": "2025-03-28T14:04:31Z" - }, { "name": "rabbitmq/rabbitmq-server", "version": "v4.0.8", @@ -259,11 +299,6 @@ "version": "v5.35.1", "date": "2025-04-02T21:49:00Z" }, - { - "name": "redis/redis", - "version": "8.0-rc1-int2", - "date": "2025-04-02T19:05:08Z" - }, { "name": "zitadel/zitadel", "version": "v2.63.9", @@ -284,21 +319,11 @@ "version": "jenkins-2.503", "date": "2025-04-02T15:12:13Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.4.0b3", - "date": "2025-04-02T14:39:56Z" - }, { "name": "hargata/lubelog", "version": "v1.4.6", "date": "2025-04-02T14:07:12Z" }, - { - "name": "zwave-js/zwave-js-ui", - "version": "v10.1.4", - "date": "2025-04-02T09:38:52Z" - }, { "name": "immich-app/immich", "version": "v1.131.3", @@ -379,11 +404,6 @@ "version": "4.8.11.0", "date": "2025-03-10T06:39:11Z" }, - { - "name": "StarFleetCPTN/GoMFT", - "version": "v0.2.4", - "date": "2025-03-30T19:46:08Z" - }, { "name": "louislam/dockge", "version": "1.5.0", @@ -524,11 +544,6 @@ "version": "v1.82.0", "date": "2025-03-27T13:08:18Z" }, - { - "name": "zabbix/zabbix", - "version": "7.2.5", - "date": "2025-03-27T11:06:48Z" - }, { "name": "evcc-io/evcc", "version": "0.202.1", @@ -544,11 +559,6 @@ "version": "v2.1.0.112-2.1.0.112_canary_2025-03-26", "date": "2025-03-26T21:04:38Z" }, - { - "name": "prometheus/prometheus", - "version": "v0.303.0-rc.0", - "date": "2025-03-26T12:48:46Z" - }, { "name": "forgejo/forgejo", "version": "v12.0.0-dev", @@ -589,11 +599,6 @@ "version": "v1.6.8", "date": "2025-03-25T13:33:10Z" }, - { - "name": "VictoriaMetrics/VictoriaMetrics", - "version": "pmm-6401-v1.114.0", - "date": "2025-03-25T07:58:34Z" - }, { "name": "caddyserver/caddy", "version": "v2.9.1", @@ -879,11 +884,6 @@ "version": "v1.1.05", "date": "2025-02-24T11:53:12Z" }, - { - "name": "TechnitiumSoftware/DnsServer", - "version": "v13.4.3", - "date": "2025-02-23T11:08:26Z" - }, { "name": "prometheus-pve/prometheus-pve-exporter", "version": "v3.5.2", From 42a7c00bca29bb78b6cb4b4bc22c0969771aaf3b Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 7 Apr 2025 16:23:23 +0200 Subject: [PATCH 163/166] Kimai: bump php to 8.4 (#3724) --- ct/kimai.sh | 129 ++++++++++++++++++++++----------------- install/kimai-install.sh | 25 ++++---- 2 files changed, 84 insertions(+), 70 deletions(-) diff --git a/ct/kimai.sh b/ct/kimai.sh index b88b47b7e..e360a83e6 100644 --- a/ct/kimai.sh +++ b/ct/kimai.sh @@ -20,64 +20,79 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/kimai ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - BACKUP_DIR="/opt/kimai_backup" - - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Stopping Apache2" - systemctl stop apache2 - msg_ok "Stopped Apache2" - - msg_info "Backing up Kimai configuration and var directory" - mkdir -p "$BACKUP_DIR" - [ -d /opt/kimai/var ] && cp -r /opt/kimai/var "$BACKUP_DIR/" - [ -f /opt/kimai/.env ] && cp /opt/kimai/.env "$BACKUP_DIR/" - [ -f /opt/kimai/config/packages/local.yaml ] && cp /opt/kimai/config/packages/local.yaml "$BACKUP_DIR/" - msg_ok "Backup completed" - - msg_info "Updating ${APP} to ${RELEASE}" - rm -rf /opt/kimai - curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") - unzip -q ${RELEASE}.zip - mv kimai-${RELEASE} /opt/kimai - [ -d "$BACKUP_DIR/var" ] && cp -r "$BACKUP_DIR/var" /opt/kimai/ - [ -f "$BACKUP_DIR/.env" ] && cp "$BACKUP_DIR/.env" /opt/kimai/ - [ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/ - rm -rf "$BACKUP_DIR" - cd /opt/kimai - $STD composer install --no-dev --optimize-autoloader - $STD bin/console kimai:update - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to ${RELEASE}" - - msg_info "Starting Apache2" - systemctl start apache2 - msg_ok "Started Apache2" - - msg_info "Setup Permissions" - chown -R :www-data /opt/* - chmod -R g+r /opt/* - chmod -R g+rw /opt/* - chown -R www-data:www-data /opt/* - chmod -R 777 /opt/* - msg_ok "Setup Permissions" - - msg_info "Cleaning Up" - rm -rf ${RELEASE}.zip - rm -rf "$BACKUP_DIR" - msg_ok "Cleaned" - msg_ok "Updated Successfully" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" - fi + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/kimai ]]; then + msg_error "No ${APP} Installation Found!" exit + fi + CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2) + if [[ "$CURRENT_PHP" != "8.4" ]]; then + msg_info "Migrating PHP $CURRENT_PHP to 8.4" + $STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb + $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb + $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' + $STD apt-get update + $STD apt-get remove -y php"${CURRENT_PHP//./}"* + $STD apt-get install -y \ + php8.4 \ + php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl} \ + libapache2-mod-php8.4 + msg_ok "Migrated PHP $CURRENT_PHP to 8.4" + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + BACKUP_DIR="/opt/kimai_backup" + + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Stopping Apache2" + systemctl stop apache2 + msg_ok "Stopped Apache2" + + msg_info "Backing up Kimai configuration and var directory" + mkdir -p "$BACKUP_DIR" + [ -d /opt/kimai/var ] && cp -r /opt/kimai/var "$BACKUP_DIR/" + [ -f /opt/kimai/.env ] && cp /opt/kimai/.env "$BACKUP_DIR/" + [ -f /opt/kimai/config/packages/local.yaml ] && cp /opt/kimai/config/packages/local.yaml "$BACKUP_DIR/" + msg_ok "Backup completed" + + msg_info "Updating ${APP} to ${RELEASE}" + rm -rf /opt/kimai + curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") + unzip -q "${RELEASE}".zip + mv kimai-"${RELEASE}" /opt/kimai + [ -d "$BACKUP_DIR/var" ] && cp -r "$BACKUP_DIR/var" /opt/kimai/ + [ -f "$BACKUP_DIR/.env" ] && cp "$BACKUP_DIR/.env" /opt/kimai/ + [ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/ + rm -rf "$BACKUP_DIR" + cd /opt/kimai || exit + $STD composer install --no-dev --optimize-autoloader + $STD bin/console kimai:update + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated ${APP} to ${RELEASE}" + + msg_info "Starting Apache2" + systemctl start apache2 + msg_ok "Started Apache2" + + msg_info "Setup Permissions" + chown -R :www-data /opt/* + chmod -R g+r /opt/* + chmod -R g+rw /opt/* + chown -R www-data:www-data /opt/* + chmod -R 777 /opt/* + msg_ok "Setup Permissions" + + msg_info "Cleaning Up" + rm -rf "${RELEASE}".zip + rm -rf "$BACKUP_DIR" + msg_ok "Cleaned" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start diff --git a/install/kimai-install.sh b/install/kimai-install.sh index b43415f88..1d6459b0b 100644 --- a/install/kimai-install.sh +++ b/install/kimai-install.sh @@ -24,21 +24,20 @@ $STD apt-get install -y \ lsb-release msg_ok "Installed Dependencies" -msg_info "Setup PHP8.4 Repository" -$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb +msg_info "Adding PHP8.4 Repository" +$STD curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' $STD apt-get update -msg_ok "Setup PHP8.4 Repository" +msg_ok "Added PHP8.4 Repository" -msg_info "Setup PHP" +msg_info "Installing PHP" $STD apt-get remove -y php8.2* -#$STD apt-get remove -y php8.3* $STD apt-get install -y \ - php8.3 \ - php8.3-{mbstring,gd,intl,common,mysql,zip,xml} \ - libapache2-mod-php8.3 -msg_info "Setup PHP" + php8.4 \ + php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl} \ + libapache2-mod-php8.4 +msg_ok "Installed PHP" msg_info "Setting up database" DB_NAME=kimai_db @@ -59,9 +58,9 @@ msg_ok "Set up database" msg_info "Installing Kimai (Patience)" RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip") -unzip -q ${RELEASE}.zip -mv kimai-${RELEASE} /opt/kimai -cd /opt/kimai +unzip -q "${RELEASE}".zip +mv kimai-"${RELEASE}" /opt/kimai +cd /opt/kimai || exit echo "export COMPOSER_ALLOW_SUPERUSER=1" >>~/.bashrc source ~/.bashrc $STD composer install --no-dev --optimize-autoloader --no-interaction @@ -130,7 +129,7 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf ${RELEASE}.zip +rm -rf "${RELEASE}".zip $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 89ae467364d7c10409bde1ae36166a2eb8b54923 Mon Sep 17 00:00:00 2001 From: John Sturgeon Date: Mon, 7 Apr 2025 08:36:20 -0700 Subject: [PATCH 164/166] Changed the category of Channels DVR and NextPVR (#3729) This resolves #3727 --- frontend/public/json/channels.json | 4 ++-- frontend/public/json/nextpvr.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/public/json/channels.json b/frontend/public/json/channels.json index 3ff4f6431..d555c9939 100644 --- a/frontend/public/json/channels.json +++ b/frontend/public/json/channels.json @@ -2,7 +2,7 @@ "name": "Channels DVR Server", "slug": "channels", "categories": [ - 15 + 13 ], "date_created": "2024-05-02", "type": "ct", @@ -36,4 +36,4 @@ "type": "warning" } ] -} \ No newline at end of file +} diff --git a/frontend/public/json/nextpvr.json b/frontend/public/json/nextpvr.json index 3424a3d2a..2d238598d 100644 --- a/frontend/public/json/nextpvr.json +++ b/frontend/public/json/nextpvr.json @@ -2,7 +2,7 @@ "name": "NextPVR", "slug": "nextpvr", "categories": [ - 15 + 13 ], "date_created": "2024-11-20", "type": "ct", From 97674cfae760553c2c8aa2e7feb1dfbe5ce36faf Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 7 Apr 2025 18:51:12 +0200 Subject: [PATCH 165/166] Alpine-MariaDB: Fix Install Service startup (#3701) --- install/alpine-mariadb-install.sh | 37 +++++++++++++++---------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/install/alpine-mariadb-install.sh b/install/alpine-mariadb-install.sh index 5e49d3ade..ec65fdb5b 100644 --- a/install/alpine-mariadb-install.sh +++ b/install/alpine-mariadb-install.sh @@ -15,41 +15,40 @@ update_os msg_info "Installing Dependencies" $STD apk add \ - gpg \ - sudo + gpg \ + sudo msg_ok "Installed Dependencies" msg_info "Installing MariaDB" $STD apk add --no-cache mariadb mariadb-client $STD rc-update add mariadb default -$STD rc-service mariadb start msg_ok "Installed MariaDB" msg_info "Configuring MariaDB" mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql >/dev/null 2>&1 -$STD rc-service mariadb restart +$STD rc-service mariadb start msg_ok "MariaDB Configured" read -r -p "Would you like to install Adminer with lighthttpd? : " prompt if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then - msg_info "Installing Adminer" - $STD apk add --no-cache lighttpd php php-cgi php-mysqli php-mbstring php-zip php-gd php-json php-curl jq - sed -i 's|server.modules += ( "mod_cgi" )|server.modules += ( "mod_cgi", "mod_fastcgi" )|' /etc/lighttpd/lighttpd.conf - echo 'fastcgi.server += ( ".php" => (( "bin-path" => "/usr/bin/php-cgi", "socket" => "/var/run/php-cgi.sock" )))' >>/etc/lighttpd/lighttpd.conf - ADMINER_VERSION=$(curl -s https://api.github.com/repos/vrana/adminer/releases/latest | jq -r '.tag_name' | sed 's/v//') - wget -q -O /var/www/adminer.php "https://github.com/vrana/adminer/releases/download/v${ADMINER_VERSION}/adminer-${ADMINER_VERSION}.php" - chown lighttpd:lighttpd /var/www/adminer.php - chmod 755 /var/www/adminer.php - msg_ok "Adminer Installed" + msg_info "Installing Adminer" + $STD apk add --no-cache lighttpd php php-cgi php-mysqli php-mbstring php-zip php-gd php-json php-curl jq + sed -i 's|server.modules += ( "mod_cgi" )|server.modules += ( "mod_cgi", "mod_fastcgi" )|' /etc/lighttpd/lighttpd.conf + echo 'fastcgi.server += ( ".php" => (( "bin-path" => "/usr/bin/php-cgi", "socket" => "/var/run/php-cgi.sock" )))' >>/etc/lighttpd/lighttpd.conf + ADMINER_VERSION=$(curl -fsSL https://api.github.com/repos/vrana/adminer/releases/latest | jq -r '.tag_name' | sed 's/v//') + curl -fsSL "https://github.com/vrana/adminer/releases/download/v${ADMINER_VERSION}/adminer-${ADMINER_VERSION}.php" -o /var/www/adminer.php + chown lighttpd:lighttpd /var/www/adminer.php + chmod 755 /var/www/adminer.php + msg_ok "Adminer Installed" - msg_info "Starting Lighttpd" - $STD rc-update add lighttpd default - $STD rc-service lighttpd restart - msg_ok "Lighttpd Started" + msg_info "Starting Lighttpd" + $STD rc-update add lighttpd default + $STD rc-service lighttpd restart + msg_ok "Lighttpd Started" - echo -e "Adminer is available at: ${BL}http://$(hostname -I | awk '{print $1}')/adminer${CL}" + echo -e "Adminer is available at: ${BL}http://$(hostname -I | awk '{print $1}')/adminer${CL}" else - echo -e "Skipped Adminer Installation..." + echo -e "Skipped Adminer Installation..." fi motd_ssh From 9a906d35e2564658dd17fb6077a5a76898744ae6 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, 7 Apr 2025 18:56:50 +0200 Subject: [PATCH 166/166] Update CHANGELOG.md (#3726) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4730dafa7..c8b674c2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,12 +26,23 @@ All LXC instances created using this repository come pre-installed with Midnight - #### 🐞 Bug Fixes + - Alpine-MariaDB: Fix Install Service startup [@MickLesk](https://github.com/MickLesk) ([#3701](https://github.com/community-scripts/ProxmoxVE/pull/3701)) - Zitadel: Fix release tarball crawling [@tremor021](https://github.com/tremor021) ([#3716](https://github.com/community-scripts/ProxmoxVE/pull/3716)) + - #### ✨ New Features + + - Kimai: bump php to 8.4 [@MickLesk](https://github.com/MickLesk) ([#3724](https://github.com/community-scripts/ProxmoxVE/pull/3724)) + - #### πŸ”§ Refactor - Refactor: Zabbix, get always latest version [@MickLesk](https://github.com/MickLesk) ([#3720](https://github.com/community-scripts/ProxmoxVE/pull/3720)) +### 🌐 Website + + - #### πŸ“ Script Information + + - Changed the category of Channels DVR and NextPVR [@johnsturgeon](https://github.com/johnsturgeon) ([#3729](https://github.com/community-scripts/ProxmoxVE/pull/3729)) + ## 2025-04-06 ### πŸš€ Updated Scripts