From dfbb1a80352b6a46e64e53601ce60aead0d96002 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 12 May 2025 20:02:53 +0200 Subject: [PATCH 01/55] Alpine-Traefik (#4412) --- ct/alpine-traefik.sh | 41 ++++++++++++++++++++++ frontend/public/json/traefik.json | 11 ++++++ install/alpine-traefik-install.sh | 56 +++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 ct/alpine-traefik.sh create mode 100644 install/alpine-traefik-install.sh diff --git a/ct/alpine-traefik.sh b/ct/alpine-traefik.sh new file mode 100644 index 000000000..f0e312a31 --- /dev/null +++ b/ct/alpine-traefik.sh @@ -0,0 +1,41 @@ +#!/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://alpinelinux.org/ + +APP="Alpine-Traefik" +var_tags="${var_tags:-os;alpine}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-512}" +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() { + header_info + msg_info "Updating Alpine Packages" + $STD apk -U upgrade + msg_ok "Updated Alpine Packages" + + msg_info "Upgrading traefik from edge" + $STD apk add traefik --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community + msg_ok "Upgraded traefik" + 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} WebUI Access (if configured) - using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/dashboard${CL}" diff --git a/frontend/public/json/traefik.json b/frontend/public/json/traefik.json index 5655a98a2..c62f08e6f 100644 --- a/frontend/public/json/traefik.json +++ b/frontend/public/json/traefik.json @@ -25,6 +25,17 @@ "os": "debian", "version": "12" } + }, + { + "type": "alpine", + "script": "ct/alpine-traefik.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 1, + "os": "alpine", + "version": "3.21" + } } ], "default_credentials": { diff --git a/install/alpine-traefik-install.sh b/install/alpine-traefik-install.sh new file mode 100644 index 000000000..cdd2f5b4a --- /dev/null +++ b/install/alpine-traefik-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 /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apk add ca-certificates +$STD update-ca-certificates +msg_ok "Installed Dependencies" + +msg_info "Installing Traefik" +$STD apk add traefik --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community +msg_ok "Installed Traefik" + +read -p "Enable Traefik WebUI (Port 8080)? [y/N]: " enable_webui +if [[ "$enable_webui" =~ ^[Yy]$ ]]; then + msg_info "Configuring Traefik WebUI" + mkdir -p /etc/traefik/config + cat </etc/traefik/traefik.yml +entryPoints: + web: + address: ":80" + traefik: + address: ":8080" + +api: + dashboard: true + insecure: true + +log: + level: INFO + +providers: + file: + directory: /etc/traefik/config + watch: true +EOF + msg_ok "Configured Traefik WebUI" +fi + +msg_info "Enabling and starting Traefik service" +$STD rc-update add traefik default +$STD rc-service traefik start +msg_ok "Traefik service started" + +motd_ssh +customize From d7211e856e87e38e85cf40ca66707fd7db8cc0e9 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, 12 May 2025 20:03:37 +0200 Subject: [PATCH 02/55] Update CHANGELOG.md (#4420) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 417b1fbe3..c4f73be83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-05-12 +### ๐Ÿ†• New Scripts + + - Alpine-Traefik [@MickLesk](https://github.com/MickLesk) ([#4412](https://github.com/community-scripts/ProxmoxVE/pull/4412)) + ### ๐Ÿš€ Updated Scripts - Alpine: Use onliner for updates [@tremor021](https://github.com/tremor021) ([#4414](https://github.com/community-scripts/ProxmoxVE/pull/4414)) From 35c0d269ac31ef1325e9e8437bdb97ceba153e4e 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, 12 May 2025 20:03:45 +0200 Subject: [PATCH 03/55] Update .app files (#4421) Co-authored-by: GitHub Actions --- ct/headers/alpine-traefik | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ct/headers/alpine-traefik diff --git a/ct/headers/alpine-traefik b/ct/headers/alpine-traefik new file mode 100644 index 000000000..0c2f2996c --- /dev/null +++ b/ct/headers/alpine-traefik @@ -0,0 +1,6 @@ + ___ __ _ ______ _____ __ + / | / /___ (_)___ ___ /_ __/________ ____ / __(_) /__ + / /| | / / __ \/ / __ \/ _ \______/ / / ___/ __ `/ _ \/ /_/ / //_/ + / ___ |/ / /_/ / / / / / __/_____/ / / / / /_/ / __/ __/ / ,< +/_/ |_/_/ .___/_/_/ /_/\___/ /_/ /_/ \__,_/\___/_/ /_/_/|_| + /_/ From 38cf296a4c8c95632c1c59df2a86846d1785f7a9 Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Mon, 12 May 2025 20:22:48 +0200 Subject: [PATCH 04/55] homarr: fetch versions dynamically from source repo (#4409) * pull homarr version dynamically from source repo * fix homarr install to directly fetch pnpm and node version --- ct/homarr.sh | 15 ++++++++------- install/homarr-install.sh | 20 +++++--------------- 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/ct/homarr.sh b/ct/homarr.sh index d02863df7..dcb00b1e5 100644 --- a/ct/homarr.sh +++ b/ct/homarr.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) | Co-Author: MickLesk (Canbiz) | Co-Author: CrazyWolf13 +# Copyright (c) 2021-2025 community-scripts ORG +# Author: CrazyWolf13 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://homarr.dev/ @@ -117,11 +117,12 @@ 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") - unzip -q v${RELEASE}.zip - rm -rf v${RELEASE}.zip + $STD command -v jq || $STD apt-get update && $STD apt-get install -y jq + NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]') + NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')" + install_node_and_modules rm -rf /opt/homarr - mv homarr-${RELEASE} /opt/homarr + fetch_and_deploy_gh_release "homarr-labs/homarr" mv /opt/homarr-data-backup/.env /opt/homarr/.env cd /opt/homarr $STD pnpm install @@ -167,4 +168,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}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7575${CL}" diff --git a/install/homarr-install.sh b/install/homarr-install.sh index efb41c662..fcf7f32f5 100644 --- a/install/homarr-install.sh +++ b/install/homarr-install.sh @@ -23,27 +23,17 @@ $STD apt-get install -y \ build-essential \ nginx \ gettext \ + jq \ openssl 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_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list -msg_ok "Set up Node.js Repository" - -msg_info "Installing Node.js/pnpm" -$STD apt-get update -$STD apt-get install -y nodejs -$STD npm install -g pnpm@latest -msg_ok "Installed Node.js/pnpm" +NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]') +NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')" +install_node_and_modules +fetch_and_deploy_gh_release "homarr-labs/homarr" 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") -unzip -q v${RELEASE}.zip -mv homarr-${RELEASE} /opt/homarr mkdir -p /opt/homarr_db touch /opt/homarr_db/db.sqlite SECRET_ENCRYPTION_KEY="$(openssl rand -hex 32)" From a9b53afcc56d6f0c6312639a2a8a89292f618d18 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, 12 May 2025 20:23:27 +0200 Subject: [PATCH 05/55] Update CHANGELOG.md (#4422) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4f73be83..b7c62fa2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,10 @@ All LXC instances created using this repository come pre-installed with Midnight - Alpine: Use onliner for updates [@tremor021](https://github.com/tremor021) ([#4414](https://github.com/community-scripts/ProxmoxVE/pull/4414)) + - #### ๐Ÿž Bug Fixes + + - homarr: fetch versions dynamically from source repo [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4409](https://github.com/community-scripts/ProxmoxVE/pull/4409)) + - #### โœจ New Features - Feature: LXC-Delete (pve helper): add "all items" [@MickLesk](https://github.com/MickLesk) ([#4296](https://github.com/community-scripts/ProxmoxVE/pull/4296)) From e59f8689664f8197e26a73330312e985dec25674 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, 13 May 2025 02:14:43 +0200 Subject: [PATCH 06/55] Update versions.json (#4424) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 140 ++++++++++++++--------------- 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 772f7699a..cc829c1a0 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,14 +1,79 @@ [ + { + "name": "go-gitea/gitea", + "version": "v1.23.8", + "date": "2025-05-12T22:40:50Z" + }, + { + "name": "ollama/ollama", + "version": "v0.7.0-rc0", + "date": "2025-05-12T22:23:31Z" + }, + { + "name": "MediaBrowser/Emby.Releases", + "version": "4.8.11.0", + "date": "2025-03-10T06:39:11Z" + }, + { + "name": "leiweibau/Pi.Alert", + "version": "v2025-05-11", + "date": "2025-05-12T19:14:57Z" + }, + { + "name": "duplicati/duplicati", + "version": "v2.1.0.118-2.1.0.118_canary_2025-05-12", + "date": "2025-05-12T18:50:44Z" + }, + { + "name": "coder/code-server", + "version": "v4.100.0", + "date": "2025-05-12T18:23:47Z" + }, + { + "name": "runtipi/runtipi", + "version": "v4.1.0", + "date": "2025-05-12T07:13:15Z" + }, + { + "name": "neo4j/neo4j", + "version": "4.4.43", + "date": "2025-05-12T15:33:17Z" + }, + { + "name": "usememos/memos", + "version": "v0.24.3", + "date": "2025-05-12T15:23:21Z" + }, + { + "name": "NodeBB/NodeBB", + "version": "v2.8.18", + "date": "2025-05-12T15:08:09Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.91.3", + "date": "2025-05-08T12:25:10Z" + }, + { + "name": "Paymenter/Paymenter", + "version": "v1.1.0", + "date": "2025-05-12T14:40:27Z" + }, + { + "name": "VictoriaMetrics/VictoriaMetrics", + "version": "pmm-6401-v1.117.0", + "date": "2025-05-12T13:24:20Z" + }, + { + "name": "apache/tika", + "version": "3.2.0-rc1", + "date": "2025-05-12T13:06:47Z" + }, { "name": "mattermost/mattermost", "version": "v10.7.2", "date": "2025-05-12T10:42:32Z" }, - { - "name": "VictoriaMetrics/VictoriaMetrics", - "version": "v1.102.20", - "date": "2025-05-12T10:23:03Z" - }, { "name": "nzbgetcom/nzbget", "version": "v25.0", @@ -34,11 +99,6 @@ "version": "v2.18.1", "date": "2025-05-12T07:16:12Z" }, - { - "name": "runtipi/runtipi", - "version": "v4.1.0", - "date": "2025-05-12T07:13:15Z" - }, { "name": "Jackett/Jackett", "version": "v0.22.1891", @@ -104,11 +164,6 @@ "version": "v0.6.9", "date": "2025-05-10T19:05:02Z" }, - { - "name": "ollama/ollama", - "version": "v0.6.9-rc0", - "date": "2025-05-10T18:57:30Z" - }, { "name": "Stirling-Tools/Stirling-PDF", "version": "v0.46.1", @@ -134,11 +189,6 @@ "version": "v1.19.1", "date": "2025-05-09T19:15:10Z" }, - { - "name": "MediaBrowser/Emby.Releases", - "version": "4.8.11.0", - "date": "2025-03-10T06:39:11Z" - }, { "name": "home-assistant/core", "version": "2025.5.1", @@ -159,11 +209,6 @@ "version": "v3.0.4", "date": "2025-05-09T11:38:33Z" }, - { - "name": "coder/code-server", - "version": "v4.99.4", - "date": "2025-05-02T18:33:09Z" - }, { "name": "pocket-id/pocket-id", "version": "v0.53.0", @@ -189,11 +234,6 @@ "version": "10.1.41", "date": "2025-05-08T12:45:44Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.91.3", - "date": "2025-05-08T12:25:10Z" - }, { "name": "zwave-js/zwave-js-ui", "version": "v10.4.2", @@ -219,11 +259,6 @@ "version": "v0.34.1", "date": "2025-03-25T18:11:12Z" }, - { - "name": "NodeBB/NodeBB", - "version": "v4.3.1", - "date": "2025-05-07T15:38:20Z" - }, { "name": "donaldzou/WGDashboard", "version": "v4.2.3", @@ -384,16 +419,6 @@ "version": "v0.18.0", "date": "2025-05-05T15:34:40Z" }, - { - "name": "apache/tika", - "version": "2.9.4", - "date": "2025-05-05T15:17:27Z" - }, - { - "name": "neo4j/neo4j", - "version": "5.26.6", - "date": "2025-05-05T13:59:36Z" - }, { "name": "traefik/traefik", "version": "v3.4.0", @@ -524,11 +549,6 @@ "version": "version/2025.4.0", "date": "2025-04-30T12:34:14Z" }, - { - "name": "go-gitea/gitea", - "version": "v1.25.0-dev", - "date": "2025-04-28T22:57:56Z" - }, { "name": "hivemq/hivemq-community-edition", "version": "2025.3", @@ -599,11 +619,6 @@ "version": "1.5.34", "date": "2025-03-27T16:17:38Z" }, - { - "name": "leiweibau/Pi.Alert", - "version": "v2025-04-26", - "date": "2025-04-26T14:16:12Z" - }, { "name": "openhab/openhab-core", "version": "4.3.5", @@ -619,11 +634,6 @@ "version": "v13.6.0", "date": "2025-04-26T10:21:12Z" }, - { - "name": "duplicati/duplicati", - "version": "v2.1.0.117-2.1.0.117_canary_2025-04-25", - "date": "2025-04-25T17:22:12Z" - }, { "name": "mongodb/mongo", "version": "r7.0.19", @@ -694,11 +704,6 @@ "version": "v2.10.0", "date": "2025-04-18T20:46:28Z" }, - { - "name": "Paymenter/Paymenter", - "version": "v1.0.4", - "date": "2025-04-18T16:08:02Z" - }, { "name": "tailscale/tailscale", "version": "v1.82.5", @@ -894,11 +899,6 @@ "version": "v4.3.1", "date": "2025-03-23T09:02:54Z" }, - { - "name": "usememos/memos", - "version": "v0.24.2", - "date": "2025-03-23T04:01:50Z" - }, { "name": "clusterzx/paperless-ai", "version": "v2.7.6", From b3bda56498cc5f4592a2f5d95f7efa306f39dc03 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, 13 May 2025 02:15:26 +0200 Subject: [PATCH 07/55] Update CHANGELOG.md (#4425) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b7c62fa2c..ce5b9ff29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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-05-13 + ## 2025-05-12 ### ๐Ÿ†• New Scripts From e126e4843933415548ba8cd1e568dd84fae80311 Mon Sep 17 00:00:00 2001 From: Cody Warmbo <84926667+warmbo@users.noreply.github.com> Date: Tue, 13 May 2025 00:52:28 -0500 Subject: [PATCH 08/55] Update pingvin.json (#4426) Typo in config path --- frontend/public/json/pingvin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/pingvin.json b/frontend/public/json/pingvin.json index 872c815e0..0a952edcf 100644 --- a/frontend/public/json/pingvin.json +++ b/frontend/public/json/pingvin.json @@ -12,7 +12,7 @@ "documentation": "https://stonith404.github.io/pingvin-share/introduction", "website": "https://github.com/stonith404/pingvin-share", "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/pingvin-share.svg", - "config_path": "/opt/pingin-share/config.yaml", + "config_path": "/opt/pingvin-share/config.yaml", "description": "Pingvin Share is self-hosted file sharing platform and an alternative for WeTransfer.", "install_methods": [ { From 1700291af74845899fa201b732f49d7ee9b96250 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, 13 May 2025 07:53:01 +0200 Subject: [PATCH 09/55] Update CHANGELOG.md (#4429) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce5b9ff29..ec3dc18c0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-05-13 +### ๐ŸŒ Website + + - #### ๐Ÿ“ Script Information + + - pingvin.json: fix typo [@warmbo](https://github.com/warmbo) ([#4426](https://github.com/community-scripts/ProxmoxVE/pull/4426)) + ## 2025-05-12 ### ๐Ÿ†• New Scripts From f85cddadcfa8922d3e739a2b50cdeb6b3fe1eff8 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 13 May 2025 10:38:19 +0200 Subject: [PATCH 10/55] update some improvements from dev (tools.func) (#4430) * Harmonize tools.func from DEV-Repo * Update tools.func --- misc/tools.func | 74 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 22 deletions(-) diff --git a/misc/tools.func b/misc/tools.func index 50520ca44..3caaf19d3 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -55,10 +55,16 @@ install_node_and_modules() { IFS=',' read -ra MODULES <<<"$NODE_MODULE" for mod in "${MODULES[@]}"; do local MODULE_NAME MODULE_REQ_VERSION MODULE_INSTALLED_VERSION - if [[ "$mod" == *"@"* ]]; then + if [[ "$mod" == @*/*@* ]]; then + # Scoped package with version, e.g. @vue/cli-service@latest MODULE_NAME="${mod%@*}" - MODULE_REQ_VERSION="${mod#*@}" + MODULE_REQ_VERSION="${mod##*@}" + elif [[ "$mod" == *"@"* ]]; then + # Unscoped package with version, e.g. yarn@latest + MODULE_NAME="${mod%@*}" + MODULE_REQ_VERSION="${mod##*@}" else + # No version specified MODULE_NAME="$mod" MODULE_REQ_VERSION="latest" fi @@ -101,25 +107,31 @@ install_postgresql() { DISTRO="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" if command -v psql >/dev/null; then - CURRENT_PG_VERSION="$(psql -V | grep -oP '\s\K[0-9]+(?=\.)')" - if [[ "$CURRENT_PG_VERSION" != "$PG_VERSION" ]]; then - msg_info "PostgreSQL Version $CURRENT_PG_VERSION found, replacing with $PG_VERSION" - NEED_PG_INSTALL=true + CURRENT_PG_VERSION="$(psql -V | awk '{print $3}' | cut -d. -f1)" + if [[ "$CURRENT_PG_VERSION" == "$PG_VERSION" ]]; then + msg_ok "PostgreSQL $PG_VERSION is already installed" + return fi + msg_info "Detected PostgreSQL $CURRENT_PG_VERSION, preparing upgrade to $PG_VERSION" + NEED_PG_INSTALL=true else - msg_info "PostgreSQL not found, installing version $PG_VERSION" + msg_info "PostgreSQL not installed, proceeding with fresh install of $PG_VERSION" NEED_PG_INSTALL=true fi if [[ "$NEED_PG_INSTALL" == true ]]; then - msg_info "Stopping PostgreSQL if running" - systemctl stop postgresql >/dev/null 2>&1 || true + if [[ -n "$CURRENT_PG_VERSION" ]]; then + msg_info "Dumping all PostgreSQL data from version $CURRENT_PG_VERSION" + su - postgres -c "pg_dumpall > /var/lib/postgresql/backup_$(date +%F)_v${CURRENT_PG_VERSION}.sql" + fi - msg_info "Removing conflicting PostgreSQL packages" - $STD apt-get purge -y "postgresql*" + msg_info "Stopping PostgreSQL service" + systemctl stop postgresql || true + + msg_info "Removing pgdg repo and old GPG key" rm -f /etc/apt/sources.list.d/pgdg.list /etc/apt/trusted.gpg.d/postgresql.gpg - msg_info "Setting up PostgreSQL Repository" + msg_info "Adding PostgreSQL PGDG repository" curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg @@ -127,9 +139,24 @@ install_postgresql() { >/etc/apt/sources.list.d/pgdg.list $STD apt-get update - $STD apt-get install -y "postgresql-${PG_VERSION}" - msg_ok "Installed PostgreSQL ${PG_VERSION}" + msg_info "Installing PostgreSQL $PG_VERSION" + $STD apt-get install -y "postgresql-${PG_VERSION}" "postgresql-client-${PG_VERSION}" + + if [[ -n "$CURRENT_PG_VERSION" ]]; then + $STD msg_info "Removing old PostgreSQL $CURRENT_PG_VERSION packages" + $STD apt-get purge -y "postgresql-${CURRENT_PG_VERSION}" "postgresql-client-${CURRENT_PG_VERSION}" || true + fi + + $STD msg_info "Starting PostgreSQL $PG_VERSION" + systemctl enable --now postgresql + + if [[ -n "$CURRENT_PG_VERSION" ]]; then + $STD msg_info "Restoring dumped data" + su - postgres -c "psql < /var/lib/postgresql/backup_$(date +%F)_v${CURRENT_PG_VERSION}.sql" + fi + + msg_ok "PostgreSQL $PG_VERSION installed" fi } @@ -245,7 +272,11 @@ install_php() { COMBINED_MODULES=$(echo "$COMBINED_MODULES" | tr ',' '\n' | awk '!seen[$0]++' | paste -sd, -) local CURRENT_PHP - CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2) + if command -v php >/dev/null 2>&1; then + CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2) + else + CURRENT_PHP="" + fi if [[ "$CURRENT_PHP" != "$PHP_VERSION" ]]; then $STD echo "PHP $CURRENT_PHP detected, migrating to PHP $PHP_VERSION" @@ -352,7 +383,7 @@ install_go() { msg_error "Could not determine latest Go version" return 1 fi - msg_info "Detected latest Go version: $GO_VERSION" + $STD msg_info "Detected latest Go version: $GO_VERSION" fi local GO_BIN="/usr/local/bin/go" @@ -362,10 +393,10 @@ install_go() { local CURRENT_VERSION CURRENT_VERSION=$("$GO_BIN" version | awk '{print $3}' | sed 's/go//') if [[ "$CURRENT_VERSION" == "$GO_VERSION" ]]; then - msg_ok "Go $GO_VERSION already installed" + $STD msg_ok "Go $GO_VERSION already installed" return 0 else - msg_info "Go $CURRENT_VERSION found, upgrading to $GO_VERSION" + $STD msg_info "Go $CURRENT_VERSION found, upgrading to $GO_VERSION" rm -rf "$GO_INSTALL_DIR" fi else @@ -537,7 +568,7 @@ fetch_and_deploy_gh_release() { fi tag=$(echo "$api_response" | jq -r '.tag_name // .name // empty') - [[ "$tag" =~ ^v[0-9] ]] && tag="${tag:1}" + version="${tag#v}" if [[ -z "$tag" ]]; then $STD msg_info "Empty tag received, retrying...\n" @@ -555,12 +586,11 @@ fetch_and_deploy_gh_release() { fi # Version comparison (if we already have this version, skip) - if [[ "$current_version" == "$tag" ]]; then - $STD msg_info "Already running the latest version ($tag). Skipping update." + if [[ "$current_version" == "$version" ]]; then + $STD msg_info "Already running the latest version ($version). Skipping update." return 0 fi - local version="$tag" local base_url="https://github.com/$repo/releases/download/v$tag" local tmpdir tmpdir=$(mktemp -d) || return 1 From 10e1d7e74174cf1ff7556fc96ec2953b44ffc74d 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, 13 May 2025 10:38:52 +0200 Subject: [PATCH 11/55] Update CHANGELOG.md (#4431) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ec3dc18c0..23da22afe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-05-13 +### ๐Ÿš€ Updated Scripts + + - update some improvements from dev (tools.func) [@MickLesk](https://github.com/MickLesk) ([#4430](https://github.com/community-scripts/ProxmoxVE/pull/4430)) + ### ๐ŸŒ Website - #### ๐Ÿ“ Script Information From 82a30df0c92aae7470adc6ac55821d8986868cd4 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, 13 May 2025 10:55:37 +0200 Subject: [PATCH 12/55] Update json (#4432) --- frontend/public/json/pingvin.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend/public/json/pingvin.json b/frontend/public/json/pingvin.json index 0a952edcf..b412c3909 100644 --- a/frontend/public/json/pingvin.json +++ b/frontend/public/json/pingvin.json @@ -31,5 +31,10 @@ "username": null, "password": null }, - "notes": [] + "notes": [ + { + "text": "Run `DATA_DIRECTORY=path-to-your-data-directory pm2 restart all --update-env` to update path to your data directory or to update environment variables.", + "type": "info" + }, + ] } From 7ee57e74161ec2f3fae2d26b1b7009de1a6288b5 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, 13 May 2025 10:56:23 +0200 Subject: [PATCH 13/55] Update CHANGELOG.md (#4433) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23da22afe..226ff480a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### ๐Ÿ“ Script Information + - Pingvin Share: Added explanation on how to add/edit environment variables [@tremor021](https://github.com/tremor021) ([#4432](https://github.com/community-scripts/ProxmoxVE/pull/4432)) - pingvin.json: fix typo [@warmbo](https://github.com/warmbo) ([#4426](https://github.com/community-scripts/ProxmoxVE/pull/4426)) ## 2025-05-12 From 59b00890f9841c4e303b670744dd8f27106834ba Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 13 May 2025 13:33:50 +0200 Subject: [PATCH 14/55] quickfix broken json --- frontend/public/json/pingvin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/pingvin.json b/frontend/public/json/pingvin.json index b412c3909..0f6002dc8 100644 --- a/frontend/public/json/pingvin.json +++ b/frontend/public/json/pingvin.json @@ -35,6 +35,6 @@ { "text": "Run `DATA_DIRECTORY=path-to-your-data-directory pm2 restart all --update-env` to update path to your data directory or to update environment variables.", "type": "info" - }, + } ] } From 592d9d03aa3b3f307414ff070d833144557de388 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, 13 May 2025 14:07:30 +0200 Subject: [PATCH 15/55] Update versions.json (#4439) 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 cc829c1a0..de1959e3f 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,19 +1,49 @@ [ + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.12", + "date": "2025-04-20T19:22:17Z" + }, + { + "name": "cross-seed/cross-seed", + "version": "v6.12.4", + "date": "2025-05-11T11:41:32Z" + }, + { + "name": "element-hq/synapse", + "version": "v1.130.0rc1", + "date": "2025-05-13T10:00:45Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1893", + "date": "2025-05-13T05:57:50Z" + }, + { + "name": "zitadel/zitadel", + "version": "v2.65.9", + "date": "2025-05-13T05:14:39Z" + }, + { + "name": "ollama/ollama", + "version": "v0.6.9-rc0", + "date": "2025-05-10T18:57:30Z" + }, { "name": "go-gitea/gitea", "version": "v1.23.8", "date": "2025-05-12T22:40:50Z" }, - { - "name": "ollama/ollama", - "version": "v0.7.0-rc0", - "date": "2025-05-12T22:23:31Z" - }, { "name": "MediaBrowser/Emby.Releases", "version": "4.8.11.0", "date": "2025-03-10T06:39:11Z" }, + { + "name": "keycloak/keycloak", + "version": "26.2.4", + "date": "2025-05-08T09:10:10Z" + }, { "name": "leiweibau/Pi.Alert", "version": "v2025-05-11", @@ -24,16 +54,16 @@ "version": "v2.1.0.118-2.1.0.118_canary_2025-05-12", "date": "2025-05-12T18:50:44Z" }, - { - "name": "coder/code-server", - "version": "v4.100.0", - "date": "2025-05-12T18:23:47Z" - }, { "name": "runtipi/runtipi", "version": "v4.1.0", "date": "2025-05-12T07:13:15Z" }, + { + "name": "coder/code-server", + "version": "v4.100.0", + "date": "2025-05-12T18:23:47Z" + }, { "name": "neo4j/neo4j", "version": "4.4.43", @@ -89,21 +119,11 @@ "version": "1.0.0", "date": "2025-05-12T07:39:23Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.12", - "date": "2025-04-20T19:22:17Z" - }, { "name": "umami-software/umami", "version": "v2.18.1", "date": "2025-05-12T07:16:12Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1891", - "date": "2025-05-12T05:53:07Z" - }, { "name": "esphome/esphome", "version": "2025.4.2", @@ -129,11 +149,6 @@ "version": "v1.35.1.5034", "date": "2025-04-30T11:02:36Z" }, - { - "name": "cross-seed/cross-seed", - "version": "v6.12.4", - "date": "2025-05-11T11:41:32Z" - }, { "name": "authelia/authelia", "version": "v4.39.3", @@ -194,21 +209,11 @@ "version": "2025.5.1", "date": "2025-05-09T15:05:54Z" }, - { - "name": "keycloak/keycloak", - "version": "26.2.4", - "date": "2025-05-08T09:10:10Z" - }, { "name": "crowdsecurity/crowdsec", "version": "v1.6.8", "date": "2025-03-25T13:33:10Z" }, - { - "name": "zitadel/zitadel", - "version": "v3.0.4", - "date": "2025-05-09T11:38:33Z" - }, { "name": "pocket-id/pocket-id", "version": "v0.53.0", @@ -276,8 +281,8 @@ }, { "name": "Graylog2/graylog2-server", - "version": "6.3.0-alpha.3", - "date": "2025-05-07T13:58:36Z" + "version": "6.3.0-alpha.4", + "date": "2025-05-13T11:18:29Z" }, { "name": "glpi-project/glpi", @@ -364,11 +369,6 @@ "version": "v0.107.61", "date": "2025-04-22T12:42:26Z" }, - { - "name": "element-hq/synapse", - "version": "v1.129.0", - "date": "2025-05-06T12:28:54Z" - }, { "name": "Luligu/matterbridge", "version": "3.0.1", From 3981cc90c414ed63588f3424cb2ae0521bc4d395 Mon Sep 17 00:00:00 2001 From: moodyblue Date: Tue, 13 May 2025 13:40:49 +0100 Subject: [PATCH 16/55] Update openhab-install.sh (#4438) 1) Update zulu repo 2) Use zulu17-jdk (previously zulu21-jdk) --- install/openhab-install.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/install/openhab-install.sh b/install/openhab-install.sh index c94a44319..017577597 100644 --- a/install/openhab-install.sh +++ b/install/openhab-install.sh @@ -16,16 +16,16 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ gnupg \ + ca-certificates \ apt-transport-https 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") -$STD dpkg -i zulu-repo_1.0.0-3_all.deb +msg_info "Installing Azul Zulu17" +curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg +echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://repos.azul.com/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list $STD apt-get update -$STD apt-get -y install zulu21-jdk -msg_ok "Installed Azul Zulu21" +$STD apt-get -y install zulu17-jdk +msg_ok "Installed Azul Zulu17" msg_info "Installing openHAB" curl -fsSL "https://openhab.jfrog.io/artifactory/api/gpg/key/public" | gpg --dearmor >openhab.gpg From 9a3b2c076dd3ca2d37dd0881069045cdd337cb83 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, 13 May 2025 14:41:27 +0200 Subject: [PATCH 17/55] Update CHANGELOG.md (#4441) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 226ff480a..4a4e01e27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,10 @@ All LXC instances created using this repository come pre-installed with Midnight - update some improvements from dev (tools.func) [@MickLesk](https://github.com/MickLesk) ([#4430](https://github.com/community-scripts/ProxmoxVE/pull/4430)) + - #### ๐Ÿž Bug Fixes + + - openhab: use zulu17-jdk [@moodyblue](https://github.com/moodyblue) ([#4438](https://github.com/community-scripts/ProxmoxVE/pull/4438)) + ### ๐ŸŒ Website - #### ๐Ÿ“ Script Information From cf1b13e5fbf659f2c08fde9c0a66e469a67afe1f Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 15:18:29 +0200 Subject: [PATCH 18/55] alpine-gatus (#4442) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 'Add new script' * Update ct/alpine-gatus.sh --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: Slaviลกa Areลพina <58952836+tremor021@users.noreply.github.com> --- ct/alpine-gatus.sh | 62 +++++++++++++++++++++++++++++ ct/headers/alpine-gatus | 6 +++ frontend/public/json/gatus.json | 46 ++++++++++++++++++++++ install/alpine-gatus-install.sh | 70 +++++++++++++++++++++++++++++++++ 4 files changed, 184 insertions(+) create mode 100644 ct/alpine-gatus.sh create mode 100644 ct/headers/alpine-gatus create mode 100644 frontend/public/json/gatus.json create mode 100644 install/alpine-gatus-install.sh diff --git a/ct/alpine-gatus.sh b/ct/alpine-gatus.sh new file mode 100644 index 000000000..abbbc6f54 --- /dev/null +++ b/ct/alpine-gatus.sh @@ -0,0 +1,62 @@ +#!/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: Slaviลกa Areลพina (tremor021) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/TwiN/gatus + +APP="Alpine-gatus" +var_tags="${var_tags:-alpine;monitoring}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-256}" +var_disk="${var_disk:-3}" +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() { + header_info + + if [[ ! -d /opt/gatus ]]; then + msg_error "No ${APP} Installation Found!" + exit 1 + fi + RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [ "${RELEASE}" != "$(cat /opt/gatus_version.txt)" ] || [ ! -f /opt/gatus_version.txt ]; then + msg_info "Updating ${APP} LXC" + $STD apk -U upgrade + $STD service gatus stop + mv /opt/gatus/config/config.yaml /opt + rm -rf /opt/gatus/* + temp_file=$(mktemp) + curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" + tar zxf "$temp_file" --strip-components=1 -C /opt/gatus + cd /opt/gatus + $STD go mod tidy + CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus . + setcap CAP_NET_RAW+ep gatus + mv /opt/config.yaml config + rm -f "$temp_file" + echo "${RELEASE}" >/opt/gatus_version.txt + $STD service gatus start + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + + exit 0 +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following IP:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" diff --git a/ct/headers/alpine-gatus b/ct/headers/alpine-gatus new file mode 100644 index 000000000..0eb5bc4e4 --- /dev/null +++ b/ct/headers/alpine-gatus @@ -0,0 +1,6 @@ + ___ __ _ __ + / | / /___ (_)___ ___ ____ _____ _/ /___ _______ + / /| | / / __ \/ / __ \/ _ \______/ __ `/ __ `/ __/ / / / ___/ + / ___ |/ / /_/ / / / / / __/_____/ /_/ / /_/ / /_/ /_/ (__ ) +/_/ |_/_/ .___/_/_/ /_/\___/ \__, /\__,_/\__/\__,_/____/ + /_/ /____/ diff --git a/frontend/public/json/gatus.json b/frontend/public/json/gatus.json new file mode 100644 index 000000000..3d021331b --- /dev/null +++ b/frontend/public/json/gatus.json @@ -0,0 +1,46 @@ +{ + "name": "Alpine-gatus", + "slug": "alpine-gatus", + "categories": [ + 9 + ], + "date_created": "2025-05-06", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 8080, + "documentation": "https://gatus.io/docs", + "website": "https://gatus.io/", + "logo": "https://raw.githubusercontent.com/TwiN/gatus/refs/heads/master/web/static/img/logo.svg", + "config_path": "/opt/gatus/config/config.yaml", + "description": "Gatus is a developer-oriented health dashboard that gives you the ability to monitor your services using HTTP, ICMP, TCP, and even DNS queries as well as evaluate the result of said queries by using a list of conditions on values like the status code, the response time, the certificate expiration, the body and many others. The icing on top is that each of these health checks can be paired with alerting via Slack, Teams, PagerDuty, Discord, Twilio and many more.", + "install_methods": [ + { + "type": "default", + "script": "ct/gatus.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 4, + "os": "debian", + "version": "12" + } + }, + { + "type": "alpine", + "script": "ct/alpine-gatus.sh", + "resources": { + "cpu": 1, + "ram": 256, + "hdd": 3, + "os": "alpine", + "version": "3.21" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/alpine-gatus-install.sh b/install/alpine-gatus-install.sh new file mode 100644 index 000000000..9e479d813 --- /dev/null +++ b/install/alpine-gatus-install.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Slaviลกa Areลพina (tremor021) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/TwiN/gatus + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing dependencies" +$STD apk add --no-cache \ + ca-certificates \ + libcap-setcap +$STD apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community go +msg_ok "Installed dependencies" + +RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +msg_info "Installing gatus v${RELEASE}" +temp_file=$(mktemp) +mkdir -p /opt/gatus +curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" +tar zxf "$temp_file" --strip-components=1 -C /opt/gatus +cd /opt/gatus +$STD go mod tidy +CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus . +setcap CAP_NET_RAW+ep gatus +mv config.yaml config +echo "${RELEASE}" >/opt/gatus_version.txt +msg_ok "Installed gatus v${RELEASE}" + +msg_info "Enabling gatus Service" +cat </etc/init.d/gatus +#!/sbin/openrc-run +description="gatus Service" +directory="/opt/gatus" +command="/opt/gatus/gatus" +command_args="" +command_background="true" +command_user="root" +pidfile="/var/run/gatus.pid" + +export GATUS_CONFIG_PATH="" +export GATUS_LOG_LEVEL="INFO" +export PORT="8080" + +depend() { + use net +} +EOF +chmod +x /etc/init.d/gatus +$STD rc-update add gatus default +msg_ok "Enabled gatus Service" + +msg_info "Starting gatus" +$STD service gatus start +msg_ok "Started gatus" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -f "$temp_file" +$STD apk cache clean +msg_ok "Cleaned" From 57bd730233793bf7c7b637f23512f83195580927 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, 13 May 2025 15:19:04 +0200 Subject: [PATCH 19/55] Update date in json (#4444) Co-authored-by: GitHub Actions --- frontend/public/json/gatus.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/gatus.json b/frontend/public/json/gatus.json index 3d021331b..085eb9a36 100644 --- a/frontend/public/json/gatus.json +++ b/frontend/public/json/gatus.json @@ -4,7 +4,7 @@ "categories": [ 9 ], - "date_created": "2025-05-06", + "date_created": "2025-05-13", "type": "ct", "updateable": true, "privileged": false, From 22e15189515ea913f21180636cc60e0fb752a247 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, 13 May 2025 15:20:38 +0200 Subject: [PATCH 20/55] Update CHANGELOG.md (#4445) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a4e01e27..a9c26e76d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-05-13 +### ๐Ÿ†• New Scripts + + - alpine-gatus ([#4442](https://github.com/community-scripts/ProxmoxVE/pull/4442)) + ### ๐Ÿš€ Updated Scripts - update some improvements from dev (tools.func) [@MickLesk](https://github.com/MickLesk) ([#4430](https://github.com/community-scripts/ProxmoxVE/pull/4430)) From 704073cd69f1c107d20a11e0d0f6935ccf382af6 Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 15:25:38 +0200 Subject: [PATCH 21/55] gatus (#4443) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 'Add new script' * Update ct/gatus.sh --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: Slaviลกa Areลพina <58952836+tremor021@users.noreply.github.com> --- ct/gatus.sh | 75 ++++++++++++++++++++++++++++++++++++++++ ct/headers/gatus | 6 ++++ install/gatus-install.sh | 67 +++++++++++++++++++++++++++++++++++ 3 files changed, 148 insertions(+) create mode 100644 ct/gatus.sh create mode 100644 ct/headers/gatus create mode 100644 install/gatus-install.sh diff --git a/ct/gatus.sh b/ct/gatus.sh new file mode 100644 index 000000000..ee361ba17 --- /dev/null +++ b/ct/gatus.sh @@ -0,0 +1,75 @@ +#!/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: Slaviลกa Areลพina (tremor021) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/TwiN/gatus + +APP="gatus" +var_tags="${var_tags:-monitoring}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-1024}" +var_disk="${var_disk:-4}" +var_os="${var_os:-debian}" +var_version="${var_version:-12}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -d /opt/gatus ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/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" + + msg_info "Stopping $APP" + systemctl stop gatus + msg_ok "Stopped $APP" + + msg_info "Updating $APP to v${RELEASE}" + mv /opt/gatus/config/config.yaml /opt + rm -rf /opt/gatus/* + temp_file=$(mktemp) + curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" + tar zxf "$temp_file" --strip-components=1 -C /opt/gatus + cd /opt/gatus + $STD go mod tidy + CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus . + setcap CAP_NET_RAW+ep gatus + mv /opt/config.yaml config + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated $APP to v${RELEASE}" + + msg_info "Starting $APP" + systemctl start gatus + msg_ok "Started $APP" + + msg_info "Cleaning Up" + rm -f "$temp_file" + msg_ok "Cleanup Completed" + + msg_ok "Update Successful" + 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}:8080${CL}" diff --git a/ct/headers/gatus b/ct/headers/gatus new file mode 100644 index 000000000..42caf9c6b --- /dev/null +++ b/ct/headers/gatus @@ -0,0 +1,6 @@ + __ + ____ _____ _/ /___ _______ + / __ `/ __ `/ __/ / / / ___/ + / /_/ / /_/ / /_/ /_/ (__ ) + \__, /\__,_/\__/\__,_/____/ +/____/ diff --git a/install/gatus-install.sh b/install/gatus-install.sh new file mode 100644 index 000000000..8a2fc7a5c --- /dev/null +++ b/install/gatus-install.sh @@ -0,0 +1,67 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Slaviลกa Areลพina (tremor021) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/TwiN/gatus + +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 \ + ca-certificates \ + libcap2-bin +msg_ok "Installed Dependencies" + +install_go + +RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +msg_info "Setting up gatus v${RELEASE}" +temp_file=$(mktemp) +mkdir -p /opt/gatus +curl -fsSL "https://github.com/TwiN/gatus/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" +tar zxf "$temp_file" --strip-components=1 -C /opt/gatus +cd /opt/gatus +$STD go mod tidy +CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus . +setcap CAP_NET_RAW+ep gatus +mv config.yaml config +echo "${RELEASE}" >/opt/gatus_version.txt +msg_ok "Done setting up gatus" + +msg_info "Creating Service" +cat </etc/systemd/system/gatus.service +[Unit] +Description=gatus Service +After=network.target + +[Service] +Type=simple +User=root +WorkingDirectory=/opt/gatus +ExecStart=/opt/gatus/gatus +Restart=always + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now gatus +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -f "$temp_file" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" + +motd_ssh +customize From 1e7981dbb7c3f06948a71829cdc66f2c35ce397c 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, 13 May 2025 15:26:16 +0200 Subject: [PATCH 22/55] Update CHANGELOG.md (#4446) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a9c26e76d..ae0741091 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-gatus ([#4442](https://github.com/community-scripts/ProxmoxVE/pull/4442)) + - gatus ([#4443](https://github.com/community-scripts/ProxmoxVE/pull/4443)) +- alpine-gatus ([#4442](https://github.com/community-scripts/ProxmoxVE/pull/4442)) ### ๐Ÿš€ Updated Scripts From 0bd18cc91b557f25b14152843f8324cfb4e0180e Mon Sep 17 00:00:00 2001 From: Filippo Date: Tue, 13 May 2025 18:44:06 +0200 Subject: [PATCH 23/55] fix: improve bridge detection in all network interface configuration files (#4413) * fix: improve bridge detection in all network interface configuration files * removed comments * removed last comment line --- misc/build.func | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/misc/build.func b/misc/build.func index 4bfa89cd9..2211f96c9 100644 --- a/misc/build.func +++ b/misc/build.func @@ -528,7 +528,37 @@ advanced_settings() { exit_script fi - BRIDGES=$( ip link show | grep -oP '(?<=: )vmbr\d+' | sort) + + BRIDGES="" + IFACE_FILEPATH_LIST="/etc/network/interfaces"$'\n'$(find "/etc/network/interfaces.d/" -type f) + OLD_IFS=$IFS; IFS=$'\n' + + for iface_filepath in ${IFACE_FILEPATH_LIST}; do + iface_indexes_tmpfile=$(mktemp -q -u '.iface-XXXX') + + ( grep -Pn '^\s*iface' "${iface_filepath}" | cut -d':' -f1 && wc -l "${iface_filepath}" | cut -d' ' -f1 ) | \ + awk 'FNR==1 {line=$0; next} {print line":"$0-1; line=$0}' > "${iface_indexes_tmpfile}" + + if [ -f "${iface_indexes_tmpfile}" ]; then + while read -r pair; do + start=$(echo "${pair}" | cut -d':' -f1) + end=$(echo "${pair}" | cut -d':' -f2) + + if awk "NR >= ${start} && NR <= ${end}" "${iface_filepath}" | grep -qP '^\s*bridge[-_](ports|stp|fd|vlan-aware|vids)\s+'; then + iface_name=$(sed "${start}q;d" "${iface_filepath}" | awk '{print $2}') + BRIDGES="${iface_name}"$'\n'"${BRIDGES}" + fi + + done < "${iface_indexes_tmpfile}" + rm -f "${iface_indexes_tmpfile}" + fi + + done + + IFS=$OLD_IFS + + BRIDGES=$(echo "$BRIDGES" | grep -v '^\s*$' | sort | uniq) + if [[ -z "$BRIDGES" ]]; then BRG="vmbr0" echo -e "${BRIDGE}${BOLD}${DGN}Bridge: ${BGN}$BRG${CL}" @@ -1368,7 +1398,7 @@ description() { spend Coffee

- + GitHub From a2d92155a5d3b8ce2ebb6d78d481e3830adcd8f9 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, 13 May 2025 18:44:30 +0200 Subject: [PATCH 24/55] Update CHANGELOG.md (#4449) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae0741091..d3413cee3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,12 @@ All LXC instances created using this repository come pre-installed with Midnight - openhab: use zulu17-jdk [@moodyblue](https://github.com/moodyblue) ([#4438](https://github.com/community-scripts/ProxmoxVE/pull/4438)) +### ๐Ÿงฐ Maintenance + + - #### ๐Ÿ’พ Core + + - fix: improve bridge detection in all network interface configuration files [@filippolauria](https://github.com/filippolauria) ([#4413](https://github.com/community-scripts/ProxmoxVE/pull/4413)) + ### ๐ŸŒ Website - #### ๐Ÿ“ Script Information From db81851db44d4205dfd0cc6a1c73da5a0825ce58 Mon Sep 17 00:00:00 2001 From: moodyblue Date: Tue, 13 May 2025 19:00:09 +0100 Subject: [PATCH 25/55] openhab. correct some typos (#4448) --- install/openhab-install.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/install/openhab-install.sh b/install/openhab-install.sh index 017577597..db99d6729 100644 --- a/install/openhab-install.sh +++ b/install/openhab-install.sh @@ -21,15 +21,14 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Installing Azul Zulu17" -curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg -echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://repos.azul.com/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list +curl -fsSL https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg +echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://repos.azul.com/zulu/deb stable main" >/etc/apt/sources.list.d/zulu.list $STD apt-get update $STD apt-get -y install zulu17-jdk msg_ok "Installed Azul Zulu17" msg_info "Installing openHAB" -curl -fsSL "https://openhab.jfrog.io/artifactory/api/gpg/key/public" | gpg --dearmor >openhab.gpg -mv openhab.gpg /usr/share/keyrings +curl -fsSL "https://openhab.jfrog.io/artifactory/api/gpg/key/public" | gpg --dearmor -o /usr/share/keyrings/openhab.gpg chmod u=rw,g=r,o=r /usr/share/keyrings/openhab.gpg echo "deb [signed-by=/usr/share/keyrings/openhab.gpg] https://openhab.jfrog.io/artifactory/openhab-linuxpkg stable main" >/etc/apt/sources.list.d/openhab.list $STD apt update From aaf8bdb8933089293dca03bf9f01cfe3d27f6a26 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, 13 May 2025 20:00:42 +0200 Subject: [PATCH 26/55] Update CHANGELOG.md (#4451) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d3413cee3..e7bd4923f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,10 @@ All LXC instances created using this repository come pre-installed with Midnight - openhab: use zulu17-jdk [@moodyblue](https://github.com/moodyblue) ([#4438](https://github.com/community-scripts/ProxmoxVE/pull/4438)) + - #### ๐Ÿ”ง Refactor + + - openhab. correct some typos [@moodyblue](https://github.com/moodyblue) ([#4448](https://github.com/community-scripts/ProxmoxVE/pull/4448)) + ### ๐Ÿงฐ Maintenance - #### ๐Ÿ’พ Core From fcc16ae8e1f4deca63371719f194f74e3692ee9d 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, 13 May 2025 21:06:37 +0200 Subject: [PATCH 27/55] Jellyfin Media Server: Update configuration path (#4434) * Update configuration path * typo --- frontend/public/json/jellyfin.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/jellyfin.json b/frontend/public/json/jellyfin.json index aa0f2854d..71e4f5be0 100644 --- a/frontend/public/json/jellyfin.json +++ b/frontend/public/json/jellyfin.json @@ -12,7 +12,7 @@ "documentation": "https://jellyfin.org/docs/", "website": "https://jellyfin.org/", "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/jellyfin.svg", - "config_path": "/root/.config/jellyfin", + "config_path": "/etc/jellyfin/", "description": "Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices.", "install_methods": [ { From 14c5bf5f757d9db58d6562e0c61955c51a3956de 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, 13 May 2025 21:09:09 +0200 Subject: [PATCH 28/55] Update CHANGELOG.md (#4452) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e7bd4923f..4cb19037d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### ๐Ÿ“ Script Information + - Jellyfin Media Server: Update configuration path [@tremor021](https://github.com/tremor021) ([#4434](https://github.com/community-scripts/ProxmoxVE/pull/4434)) - Pingvin Share: Added explanation on how to add/edit environment variables [@tremor021](https://github.com/tremor021) ([#4432](https://github.com/community-scripts/ProxmoxVE/pull/4432)) - pingvin.json: fix typo [@warmbo](https://github.com/warmbo) ([#4426](https://github.com/community-scripts/ProxmoxVE/pull/4426)) From 3808d4d0b8e5c1898bba662d8763ab37b3c5e360 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, 13 May 2025 23:23:44 +0200 Subject: [PATCH 29/55] Fix json (#4453) --- frontend/public/json/gatus.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/public/json/gatus.json b/frontend/public/json/gatus.json index 085eb9a36..35f8e9b84 100644 --- a/frontend/public/json/gatus.json +++ b/frontend/public/json/gatus.json @@ -1,6 +1,6 @@ { - "name": "Alpine-gatus", - "slug": "alpine-gatus", + "name": "gatus", + "slug": "gatus", "categories": [ 9 ], From e9960347bfd2297da95fa55bf32a26977adcd044 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, 14 May 2025 02:14:33 +0200 Subject: [PATCH 30/55] Update versions.json (#4454) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 114 ++++++++++++++--------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index de1959e3f..90a308a7e 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,59 @@ [ + { + "name": "netbox-community/netbox", + "version": "v4.3.1", + "date": "2025-05-13T19:45:00Z" + }, + { + "name": "glanceapp/glance", + "version": "v0.8.1", + "date": "2025-05-13T19:42:42Z" + }, + { + "name": "pocketbase/pocketbase", + "version": "v0.28.1", + "date": "2025-05-13T18:45:47Z" + }, + { + "name": "jenkinsci/jenkins", + "version": "jenkins-2.510", + "date": "2025-05-13T18:33:42Z" + }, + { + "name": "mongodb/mongo", + "version": "r6.0.23", + "date": "2025-05-13T18:28:23Z" + }, + { + "name": "OctoPrint/OctoPrint", + "version": "1.11.1", + "date": "2025-05-13T13:32:07Z" + }, + { + "name": "redis/redis", + "version": "8.0.1", + "date": "2025-05-13T13:31:53Z" + }, + { + "name": "theonedev/onedev", + "version": "v11.9.6", + "date": "2025-05-13T12:16:17Z" + }, + { + "name": "element-hq/synapse", + "version": "v1.129.0", + "date": "2025-05-06T12:28:54Z" + }, + { + "name": "zabbix/zabbix", + "version": "7.2.7rc1", + "date": "2025-05-13T11:55:32Z" + }, + { + "name": "Graylog2/graylog2-server", + "version": "6.3.0-alpha.4", + "date": "2025-05-13T11:18:29Z" + }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.12", @@ -9,11 +64,6 @@ "version": "v6.12.4", "date": "2025-05-11T11:41:32Z" }, - { - "name": "element-hq/synapse", - "version": "v1.130.0rc1", - "date": "2025-05-13T10:00:45Z" - }, { "name": "Jackett/Jackett", "version": "v0.22.1893", @@ -56,8 +106,8 @@ }, { "name": "runtipi/runtipi", - "version": "v4.1.0", - "date": "2025-05-12T07:13:15Z" + "version": "nightly", + "date": "2025-05-12T18:39:33Z" }, { "name": "coder/code-server", @@ -154,21 +204,11 @@ "version": "v4.39.3", "date": "2025-05-11T11:12:15Z" }, - { - "name": "theonedev/onedev", - "version": "v11.9.5", - "date": "2025-05-11T10:50:37Z" - }, { "name": "Radarr/Radarr", "version": "v5.22.4.9896", "date": "2025-04-23T18:51:12Z" }, - { - "name": "pocketbase/pocketbase", - "version": "v0.28.0", - "date": "2025-05-11T06:25:22Z" - }, { "name": "owncast/owncast", "version": "v0.2.3", @@ -279,11 +319,6 @@ "version": "v5.7.5", "date": "2025-05-07T14:01:45Z" }, - { - "name": "Graylog2/graylog2-server", - "version": "6.3.0-alpha.4", - "date": "2025-05-13T11:18:29Z" - }, { "name": "glpi-project/glpi", "version": "10.0.18", @@ -319,11 +354,6 @@ "version": "338", "date": "2025-05-07T10:43:29Z" }, - { - "name": "zabbix/zabbix", - "version": "7.4.0beta2", - "date": "2025-05-07T10:39:21Z" - }, { "name": "jupyter/notebook", "version": "@jupyter-notebook/ui-components@7.5.0-alpha.0", @@ -334,11 +364,6 @@ "version": "v1.12.1rc0", "date": "2025-05-06T20:56:30Z" }, - { - "name": "redis/redis", - "version": "8.0.1-int", - "date": "2025-05-06T18:40:34Z" - }, { "name": "Athou/commafeed", "version": "5.8.0", @@ -349,11 +374,6 @@ "version": "v0.19.0", "date": "2025-05-06T18:05:42Z" }, - { - "name": "jenkinsci/jenkins", - "version": "jenkins-2.509", - "date": "2025-05-06T15:37:10Z" - }, { "name": "MariaDB/server", "version": "mariadb-11.4.6", @@ -519,11 +539,6 @@ "version": "2.3.0", "date": "2025-05-01T18:24:31Z" }, - { - "name": "netbox-community/netbox", - "version": "v4.3.0", - "date": "2025-05-01T16:46:17Z" - }, { "name": "WordPress/WordPress", "version": "6.8.1", @@ -634,11 +649,6 @@ "version": "v13.6.0", "date": "2025-04-26T10:21:12Z" }, - { - "name": "mongodb/mongo", - "version": "r7.0.19", - "date": "2025-04-24T20:59:43Z" - }, { "name": "dotnetfactory/fluid-calendar", "version": "v1.4.0", @@ -659,21 +669,11 @@ "version": "RELEASE.2025-04-22T22-12-26Z", "date": "2025-04-22T22:44:34Z" }, - { - "name": "glanceapp/glance", - "version": "v0.7.13", - "date": "2025-04-22T22:19:16Z" - }, { "name": "OliveTin/OliveTin", "version": "2025.4.22", "date": "2025-04-22T14:18:11Z" }, - { - "name": "OctoPrint/OctoPrint", - "version": "1.11.0", - "date": "2025-04-22T09:33:46Z" - }, { "name": "monicahq/monica", "version": "v4.1.2", From 7aea03034a3686891f1348c83b464bd9ec2b3614 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, 14 May 2025 02:15:13 +0200 Subject: [PATCH 31/55] Update CHANGELOG.md (#4455) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cb19037d..32b51c2ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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-05-14 + ## 2025-05-13 ### ๐Ÿ†• New Scripts From 2695e2de1ae9225776aec2ed693d29f44d4a7e69 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 14 May 2025 10:00:41 +0200 Subject: [PATCH 32/55] Website: re-add documenso & some little bugfixes (#4456) --- frontend/public/json/documenso.json | 35 +++++++++++++++++++++++++++++ install/documenso-install.sh | 17 +++----------- misc/tools.func | 6 ++--- 3 files changed, 41 insertions(+), 17 deletions(-) create mode 100644 frontend/public/json/documenso.json diff --git a/frontend/public/json/documenso.json b/frontend/public/json/documenso.json new file mode 100644 index 000000000..535db2dd5 --- /dev/null +++ b/frontend/public/json/documenso.json @@ -0,0 +1,35 @@ +{ + "name": "Documenso", + "slug": "documenso", + "categories": [ + 12 + ], + "date_created": "2025-04-28", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 3000, + "documentation": "https://documenso.com/", + "website": "https://documenso.com/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/documenso.svg", + "config_path": "/opt/documenso/.env", + "description": "Signing documents digitally should be fast and easy and should be the best practice for every document signed worldwide. This is technically quite easy today, but it also introduces a new party to every signature: The signing tool providers. While this is not a problem in itself, it should make us think about how we want these providers of trust to work. Documenso aims to be the world's most trusted document-signing tool. This trust is built by empowering you to self-host Documenso and review how it works under the hood.", + "install_methods": [ + { + "type": "default", + "script": "ct/documenso.sh", + "resources": { + "cpu": 4, + "ram": 6144, + "hdd": 10, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": "helper-scripts@local.com", + "password": "helper-scripts" + }, + "notes": [] +} diff --git a/install/documenso-install.sh b/install/documenso-install.sh index 37d658fcb..f2013396a 100644 --- a/install/documenso-install.sh +++ b/install/documenso-install.sh @@ -20,27 +20,16 @@ msg_ok "Setup Functions" msg_info "Installing Dependencies" $STD apt-get install -y \ - gpg \ libc6 \ make \ cmake \ jq \ - postgresql \ python3 \ python3-bcrypt 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_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 turbo@1.9.3 -msg_ok "Installed Node.js" +NODE_VERSION="22" NODE_MODULE="turbo@1.9.3" install_node_and_modules +PG_VERSION="16" install_postgresql msg_info "Setting up PostgreSQL" DB_NAME="documenso_db" @@ -90,7 +79,7 @@ msg_ok "Installed Documenso" msg_info "Create User" PASSWORD_HASH=$(python3 -c "import bcrypt; print(bcrypt.hashpw(b'helper-scripts', bcrypt.gensalt(rounds=12)).decode())") -sudo -u postgres psql -d documenso_db -c "INSERT INTO \"User\" (name, email, \"emailVerified\", password, \"identityProvider\", roles, \"createdAt\", \"lastSignedIn\", \"updatedAt\", \"customerId\") VALUES ('helper-scripts', 'helper-scripts@local.com', '2025-01-20 17:14:45.058', '$PASSWORD_HASH', 'DOCUMENSO', ARRAY['USER', 'ADMIN']::\"Role\"[], '2025-01-20 16:04:05.543', '2025-01-20 16:14:55.249', '2025-01-20 16:14:55.25', NULL) RETURNING id;" +$STD sudo -u postgres psql -d documenso_db -c "INSERT INTO \"User\" (name, email, \"emailVerified\", password, \"identityProvider\", roles, \"createdAt\", \"lastSignedIn\", \"updatedAt\", \"customerId\") VALUES ('helper-scripts', 'helper-scripts@local.com', '2025-01-20 17:14:45.058', '$PASSWORD_HASH', 'DOCUMENSO', ARRAY['USER', 'ADMIN']::\"Role\"[], '2025-01-20 16:04:05.543', '2025-01-20 16:14:55.249', '2025-01-20 16:14:55.25', NULL) RETURNING id;" $STD npm run prisma:migrate-deploy msg_ok "User created" diff --git a/misc/tools.func b/misc/tools.func index 3caaf19d3..cf80f691c 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -689,8 +689,8 @@ setup_local_ip_helper() { # Install networkd-dispatcher if not present if ! dpkg -s networkd-dispatcher >/dev/null 2>&1; then - apt-get update -qq - apt-get install -yq networkd-dispatcher + $STD apt-get update -qq + $STD apt-get install -yq networkd-dispatcher fi # Write update_local_ip.sh @@ -746,7 +746,7 @@ $SCRIPT_PATH EOF chmod +x "$DISPATCHER_SCRIPT" - systemctl enable --now networkd-dispatcher.service + systemctl enable -q --now networkd-dispatcher.service $STD msg_ok "LOCAL_IP helper installed using networkd-dispatcher" } From cd610252950d0c29e05e9de72fdd749d2491480e 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, 14 May 2025 10:01:13 +0200 Subject: [PATCH 33/55] Update date in json (#4458) Co-authored-by: GitHub Actions --- frontend/public/json/documenso.json | 66 ++++++++++++++--------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/frontend/public/json/documenso.json b/frontend/public/json/documenso.json index 535db2dd5..98e6fdd51 100644 --- a/frontend/public/json/documenso.json +++ b/frontend/public/json/documenso.json @@ -1,35 +1,35 @@ { - "name": "Documenso", - "slug": "documenso", - "categories": [ - 12 - ], - "date_created": "2025-04-28", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 3000, - "documentation": "https://documenso.com/", - "website": "https://documenso.com/", - "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/documenso.svg", - "config_path": "/opt/documenso/.env", - "description": "Signing documents digitally should be fast and easy and should be the best practice for every document signed worldwide. This is technically quite easy today, but it also introduces a new party to every signature: The signing tool providers. While this is not a problem in itself, it should make us think about how we want these providers of trust to work. Documenso aims to be the world's most trusted document-signing tool. This trust is built by empowering you to self-host Documenso and review how it works under the hood.", - "install_methods": [ - { - "type": "default", - "script": "ct/documenso.sh", - "resources": { - "cpu": 4, - "ram": 6144, - "hdd": 10, - "os": "Debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": "helper-scripts@local.com", - "password": "helper-scripts" - }, - "notes": [] + "name": "Documenso", + "slug": "documenso", + "categories": [ + 12 + ], + "date_created": "2025-05-14", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 3000, + "documentation": "https://documenso.com/", + "website": "https://documenso.com/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/documenso.svg", + "config_path": "/opt/documenso/.env", + "description": "Signing documents digitally should be fast and easy and should be the best practice for every document signed worldwide. This is technically quite easy today, but it also introduces a new party to every signature: The signing tool providers. While this is not a problem in itself, it should make us think about how we want these providers of trust to work. Documenso aims to be the world's most trusted document-signing tool. This trust is built by empowering you to self-host Documenso and review how it works under the hood.", + "install_methods": [ + { + "type": "default", + "script": "ct/documenso.sh", + "resources": { + "cpu": 4, + "ram": 6144, + "hdd": 10, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": "helper-scripts@local.com", + "password": "helper-scripts" + }, + "notes": [] } From 7740ab68f7dba80cc538ad24b0d12afabb7c91b7 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, 14 May 2025 10:02:15 +0200 Subject: [PATCH 34/55] Update CHANGELOG.md (#4459) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32b51c2ea..ce4f26d90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-05-14 +### ๐Ÿš€ Updated Scripts + + - Website: re-add documenso & some little bugfixes [@MickLesk](https://github.com/MickLesk) ([#4456](https://github.com/community-scripts/ProxmoxVE/pull/4456)) + ## 2025-05-13 ### ๐Ÿ†• New Scripts From 16c0d09d6b1cb177e093c3b885802465e0318a64 Mon Sep 17 00:00:00 2001 From: Konstantin Krastev Date: Wed, 14 May 2025 12:00:57 +0300 Subject: [PATCH 35/55] Update monitor-all.sh (#4437) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit โœ… Summary of Changes from the Initial Version ๐Ÿงฉ 1. Tag-Based Filtering (Core Feature) New feature: Only restart instances (VMs or containers) that have the mon-restart tag. This makes monitoring and auto-restart controllable directly from the Proxmox Web UI, without editing scripts or services. Set via GUI: VM โ†’ Options โ†’ Tags โ†’ mon-restart Set via CLI: qm set -tags mon-restart or pct set -tags mon-restart This is the primary new control mechanism, making the script safer, more flexible, and user-friendly. ๐Ÿงฐ 2. Backward-Compatible Exclusion Mechanism The original feature that lets you exclude instances via CLI arguments is preserved: bash Copy Edit ./ping-instances.sh 101 300 These IDs will always be skipped regardless of tag. ๐Ÿง  3. Intelligent Responsiveness Checks For VMs: Uses qm guest cmd ping to check responsiveness via the QEMU guest agent. No longer relies on network-level ping, which can be misleading or blocked. For containers (CTs): Uses traditional ping to IP addresses obtained from pct exec, since CTs donโ€™t support QEMU agent. โ›” 4. Instance Skipping Improvements Instances are now skipped if: They are explicitly excluded via CLI. They are templates. They are configured with onboot: 0 or missing. They lack the mon-restart tag, regardless of other status. ๐Ÿชต 5. Same Logging Behavior All output continues to go to /var/log/ping-instances.log for persistent tracking. Verbose messages were added for traceability (e.g., why a VM or CT was skipped). ๐ŸŽฏ Why This Matters With tag-based control, admins can now manage restart behavior dynamically from the Proxmox Web UI, making the script: More secure (no accidental restarts). More maintainable (no script edits needed). More user-friendly (integrated with the UI workflow). --- tools/pve/monitor-all.sh | 120 ++++++++++++++++++++++----------------- 1 file changed, 68 insertions(+), 52 deletions(-) diff --git a/tools/pve/monitor-all.sh b/tools/pve/monitor-all.sh index b0f95786a..30795cce1 100644 --- a/tools/pve/monitor-all.sh +++ b/tools/pve/monitor-all.sh @@ -16,43 +16,52 @@ cat <<"EOF" EOF add() { + echo -e "\n IMPORTANT: Tag-Based Monitoring Enabled" + echo "Only VMs and containers with the tag 'mon-restart' will be automatically restarted by this service." + echo + echo "๐Ÿ”ง How to add the tag:" + echo " โ†’ Proxmox Web UI: Go to VM/CT โ†’ Options โ†’ Tags โ†’ Add 'mon-restart'" + echo " โ†’ CLI: qm set -tags mon-restart" + echo " pct set -tags mon-restart" + echo + while true; do - read -p "This script will add Monitor All to Proxmox VE. Proceed(y/n)?" yn + 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." ;; + [Yy]*) break ;; + [Nn]*) exit ;; + *) echo "Please answer yes or no." ;; esac done - echo '#!/usr/bin/env bash + cat <<'EOF' >/usr/local/bin/ping-instances.sh +#!/usr/bin/env bash + # Read excluded instances from command line arguments excluded_instances=("$@") echo "Excluded instances: ${excluded_instances[@]}" while true; do - for instance in $(pct list | awk '\''{if(NR>1) print $1}'\''; qm list | awk '\''{if(NR>1) print $1}'\''); do + for instance in $(pct list | awk 'NR>1 {print $1}'; qm list | awk 'NR>1 {print $1}'); do # Skip excluded instances if [[ " ${excluded_instances[@]} " =~ " ${instance} " ]]; then echo "Skipping $instance because it is excluded" continue fi - # Determine the type of the instance (container or virtual machine) + # Determine type and set config command if pct status $instance >/dev/null 2>&1; then - # It is a container + type="ct" config_cmd="pct config" - IP=$(pct exec $instance ip a s dev eth0 | awk '\''/inet / {print $2}'\'' | cut -d/ -f1) else - # It is a virtual machine + type="vm" config_cmd="qm config" - IP=$(qm guest cmd $instance network-get-interfaces | egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -E "192\.|10\." | head -n 1) fi - # Skip instances based on onboot and templates + # Skip templates and onboot-disabled onboot=$($config_cmd $instance | grep -q "onboot: 0" || ( ! $config_cmd $instance | grep -q "onboot" ) && echo "true" || echo "false") - template=$($config_cmd $instance | grep template | grep -q "template:" && echo "true" || echo "false") + template=$($config_cmd $instance | grep -q "^template:" && echo "true" || echo "false") if [ "$onboot" == "true" ]; then echo "Skipping $instance because it is set not to boot" @@ -62,36 +71,49 @@ while true; do continue fi - # Ping the instance - if ! ping -c 1 $IP >/dev/null 2>&1; then - # If the instance can not be pinged, stop and start it - if pct status $instance >/dev/null 2>&1; then - # It is a container + # Check for mon-restart tag + has_tag=$($config_cmd $instance | grep -q "tags:.*mon-restart" && echo "true" || echo "false") + if [ "$has_tag" != "true" ]; then + echo "Skipping $instance because it does not have 'mon-restart' tag" + continue + fi + + # Responsiveness check and restart if needed + if [ "$type" == "vm" ]; then + # Check if guest agent responds + if qm guest cmd $instance ping >/dev/null 2>&1; then + echo "VM $instance is responsive via guest agent" + else + echo "$(date): VM $instance is not responding to agent ping, restarting..." + if qm status $instance | grep -q "status: running"; then + qm stop $instance >/dev/null 2>&1 + sleep 5 + fi + qm start $instance >/dev/null 2>&1 + fi + else + # Container: get IP and ping + IP=$(pct exec $instance ip a s dev eth0 | awk '/inet / {print $2}' | cut -d/ -f1) + if ! ping -c 1 $IP >/dev/null 2>&1; then echo "$(date): CT $instance is not responding, restarting..." pct stop $instance >/dev/null 2>&1 sleep 5 pct start $instance >/dev/null 2>&1 else - # It is a virtual machine - if qm status $instance | grep -q "status: running"; then - echo "$(date): VM $instance is not responding, restarting..." - qm stop $instance >/dev/null 2>&1 - sleep 5 - else - echo "$(date): VM $instance is not running, starting..." - fi - qm start $instance >/dev/null 2>&1 + echo "CT $instance is responsive" fi fi done - # Wait for 5 minutes. (Edit to your needs) echo "$(date): Pausing for 5 minutes..." sleep 300 -done >/var/log/ping-instances.log 2>&1' >/usr/local/bin/ping-instances.sh + +done >/var/log/ping-instances.log 2>&1 +EOF + 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,17 +126,17 @@ OnUnitActiveSec=300 WantedBy=timers.target EOF - # Create ping-instances.service cat </etc/systemd/system/ping-instances.service [Unit] -Description=Ping instances every 5 minutes and restarts if necessary +Description=Ping instances every 5 minutes and restart if necessary After=ping-instances.timer Requires=ping-instances.timer + [Service] Type=simple -# To specify which CT/VM should be excluded, add the CT/VM ID at the end of the line where ExecStart=/usr/local/bin/ping-instances.sh is specified. -# For example: ExecStart=/usr/local/bin/ping-instances.sh 100 102 -# Virtual machines without the QEMU guest agent installed must be excluded. +# To exclude specific instances, pass IDs to ExecStart, e.g.: +# ExecStart=/usr/local/bin/ping-instances.sh 100 200 +# Instances must also have the 'mon-restart' tag to be monitored ExecStart=/usr/local/bin/ping-instances.sh Restart=always @@ -125,39 +147,33 @@ 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" + echo -e "\n Monitor All installed." + echo "๐Ÿ“„ To view logs: cat /var/log/ping-instances.log" + echo "โš™๏ธ Make sure your VMs or containers have the 'mon-restart' tag to be monitored." } remove() { systemctl disable -q --now ping-instances.timer systemctl disable -q --now ping-instances.service - rm /etc/systemd/system/ping-instances.service /etc/systemd/system/ping-instances.timer /usr/local/bin/ping-instances.sh /var/log/ping-instances.log - echo "Removed Monitor All from Proxmox VE" + rm -f /etc/systemd/system/ping-instances.service + rm -f /etc/systemd/system/ping-instances.timer + rm -f /usr/local/bin/ping-instances.sh + rm -f /var/log/ping-instances.log + echo "Monitor All removed from Proxmox VE" } -# Define options for the whiptail menu 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) -# 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 From 4a1f87727bdb2e25e0355a59078ae722a2a222f4 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, 14 May 2025 11:01:22 +0200 Subject: [PATCH 36/55] Update CHANGELOG.md (#4462) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce4f26d90..684ed7d5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,10 @@ All LXC instances created using this repository come pre-installed with Midnight - Website: re-add documenso & some little bugfixes [@MickLesk](https://github.com/MickLesk) ([#4456](https://github.com/community-scripts/ProxmoxVE/pull/4456)) + - #### โœจ New Features + + - monitor-all: improvements - tag based filtering [@grizmin](https://github.com/grizmin) ([#4437](https://github.com/community-scripts/ProxmoxVE/pull/4437)) + ## 2025-05-13 ### ๐Ÿ†• New Scripts From d703a8abb280b629388b5f551c54a5f9142d7dea Mon Sep 17 00:00:00 2001 From: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> Date: Wed, 14 May 2025 11:02:41 +0200 Subject: [PATCH 37/55] Add App to do the merging (#4461) --- .github/workflows/auto-update-app-headers.yml | 21 ++++++++++----- .github/workflows/changelog-pr.yml | 25 +++++++++--------- .github/workflows/update-json-date.yml | 26 +++++++++++++------ 3 files changed, 45 insertions(+), 27 deletions(-) diff --git a/.github/workflows/auto-update-app-headers.yml b/.github/workflows/auto-update-app-headers.yml index 61b583c68..649a36ff0 100644 --- a/.github/workflows/auto-update-app-headers.yml +++ b/.github/workflows/auto-update-app-headers.yml @@ -5,8 +5,8 @@ on: branches: - main paths: - - 'ct/**.sh' - workflow_dispatch: + - "ct/**.sh" + workflow_dispatch: jobs: update-app-files: @@ -25,6 +25,13 @@ jobs: app-id: ${{ vars.APP_ID }} private-key: ${{ secrets.APP_PRIVATE_KEY }} + - name: Generate a token for PR approval and merge + id: generate-token-merge + uses: actions/create-github-app-token@v1 + with: + app-id: ${{ secrets.APP_ID_APPROVE_AND_MERGE }} + private-key: ${{ secrets.APP_KEY_APPROVE_AND_MERGE }} + # Step 1: Checkout repository - name: Checkout repository uses: actions/checkout@v2 @@ -80,7 +87,7 @@ jobs: --label "automated pr" env: GH_TOKEN: ${{ steps.generate-token.outputs.token }} - + - name: Approve pull request if: env.changed == 'true' env: @@ -90,13 +97,15 @@ jobs: if [ -n "$PR_NUMBER" ]; then gh pr review $PR_NUMBER --approve fi - + - name: Approve pull request and merge if: env.changed == 'true' env: - GH_TOKEN: ${{ secrets.PAT_AUTOMERGE }} + GH_TOKEN: ${{ steps.generate-token-merge.outputs.token }} run: | - PR_NUMBER=$(gh pr list --head "pr-update-app-files" --json number --jq '.[].number') + git config --global user.name "github-actions-automege[bot]" + git config --global user.email "github-actions-automege[bot]@users.noreply.github.com" + PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number') if [ -n "$PR_NUMBER" ]; then gh pr review $PR_NUMBER --approve gh pr merge $PR_NUMBER --squash --admin diff --git a/.github/workflows/changelog-pr.yml b/.github/workflows/changelog-pr.yml index f441bce63..dd23df0ea 100644 --- a/.github/workflows/changelog-pr.yml +++ b/.github/workflows/changelog-pr.yml @@ -24,6 +24,13 @@ jobs: app-id: ${{ vars.APP_ID }} private-key: ${{ secrets.APP_PRIVATE_KEY }} + - name: Generate a token for PR approval and merge + id: generate-token-merge + uses: actions/create-github-app-token@v1 + with: + app-id: ${{ secrets.APP_ID_APPROVE_AND_MERGE }} + private-key: ${{ secrets.APP_KEY_APPROVE_AND_MERGE }} + - name: Checkout code uses: actions/checkout@v4 with: @@ -177,7 +184,7 @@ jobs: } return await main(); - + - name: Update CHANGELOG.md uses: actions/github-script@v7 with: @@ -202,7 +209,7 @@ jobs: if (hasMainNotes || hasSubNotes) { newReleaseNotes += `### ${title}\n\n`; } - + if (hasMainNotes) { newReleaseNotes += ` ${notes.join("\n")}\n\n`; } @@ -267,20 +274,12 @@ jobs: - name: Approve pull request and merge if: env.changed == 'true' env: - GH_TOKEN: ${{ secrets.PAT_AUTOMERGE }} + GH_TOKEN: ${{ steps.generate-token-merge.outputs.token }} run: | + git config --global user.name "github-actions-automege[bot]" + git config --global user.email "github-actions-automege[bot]@users.noreply.github.com" PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number') if [ -n "$PR_NUMBER" ]; then gh pr review $PR_NUMBER --approve gh pr merge $PR_NUMBER --squash --admin fi - - - name: Re-approve pull request after update - if: env.changed == 'true' - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number') - if [ -n "$PR_NUMBER" ]; then - gh pr review $PR_NUMBER --approve - fi diff --git a/.github/workflows/update-json-date.yml b/.github/workflows/update-json-date.yml index 2004f1522..ba73b3ace 100644 --- a/.github/workflows/update-json-date.yml +++ b/.github/workflows/update-json-date.yml @@ -5,8 +5,8 @@ on: branches: - main paths: - - 'frontend/public/json/**.json' - workflow_dispatch: + - "frontend/public/json/**.json" + workflow_dispatch: jobs: update-app-files: @@ -25,10 +25,17 @@ jobs: app-id: ${{ vars.APP_ID }} private-key: ${{ secrets.APP_PRIVATE_KEY }} + - name: Generate a token for PR approval and merge + id: generate-token-merge + uses: actions/create-github-app-token@v1 + with: + app-id: ${{ secrets.APP_ID_APPROVE_AND_MERGE }} + private-key: ${{ secrets.APP_KEY_APPROVE_AND_MERGE }} + - name: Generate dynamic branch name id: timestamp run: echo "BRANCH_NAME=pr-update-json-$(date +'%Y%m%d%H%M%S')" >> $GITHUB_ENV - + - name: Set up GH_TOKEN env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -38,7 +45,7 @@ jobs: - name: Checkout Repository uses: actions/checkout@v4 with: - fetch-depth: 2 # Ensure we have the last two commits + fetch-depth: 2 # Ensure we have the last two commits - name: Get Previous Commit id: prev_commit @@ -103,8 +110,8 @@ jobs: - name: Commit and create PR if changes exist if: env.changed == 'true' run: | - - + + git commit -m "Update date in json" git checkout -b ${{ env.BRANCH_NAME }} git push origin ${{ env.BRANCH_NAME }} @@ -126,12 +133,15 @@ jobs: if [ -n "$PR_NUMBER" ]; then gh pr review $PR_NUMBER --approve fi + - name: Approve pull request and merge if: env.changed == 'true' env: - GH_TOKEN: ${{ secrets.PAT_AUTOMERGE }} + GH_TOKEN: ${{ steps.generate-token-merge.outputs.token }} run: | - PR_NUMBER=$(gh pr list --head "${{ env.BRANCH_NAME }}" --json number --jq '.[].number') + git config --global user.name "github-actions-automege[bot]" + git config --global user.email "github-actions-automege[bot]@users.noreply.github.com" + PR_NUMBER=$(gh pr list --head "${BRANCH_NAME}" --json number --jq '.[].number') if [ -n "$PR_NUMBER" ]; then gh pr review $PR_NUMBER --approve gh pr merge $PR_NUMBER --squash --admin From b816ca67880528b4f1f92230842d2b4fd04117e5 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 14 May 2025 11:02:50 +0200 Subject: [PATCH 38/55] Bookstack: fix copy of themes/uploads/storage (#4457) --- ct/bookstack.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ct/bookstack.sh b/ct/bookstack.sh index 808419541..5b2ff6735 100644 --- a/ct/bookstack.sh +++ b/ct/bookstack.sh @@ -39,9 +39,9 @@ function update_script() { 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 + [[ -d /opt/bookstack-backup/public/uploads ]] && cp -a /opt/bookstack-backup/public/uploads/. /opt/bookstack/public/uploads/ + [[ -d /opt/bookstack-backup/storage/uploads ]] && cp -a /opt/bookstack-backup/storage/uploads/. /opt/bookstack/storage/uploads/ + [[ -d /opt/bookstack-backup/themes ]] && cp -a /opt/bookstack-backup/themes/. /opt/bookstack/themes/ cd /opt/bookstack export COMPOSER_ALLOW_SUPERUSER=1 $STD composer install --no-dev From 4ec3af8e45bb9442d778237d5326ffc6d54eb35b 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, 14 May 2025 10:03:18 +0100 Subject: [PATCH 39/55] Update CHANGELOG.md (#4463) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 684ed7d5e..3537996bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,10 +20,20 @@ All LXC instances created using this repository come pre-installed with Midnight - Website: re-add documenso & some little bugfixes [@MickLesk](https://github.com/MickLesk) ([#4456](https://github.com/community-scripts/ProxmoxVE/pull/4456)) + - #### ๐Ÿž Bug Fixes + + - Bookstack: fix copy of themes/uploads/storage [@MickLesk](https://github.com/MickLesk) ([#4457](https://github.com/community-scripts/ProxmoxVE/pull/4457)) + - #### โœจ New Features - monitor-all: improvements - tag based filtering [@grizmin](https://github.com/grizmin) ([#4437](https://github.com/community-scripts/ProxmoxVE/pull/4437)) +### ๐Ÿงฐ Maintenance + + - #### ๐Ÿ“‚ Github + + - Add Github app for auto PR merge [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#4461](https://github.com/community-scripts/ProxmoxVE/pull/4461)) + ## 2025-05-13 ### ๐Ÿ†• New Scripts From 4762ea8fae270e5728e6fcba5d547c6138f8ad85 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, 14 May 2025 10:03:39 +0100 Subject: [PATCH 40/55] Update CHANGELOG.md (#4464) Co-authored-by: github-actions[bot] From 180e0039784cffc9580805422fe50432bd66afc1 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, 14 May 2025 13:31:31 +0200 Subject: [PATCH 41/55] Alpine-Rclone: Fix location of passwords file (#4465) * Fix install and update * Update --- ct/alpine-rclone.sh | 1 - frontend/public/json/alpine-rclone.json | 2 +- install/alpine-rclone-install.sh | 4 ++-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/ct/alpine-rclone.sh b/ct/alpine-rclone.sh index d3e7fd7c3..b3451ba24 100644 --- a/ct/alpine-rclone.sh +++ b/ct/alpine-rclone.sh @@ -28,7 +28,6 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit 1 fi - RELEASE=$(curl -s https://api.github.com/repos/rclone/rclone/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [ "${RELEASE}" != "$(cat /opt/rclone_version.txt)" ] || [ ! -f /opt/rclone_version.txt ]; then msg_info "Updating ${APP} LXC" diff --git a/frontend/public/json/alpine-rclone.json b/frontend/public/json/alpine-rclone.json index 9defea694..7bdc79a37 100644 --- a/frontend/public/json/alpine-rclone.json +++ b/frontend/public/json/alpine-rclone.json @@ -49,7 +49,7 @@ }, { "type": "info", - "text": "`htpasswd -b -B /opt/rclone/login.pwd newuser newuserpassword` to add more users." + "text": "`htpasswd -b -B /opt/login.pwd newuser newuserpassword` to add more users." } ] } diff --git a/install/alpine-rclone-install.sh b/install/alpine-rclone-install.sh index 78331880b..59368b973 100644 --- a/install/alpine-rclone-install.sh +++ b/install/alpine-rclone-install.sh @@ -27,7 +27,7 @@ curl -fsSL "https://github.com/rclone/rclone/releases/download/v${RELEASE}/rclon $STD unzip -j "$temp_file" '*/**' -d /opt/rclone cd /opt/rclone RCLONE_PASSWORD=$(head -c 16 /dev/urandom | xxd -p -c 16) -$STD htpasswd -cb -B login.pwd admin "$RCLONE_PASSWORD" +$STD htpasswd -cb -B /opt/login.pwd admin "$RCLONE_PASSWORD" { echo "rclone-Credentials" echo "rclone User Name: admin" @@ -42,7 +42,7 @@ cat </etc/init.d/rclone #!/sbin/openrc-run description="rclone Service" command="/opt/rclone/rclone" -command_args="rcd --rc-web-gui --rc-web-gui-no-open-browser --rc-addr :3000 --rc-htpasswd /opt/rclone/login.pwd" +command_args="rcd --rc-web-gui --rc-web-gui-no-open-browser --rc-addr :3000 --rc-htpasswd /opt/login.pwd" command_background="true" command_user="root" pidfile="/var/run/rclone.pid" From 38c7e747bc2c8c947792db9b691e3532265b8717 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, 14 May 2025 12:32:13 +0100 Subject: [PATCH 42/55] Update CHANGELOG.md (#4469) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3537996bb..7b0fd4c73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### ๐Ÿž Bug Fixes + - Alpine-Rclone: Fix location of passwords file [@tremor021](https://github.com/tremor021) ([#4465](https://github.com/community-scripts/ProxmoxVE/pull/4465)) - Bookstack: fix copy of themes/uploads/storage [@MickLesk](https://github.com/MickLesk) ([#4457](https://github.com/community-scripts/ProxmoxVE/pull/4457)) - #### โœจ New Features From 7d0a964918e685afea48324592a7426fec3a6753 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, 14 May 2025 14:07:30 +0200 Subject: [PATCH 43/55] Update versions.json (#4470) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 124 ++++++++++++++--------------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 90a308a7e..0b706383f 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,59 @@ [ + { + "name": "blakeblackshear/frigate", + "version": "v0.14.1", + "date": "2024-08-29T22:32:51Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.4.0p1-rc1", + "date": "2025-05-14T07:54:22Z" + }, + { + "name": "nzbgetcom/nzbget", + "version": "v25.0", + "date": "2025-05-12T09:12:04Z" + }, + { + "name": "morpheus65535/bazarr", + "version": "v1.5.2", + "date": "2025-05-11T16:40:55Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.1895", + "date": "2025-05-14T05:59:00Z" + }, + { + "name": "TandoorRecipes/recipes", + "version": "2.0.0-alpha-4", + "date": "2025-05-14T05:01:45Z" + }, + { + "name": "MediaBrowser/Emby.Releases", + "version": "4.8.11.0", + "date": "2025-03-10T06:39:11Z" + }, + { + "name": "ollama/ollama", + "version": "v0.6.9-rc0", + "date": "2025-05-10T18:57:30Z" + }, + { + "name": "esphome/esphome", + "version": "2025.4.2", + "date": "2025-05-11T22:18:43Z" + }, + { + "name": "cross-seed/cross-seed", + "version": "v6.12.4", + "date": "2025-05-11T11:41:32Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.12", + "date": "2025-04-20T19:22:17Z" + }, { "name": "netbox-community/netbox", "version": "v4.3.1", @@ -24,6 +79,11 @@ "version": "r6.0.23", "date": "2025-05-13T18:28:23Z" }, + { + "name": "keycloak/keycloak", + "version": "26.2.4", + "date": "2025-05-08T09:10:10Z" + }, { "name": "OctoPrint/OctoPrint", "version": "1.11.1", @@ -54,46 +114,16 @@ "version": "6.3.0-alpha.4", "date": "2025-05-13T11:18:29Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.12", - "date": "2025-04-20T19:22:17Z" - }, - { - "name": "cross-seed/cross-seed", - "version": "v6.12.4", - "date": "2025-05-11T11:41:32Z" - }, - { - "name": "Jackett/Jackett", - "version": "v0.22.1893", - "date": "2025-05-13T05:57:50Z" - }, { "name": "zitadel/zitadel", "version": "v2.65.9", "date": "2025-05-13T05:14:39Z" }, - { - "name": "ollama/ollama", - "version": "v0.6.9-rc0", - "date": "2025-05-10T18:57:30Z" - }, { "name": "go-gitea/gitea", "version": "v1.23.8", "date": "2025-05-12T22:40:50Z" }, - { - "name": "MediaBrowser/Emby.Releases", - "version": "4.8.11.0", - "date": "2025-03-10T06:39:11Z" - }, - { - "name": "keycloak/keycloak", - "version": "26.2.4", - "date": "2025-05-08T09:10:10Z" - }, { "name": "leiweibau/Pi.Alert", "version": "v2025-05-11", @@ -106,8 +136,8 @@ }, { "name": "runtipi/runtipi", - "version": "nightly", - "date": "2025-05-12T18:39:33Z" + "version": "v4.1.0", + "date": "2025-05-12T07:13:15Z" }, { "name": "coder/code-server", @@ -154,11 +184,6 @@ "version": "v10.7.2", "date": "2025-05-12T10:42:32Z" }, - { - "name": "nzbgetcom/nzbget", - "version": "v25.0", - "date": "2025-05-12T09:12:04Z" - }, { "name": "dgtlmoon/changedetection.io", "version": "0.49.17", @@ -174,16 +199,6 @@ "version": "v2.18.1", "date": "2025-05-12T07:16:12Z" }, - { - "name": "esphome/esphome", - "version": "2025.4.2", - "date": "2025-05-11T22:18:43Z" - }, - { - "name": "morpheus65535/bazarr", - "version": "v1.5.2", - "date": "2025-05-11T16:40:55Z" - }, { "name": "outline/outline", "version": "v0.84.0", @@ -334,11 +349,6 @@ "version": "v2.36.0", "date": "2025-05-07T11:54:14Z" }, - { - "name": "Checkmk/checkmk", - "version": "v2.2.0p42-rc1", - "date": "2025-05-07T11:50:30Z" - }, { "name": "openobserve/openobserve", "version": "v0.14.7", @@ -489,11 +499,6 @@ "version": "v2.0.111", "date": "2025-05-03T16:25:30Z" }, - { - "name": "blakeblackshear/frigate", - "version": "v0.14.1", - "date": "2024-08-29T22:32:51Z" - }, { "name": "kimai/kimai", "version": "2.33.0", @@ -629,11 +634,6 @@ "version": "v3.1.9", "date": "2025-03-01T02:24:33Z" }, - { - "name": "TandoorRecipes/recipes", - "version": "1.5.34", - "date": "2025-03-27T16:17:38Z" - }, { "name": "openhab/openhab-core", "version": "4.3.5", From e24636133dd734e63feae9ecb6effb2841fd5964 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, 14 May 2025 14:28:37 +0200 Subject: [PATCH 44/55] asterisk (#4468) * 'Add new script' * Update asterisk.json * Update asterisk.json * Update asterisk-install.sh * Update asterisk.sh * Update asterisk-install.sh * Update asterisk-install.sh * Update asterisk.sh * noob STD service call --------- 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: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> --- ct/asterisk.sh | 35 +++++++++++++++++++ ct/headers/asterisk | 6 ++++ frontend/public/json/asterisk.json | 33 ++++++++++++++++++ install/asterisk-install.sh | 56 ++++++++++++++++++++++++++++++ 4 files changed, 130 insertions(+) create mode 100644 ct/asterisk.sh create mode 100644 ct/headers/asterisk create mode 100644 frontend/public/json/asterisk.json create mode 100644 install/asterisk-install.sh diff --git a/ct/asterisk.sh b/ct/asterisk.sh new file mode 100644 index 000000000..40fdb64fe --- /dev/null +++ b/ct/asterisk.sh @@ -0,0 +1,35 @@ +#!/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: michelroegl-brunner +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://asterisk.org/ + +APP="Asterisk" +var_tags="${var_tags:-telephone;pbx}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-2048}" +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 + msg_error "No Update function provided for ${APP} LXC" + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" diff --git a/ct/headers/asterisk b/ct/headers/asterisk new file mode 100644 index 000000000..ed4356862 --- /dev/null +++ b/ct/headers/asterisk @@ -0,0 +1,6 @@ + ___ __ _ __ + / | _____/ /____ _____(_)____/ /__ + / /| | / ___/ __/ _ \/ ___/ / ___/ //_/ + / ___ |(__ ) /_/ __/ / / (__ ) ,< +/_/ |_/____/\__/\___/_/ /_/____/_/|_| + diff --git a/frontend/public/json/asterisk.json b/frontend/public/json/asterisk.json new file mode 100644 index 000000000..dc27574f2 --- /dev/null +++ b/frontend/public/json/asterisk.json @@ -0,0 +1,33 @@ +{ + "name": "Asterisk", + "slug": "asterisk", + "categories": [0], + "date_created": "2025-05-14", + "type": "ct", + "updateable": false, + "privileged": false, + "interface_port": null, + "documentation": "https://docs.asterisk.org/", + "config_path": "/etc/asterisk", + "website": "https://asterisk.org/", + "logo": "https://docs.asterisk.org/favicon.ico", + "description": "Asterisk is an open-source framework for building communications applications, most commonly used as a phone system (PBX). Developed by Digium (now part of Sangoma), it turns a standard computer into a powerful telephony server.", + "install_methods": [ + { + "type": "default", + "script": "ct/asterisk.sh", + "resources": { + "cpu": 2, + "ram": 2048, + "hdd": 4, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/asterisk-install.sh b/install/asterisk-install.sh new file mode 100644 index 000000000..adb53406e --- /dev/null +++ b/install/asterisk-install.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: michelroegl-brunner +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://asterisk.org + +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 \ + libsrtp2-dev \ + build-essential \ + libedit-dev \ + uuid-dev \ + libjansson-dev \ + libxml2-dev \ + libsqlite3-dev +msg_ok "Installed Dependencies" + +msg_info "Downloading Asterisk" +RELEASE=$(curl -fsSL https://downloads.asterisk.org/pub/telephony/asterisk/ | grep -o 'asterisk-[0-9]\+-current\.tar\.gz' | sort -V | tail -n1) +temp_file=$(mktemp) +curl -fsSL "https://downloads.asterisk.org/pub/telephony/asterisk/${RELEASE}" -o "$temp_file" +mkdir -p /opt/asterisk +tar zxf "$temp_file" --strip-components=1 -C /opt/asterisk +cd /opt/asterisk +msg_ok "Downloaded Asterisk" + +msg_info "Installing Asterisk" +$STD ./contrib/scripts/install_prereq install +$STD ./configure +$STD make -j$(nproc) +$STD make install +$STD make config +$STD make install-logrotate +$STD make samples +mkdir -p /etc/radiusclient-ng/ +ln /etc/radcli/radiusclient.conf /etc/radiusclient-ng/radiusclient.conf +systemctl enable -q --now asterisk +msg_ok "Installed Asterisk" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -f "$temp_file" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From b4d98b1dd2c955794ba97fd065c9ff5951675937 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, 14 May 2025 16:07:57 +0200 Subject: [PATCH 45/55] odoo (#4477) * 'Add new script' * Update ct/odoo.sh Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> * Update odoo.sh --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> Co-authored-by: Michel Roegl-Brunner <73236783+michelroegl-brunner@users.noreply.github.com> --- ct/headers/odoo | 6 +++ ct/odoo.sh | 71 ++++++++++++++++++++++++++++++++ frontend/public/json/odoo.json | 40 ++++++++++++++++++ install/odoo-install.sh | 74 ++++++++++++++++++++++++++++++++++ 4 files changed, 191 insertions(+) create mode 100644 ct/headers/odoo create mode 100644 ct/odoo.sh create mode 100644 frontend/public/json/odoo.json create mode 100644 install/odoo-install.sh diff --git a/ct/headers/odoo b/ct/headers/odoo new file mode 100644 index 000000000..e375aea1d --- /dev/null +++ b/ct/headers/odoo @@ -0,0 +1,6 @@ + ____ __ + / __ \____/ /___ ____ + / / / / __ / __ \/ __ \ +/ /_/ / /_/ / /_/ / /_/ / +\____/\__,_/\____/\____/ + diff --git a/ct/odoo.sh b/ct/odoo.sh new file mode 100644 index 000000000..0451c9478 --- /dev/null +++ b/ct/odoo.sh @@ -0,0 +1,71 @@ +#!/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://github.com/odoo/odoo + +APP="Odoo" +var_tags="${var_tags:-erp}" +var_disk="${var_disk:-6}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-2048}" +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 /etc/odoo/odoo.conf ]]; then + msg_error "No ${APP} Installation Found!" + exit 1 + fi + RELEASE=$(curl -fsSL https://nightly.odoo.com/ | grep -oE 'href="[0-9]+\.[0-9]+/nightly"' | head -n1 | cut -d'"' -f2 | cut -d/ -f1) + LATEST_VERSION=$(curl -fsSL "https://nightly.odoo.com/${RELEASE}/nightly/deb/" | + grep -oP "odoo_${RELEASE}\.\d+_all\.deb" | + sed -E "s/odoo_(${RELEASE}\.[0-9]+)_all\.deb/\1/" | + sort -V | + tail -n1) + + if [[ "${LATEST_VERSION}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + msg_info "Stopping ${APP} service" + systemctl stop odoo + msg_ok "Stopped ${APP}" + + msg_info "Updating ${APP} to ${LATEST_VERSION}" + curl -fsSL https://nightly.odoo.com/${RELEASE}/nightly/deb/odoo_${RELEASE}.latest_all.deb -o /opt/odoo.deb + $STD apt install -y /opt/odoo.deb + echo "$LATEST_VERSION" >/opt/${APP}_version.txt + msg_ok "Updated ${APP} to ${LATEST_VERSION}" + + msg_info "Starting ${APP} service" + systemctl start odoo + msg_ok "Started ${APP}" + + msg_info "Cleaning Up" + rm -f /opt/odoo.deb + msg_ok "Cleaned" + + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${LATEST_VERSION}" + 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}:8069${CL}" diff --git a/frontend/public/json/odoo.json b/frontend/public/json/odoo.json new file mode 100644 index 000000000..3c1180456 --- /dev/null +++ b/frontend/public/json/odoo.json @@ -0,0 +1,40 @@ +{ + "name": "Odoo", + "slug": "odoo", + "categories": [ + 25 + ], + "date_created": "2025-05-14", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 8069, + "documentation": "https://www.odoo.com/en_EN/page/docs", + "website": "https://www.odoo.com/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/odoo.svg", + "config_path": "/etc/odoo/odoo.conf", + "description": "Odoo is a comprehensive open-source business platform made up of modular apps that cover key areas such as CRM, accounting, inventory, sales, project management, HR, helpdesk, and e-commerce. All modules are tightly integrated, allowing businesses to fully digitize and automate their workflows. Its modular design makes it suitable for both small companies and large enterprises, with flexibility to adapt to different industries. Odoo combines user-friendliness with powerful functionality, offering a unified solution for managing a wide range of business operations.", + "install_methods": [ + { + "type": "default", + "script": "ct/odoo.sh", + "resources": { + "cpu": 2, + "ram": 2048, + "hdd": 6, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": "admin", + "password": "admin" + }, + "notes": [ + { + "text": "Database Credentials: `cat ~/odoo.creds`", + "type": "info" + } + ] +} diff --git a/install/odoo-install.sh b/install/odoo-install.sh new file mode 100644 index 000000000..cf75acf67 --- /dev/null +++ b/install/odoo-install.sh @@ -0,0 +1,74 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: MickLesk (CanbiZ) +# License: MIT | https://github.com/tteck/Proxmox/raw/main/LICENSE +# Source: https://github.com/odoo/odoo + +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 \ + build-essential \ + make +msg_ok "Installed Dependencies" + +RELEASE=$(curl -fsSL https://nightly.odoo.com/ | grep -oE 'href="[0-9]+\.[0-9]+/nightly"' | head -n1 | cut -d'"' -f2 | cut -d/ -f1) +LATEST_VERSION=$(curl -fsSL "https://nightly.odoo.com/${RELEASE}/nightly/deb/" | + grep -oP "odoo_${RELEASE}\.\d+_all\.deb" | + sed -E "s/odoo_(${RELEASE}\.[0-9]+)_all\.deb/\1/" | + sort -V | + tail -n1) + +msg_info "Setup Odoo $RELEASE" +curl -fsSL https://nightly.odoo.com/${RELEASE}/nightly/deb/odoo_${RELEASE}.latest_all.deb -o /opt/odoo.deb +$STD apt install -y /opt/odoo.deb +msg_ok "Setup Odoo $RELEASE" + +msg_info "Setup PostgreSQL Database" +DB_NAME="odoo" +DB_USER="odoo_usr" +DB_PASS="$(openssl rand -base64 18 | cut -c1-13)" +$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME;" +$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH PASSWORD '$DB_PASS';" +$STD sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;" +$STD sudo -u postgres psql -c "ALTER DATABASE $DB_NAME OWNER TO $DB_USER;" +$STD sudo -u postgres psql -c "ALTER USER $DB_USER WITH SUPERUSER;" +{ + echo "Odoo-Credentials" + echo -e "Odoo Database User: $DB_USER" + echo -e "Odoo Database Password: $DB_PASS" + echo -e "Odoo Database Name: $DB_NAME" +} >>~/odoo.creds +msg_ok "Setup PostgreSQL" + +msg_info "Configuring Odoo" +sed -i \ + -e "s|^;*db_host *=.*|db_host = localhost|" \ + -e "s|^;*db_port *=.*|db_port = 5432|" \ + -e "s|^;*db_user *=.*|db_user = $DB_USER|" \ + -e "s|^;*db_password *=.*|db_password = $DB_PASS|" \ + /etc/odoo/odoo.conf +$STD sudo -u odoo odoo -c /etc/odoo/odoo.conf -d odoo -i base --stop-after-init +systemctl restart odoo +echo "${LATEST_VERSION}" >/opt/${APPLICATION}_version.txt +msg_ok "Configured Odoo" + +msg_info "Restarting Odoo" + +msg_ok "Restarted Odoo" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -f /opt/odoo.deb +$STD apt-get autoremove +$STD apt-get autoclean +msg_ok "Cleaned" From e17f7aa6f13c5d4163d10f689bdfb555574589d1 Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Wed, 14 May 2025 16:08:21 +0200 Subject: [PATCH 46/55] fix fetch_release_and_deploy (#4478) --- misc/tools.func | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/misc/tools.func b/misc/tools.func index cf80f691c..1aa597733 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -568,6 +568,7 @@ fetch_and_deploy_gh_release() { fi tag=$(echo "$api_response" | jq -r '.tag_name // .name // empty') + [[ "$tag" =~ ^v[0-9] ]] && tag="${tag:1}" version="${tag#v}" if [[ -z "$tag" ]]; then @@ -586,8 +587,8 @@ fetch_and_deploy_gh_release() { fi # Version comparison (if we already have this version, skip) - if [[ "$current_version" == "$version" ]]; then - $STD msg_info "Already running the latest version ($version). Skipping update." + if [[ "$current_version" == "$tag" ]]; then + $STD msg_info "Already running the latest version ($tag). Skipping update." return 0 fi @@ -650,8 +651,15 @@ fetch_and_deploy_gh_release() { # Final fallback to GitHub source tarball if [[ -z "$url" ]]; then - url="https://github.com/$repo/archive/refs/tags/$version.tar.gz" - $STD msg_info "Trying GitHub source tarball fallback: $url" + # Use tarball_url directly from API response instead of constructing our own URL + url=$(echo "$api_response" | jq -r '.tarball_url // empty') + + # If tarball_url is empty for some reason, fall back to a constructed URL as before + if [[ -z "$url" ]]; then + url="https://github.com/$repo/archive/refs/tags/v$version.tar.gz" + fi + + $STD msg_info "Using GitHub source tarball: $url" fi local filename="${url##*/}" From 110b64df85aaab9c71bb12713257fea4d8e08e4d 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, 14 May 2025 15:08:46 +0100 Subject: [PATCH 47/55] Update CHANGELOG.md (#4479) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b0fd4c73..b6ac2d88b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,14 +16,20 @@ All LXC instances created using this repository come pre-installed with Midnight ## 2025-05-14 +### ๐Ÿ†• New Scripts + + - odoo ([#4477](https://github.com/community-scripts/ProxmoxVE/pull/4477)) +- asterisk ([#4468](https://github.com/community-scripts/ProxmoxVE/pull/4468)) + ### ๐Ÿš€ Updated Scripts - - Website: re-add documenso & some little bugfixes [@MickLesk](https://github.com/MickLesk) ([#4456](https://github.com/community-scripts/ProxmoxVE/pull/4456)) + - fix: fetch_release_and_deploy function [@CrazyWolf13](https://github.com/CrazyWolf13) ([#4478](https://github.com/community-scripts/ProxmoxVE/pull/4478)) +- Website: re-add documenso & some little bugfixes [@MickLesk](https://github.com/MickLesk) ([#4456](https://github.com/community-scripts/ProxmoxVE/pull/4456)) - #### ๐Ÿž Bug Fixes - - Alpine-Rclone: Fix location of passwords file [@tremor021](https://github.com/tremor021) ([#4465](https://github.com/community-scripts/ProxmoxVE/pull/4465)) - Bookstack: fix copy of themes/uploads/storage [@MickLesk](https://github.com/MickLesk) ([#4457](https://github.com/community-scripts/ProxmoxVE/pull/4457)) + - Alpine-Rclone: Fix location of passwords file [@tremor021](https://github.com/tremor021) ([#4465](https://github.com/community-scripts/ProxmoxVE/pull/4465)) - #### โœจ New Features From e3860c065e430ce2a89f62dbbc47b3f4f08c6422 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, 14 May 2025 15:09:05 +0100 Subject: [PATCH 48/55] Update CHANGELOG.md (#4480) Co-authored-by: github-actions[bot] From c30f96912dce0a7162838bb0987c31b74f90427f Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Wed, 14 May 2025 16:52:46 +0200 Subject: [PATCH 49/55] quickfix: fix homarr folder (#4481) --- ct/homarr.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/homarr.sh b/ct/homarr.sh index dcb00b1e5..7af7fb52d 100644 --- a/ct/homarr.sh +++ b/ct/homarr.sh @@ -5,7 +5,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://homarr.dev/ -APP="Homarr" +APP="homarr" var_tags="${var_tags:-arr;dashboard}" var_cpu="${var_cpu:-2}" var_ram="${var_ram:-4096}" From 4e3144503863ee43293fdbdb72bc9906cbad5c43 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, 14 May 2025 16:56:33 +0200 Subject: [PATCH 50/55] Update .app files (#4482) Co-authored-by: GitHub Actions --- ct/headers/homarr | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ct/headers/homarr b/ct/headers/homarr index 1bd7a939e..99bf5100f 100644 --- a/ct/headers/homarr +++ b/ct/headers/homarr @@ -1,6 +1,6 @@ - __ __ - / / / /___ ____ ___ ____ ___________ - / /_/ / __ \/ __ `__ \/ __ `/ ___/ ___/ - / __ / /_/ / / / / / / /_/ / / / / + __ + / /_ ____ ____ ___ ____ ___________ + / __ \/ __ \/ __ `__ \/ __ `/ ___/ ___/ + / / / / /_/ / / / / / / /_/ / / / / /_/ /_/\____/_/ /_/ /_/\__,_/_/ /_/ From 12265b92e70a4a4c6b71f1c993ab2e05dadfa7df Mon Sep 17 00:00:00 2001 From: Maciej Matczak Date: Wed, 14 May 2025 19:37:38 +0200 Subject: [PATCH 51/55] Add make installation dependency (#4485) --- install/actualbudget-install.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/install/actualbudget-install.sh b/install/actualbudget-install.sh index ffecc8889..51843f6c7 100644 --- a/install/actualbudget-install.sh +++ b/install/actualbudget-install.sh @@ -13,6 +13,11 @@ setting_up_container network_check update_os +msg_info "Installing Dependencies" +$STD apt-get install -y \ + make +msg_ok "Installed Dependencies" + 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) }') From c36000a6aae86422a8305272414d6a9f4570b1d3 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, 14 May 2025 18:38:06 +0100 Subject: [PATCH 52/55] Update CHANGELOG.md (#4488) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6ac2d88b..d3ab3dda9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ All LXC instances created using this repository come pre-installed with Midnight - #### ๐Ÿž Bug Fixes + - Add make installation dependency to Actual Budget script [@maciejmatczak](https://github.com/maciejmatczak) ([#4485](https://github.com/community-scripts/ProxmoxVE/pull/4485)) - Bookstack: fix copy of themes/uploads/storage [@MickLesk](https://github.com/MickLesk) ([#4457](https://github.com/community-scripts/ProxmoxVE/pull/4457)) - Alpine-Rclone: Fix location of passwords file [@tremor021](https://github.com/tremor021) ([#4465](https://github.com/community-scripts/ProxmoxVE/pull/4465)) From 3daf3c3325f2959ed84a321458ec0a4117e058c9 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 14 May 2025 22:11:10 +0200 Subject: [PATCH 53/55] HomeAssistant-Core: add Deprecation-Warning for August 2025 (#4489) --- frontend/public/json/homeassistant-core.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/homeassistant-core.json b/frontend/public/json/homeassistant-core.json index c4c05e241..f157c0385 100644 --- a/frontend/public/json/homeassistant-core.json +++ b/frontend/public/json/homeassistant-core.json @@ -41,7 +41,7 @@ "type": "warning" }, { - "text": "Use Ubuntu 24.10 ONLY", + "text": "Deprecation-Warning: This Core-based setup will be deprecated by August 2025. Use Home Assistant OS is strongly recommended to ensure long-term stability and updates.", "type": "warning" }, { From 56f8306960501af5f7f5a420fde4799996c69f4e 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, 15 May 2025 01:11:05 +0100 Subject: [PATCH 54/55] Update CHANGELOG.md (#4490) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d3ab3dda9..677fcb368 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ 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-05-15 + ## 2025-05-14 ### ๐Ÿ†• New Scripts From 369265a6d59286ec46da00f8db21077b67d5f363 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, 15 May 2025 02:13:53 +0200 Subject: [PATCH 55/55] Update versions.json (#4492) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 174 ++++++++++++++--------------- 1 file changed, 87 insertions(+), 87 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 0b706383f..f3b22aedc 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,19 +1,99 @@ [ { - "name": "blakeblackshear/frigate", - "version": "v0.14.1", - "date": "2024-08-29T22:32:51Z" + "name": "advplyr/audiobookshelf", + "version": "v2.22.0", + "date": "2025-05-14T22:30:59Z" + }, + { + "name": "glanceapp/glance", + "version": "v0.8.2", + "date": "2025-05-14T21:34:41Z" + }, + { + "name": "Ombi-app/Ombi", + "version": "v4.47.1", + "date": "2025-01-05T21:14:23Z" + }, + { + "name": "Luligu/matterbridge", + "version": "3.0.2", + "date": "2025-05-14T20:38:06Z" + }, + { + "name": "NodeBB/NodeBB", + "version": "v4.4.0", + "date": "2025-05-14T20:36:37Z" + }, + { + "name": "esphome/esphome", + "version": "2025.4.2", + "date": "2025-05-11T22:18:43Z" + }, + { + "name": "coder/code-server", + "version": "v4.100.1", + "date": "2025-05-14T18:08:16Z" + }, + { + "name": "MediaBrowser/Emby.Releases", + "version": "4.8.11.0", + "date": "2025-03-10T06:39:11Z" }, { "name": "Checkmk/checkmk", - "version": "v2.4.0p1-rc1", - "date": "2025-05-14T07:54:22Z" + "version": "v2.3.0p32+security", + "date": "2025-05-14T15:37:55Z" + }, + { + "name": "Athou/commafeed", + "version": "5.9.0", + "date": "2025-05-14T15:29:48Z" + }, + { + "name": "juanfont/headscale", + "version": "v0.26.0", + "date": "2025-05-14T15:12:14Z" + }, + { + "name": "mongodb/mongo", + "version": "r6.0.24-alpha0", + "date": "2025-05-14T14:52:41Z" + }, + { + "name": "motioneye-project/motioneye", + "version": "0.42.1", + "date": "2020-06-07T07:27:04Z" + }, + { + "name": "zwave-js/zwave-js-ui", + "version": "v10.5.0", + "date": "2025-05-14T13:21:21Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.12", + "date": "2025-04-20T19:22:17Z" + }, + { + "name": "jenkinsci/jenkins", + "version": "jenkins-2.510", + "date": "2025-05-13T18:33:42Z" }, { "name": "nzbgetcom/nzbget", "version": "v25.0", "date": "2025-05-12T09:12:04Z" }, + { + "name": "wazuh/wazuh", + "version": "coverity-w20-4.13.0", + "date": "2025-05-14T12:06:20Z" + }, + { + "name": "blakeblackshear/frigate", + "version": "v0.14.1", + "date": "2024-08-29T22:32:51Z" + }, { "name": "morpheus65535/bazarr", "version": "v1.5.2", @@ -29,56 +109,26 @@ "version": "2.0.0-alpha-4", "date": "2025-05-14T05:01:45Z" }, - { - "name": "MediaBrowser/Emby.Releases", - "version": "4.8.11.0", - "date": "2025-03-10T06:39:11Z" - }, { "name": "ollama/ollama", "version": "v0.6.9-rc0", "date": "2025-05-10T18:57:30Z" }, - { - "name": "esphome/esphome", - "version": "2025.4.2", - "date": "2025-05-11T22:18:43Z" - }, { "name": "cross-seed/cross-seed", "version": "v6.12.4", "date": "2025-05-11T11:41:32Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.12", - "date": "2025-04-20T19:22:17Z" - }, { "name": "netbox-community/netbox", "version": "v4.3.1", "date": "2025-05-13T19:45:00Z" }, - { - "name": "glanceapp/glance", - "version": "v0.8.1", - "date": "2025-05-13T19:42:42Z" - }, { "name": "pocketbase/pocketbase", "version": "v0.28.1", "date": "2025-05-13T18:45:47Z" }, - { - "name": "jenkinsci/jenkins", - "version": "jenkins-2.510", - "date": "2025-05-13T18:33:42Z" - }, - { - "name": "mongodb/mongo", - "version": "r6.0.23", - "date": "2025-05-13T18:28:23Z" - }, { "name": "keycloak/keycloak", "version": "26.2.4", @@ -136,13 +186,8 @@ }, { "name": "runtipi/runtipi", - "version": "v4.1.0", - "date": "2025-05-12T07:13:15Z" - }, - { - "name": "coder/code-server", - "version": "v4.100.0", - "date": "2025-05-12T18:23:47Z" + "version": "nightly", + "date": "2025-05-12T18:39:33Z" }, { "name": "neo4j/neo4j", @@ -154,11 +199,6 @@ "version": "v0.24.3", "date": "2025-05-12T15:23:21Z" }, - { - "name": "NodeBB/NodeBB", - "version": "v2.8.18", - "date": "2025-05-12T15:08:09Z" - }, { "name": "n8n-io/n8n", "version": "n8n@1.91.3", @@ -239,11 +279,6 @@ "version": "v0.46.1", "date": "2025-05-10T15:39:10Z" }, - { - "name": "juanfont/headscale", - "version": "v0.25.1", - "date": "2025-02-25T17:30:48Z" - }, { "name": "pelican-dev/wings", "version": "v1.0.0-beta13", @@ -284,21 +319,11 @@ "version": "v25.02.4", "date": "2025-05-08T15:03:17Z" }, - { - "name": "wazuh/wazuh", - "version": "v4.12.0", - "date": "2025-05-08T13:27:46Z" - }, { "name": "apache/tomcat", "version": "10.1.41", "date": "2025-05-08T12:45:44Z" }, - { - "name": "zwave-js/zwave-js-ui", - "version": "v10.4.2", - "date": "2025-05-08T08:11:27Z" - }, { "name": "semaphoreui/semaphore", "version": "v2.14.10", @@ -374,11 +399,6 @@ "version": "v1.12.1rc0", "date": "2025-05-06T20:56:30Z" }, - { - "name": "Athou/commafeed", - "version": "5.8.0", - "date": "2025-05-06T18:33:07Z" - }, { "name": "sysadminsmedia/homebox", "version": "v0.19.0", @@ -399,11 +419,6 @@ "version": "v0.107.61", "date": "2025-04-22T12:42:26Z" }, - { - "name": "Luligu/matterbridge", - "version": "3.0.1", - "date": "2025-05-06T10:24:43Z" - }, { "name": "syncthing/syncthing", "version": "v1.29.6", @@ -529,11 +544,6 @@ "version": "v3.5.4", "date": "2025-05-02T13:42:06Z" }, - { - "name": "motioneye-project/motioneye", - "version": "0.42.1", - "date": "2020-06-07T07:27:04Z" - }, { "name": "emqx/emqx", "version": "e5.9.0", @@ -614,11 +624,6 @@ "version": "v0.24.1", "date": "2025-04-28T08:21:37Z" }, - { - "name": "advplyr/audiobookshelf", - "version": "v2.21.0", - "date": "2025-04-27T16:31:14Z" - }, { "name": "gotify/server", "version": "v2.6.3", @@ -739,11 +744,6 @@ "version": "15.2", "date": "2025-04-14T15:37:12Z" }, - { - "name": "Ombi-app/Ombi", - "version": "v4.47.1", - "date": "2025-01-05T21:14:23Z" - }, { "name": "Tautulli/Tautulli", "version": "v2.15.2",