From 7bf69cbd07d5036459fc0c6384879a7edfccb28e Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 28 Jul 2025 11:36:14 +0200 Subject: [PATCH 001/148] [core]: create_lxc: better handling, fix lock handling, improve template validation & storage selection UX (#6296) * Update create_lxc.sh * Update create_lxc.sh * Update create_lxc.sh --- misc/create_lxc.sh | 127 +++++++++++++++++++++++---------------------- 1 file changed, 64 insertions(+), 63 deletions(-) diff --git a/misc/create_lxc.sh b/misc/create_lxc.sh index 52c43cdd7..45ee854b2 100644 --- a/misc/create_lxc.sh +++ b/misc/create_lxc.sh @@ -32,7 +32,6 @@ function on_exit() { } function error_handler() { - local exit_code="$?" local line_number="$1" local command="$2" @@ -51,6 +50,14 @@ function on_terminate() { exit 143 } +function exit_script() { + clear + printf "\e[?25h" + echo -e "\n${CROSS}${RD}User exited script${CL}\n" + kill 0 + exit 1 +} + function check_storage_support() { local CONTENT="$1" local -a VALID_STORAGES=() @@ -64,21 +71,7 @@ function check_storage_support() { [[ ${#VALID_STORAGES[@]} -gt 0 ]] } -# This checks for the presence of valid Container Storage and Template Storage locations -msg_info "Validating Storage" -if ! check_storage_support "rootdir"; then - - msg_error "No valid storage found for 'rootdir' (Container)." - exit 1 -fi -if ! check_storage_support "vztmpl"; then - - msg_error "No valid storage found for 'vztmpl' (Template)." - exit 1 -fi -msg_ok "Validated Storage (rootdir / vztmpl)." - -# This function is used to select the storage class and determine the corresponding storage content type and label. +# This function selects a storage pool for a given content type (e.g., rootdir, vztmpl). function select_storage() { local CLASS=$1 CONTENT CONTENT_LABEL @@ -113,8 +106,20 @@ function select_storage() { ;; esac -local -a MENU + # Check for preset STORAGE variable + if [ "$CONTENT" = "rootdir" ] && [ -n "${STORAGE:-}" ]; then + if pvesm status -content "$CONTENT" | awk 'NR>1 {print $1}' | grep -qx "$STORAGE"; then + STORAGE_RESULT="$STORAGE" + msg_info "Using preset storage: $STORAGE_RESULT for $CONTENT_LABEL" + return 0 + else + msg_error "Preset storage '$STORAGE' is not valid for content type '$CONTENT'." + return 2 + fi + fi + local -A STORAGE_MAP + local -a MENU local COL_WIDTH=0 while read -r TAG TYPE _ TOTAL USED FREE _; do @@ -135,17 +140,23 @@ local -a MENU if [ $((${#MENU[@]} / 3)) -eq 1 ]; then STORAGE_RESULT="${STORAGE_MAP[${MENU[0]}]}" + STORAGE_INFO="${MENU[1]}" return 0 fi local WIDTH=$((COL_WIDTH + 42)) while true; do - local DISPLAY_SELECTED=$(whiptail --backtitle "Proxmox VE Helper Scripts" \ + local DISPLAY_SELECTED + DISPLAY_SELECTED=$(whiptail --backtitle "Proxmox VE Helper Scripts" \ --title "Storage Pools" \ --radiolist "Which storage pool for ${CONTENT_LABEL,,}?\n(Spacebar to select)" \ 16 "$WIDTH" 6 "${MENU[@]}" 3>&1 1>&2 2>&3) - [[ $? -ne 0 ]] && return 3 + # Cancel or ESC + [[ $? -ne 0 ]] && exit_script + + # Strip trailing whitespace or newline (important for storages like "storage (dir)") + DISPLAY_SELECTED=$(sed 's/[[:space:]]*$//' <<<"$DISPLAY_SELECTED") if [[ -z "$DISPLAY_SELECTED" || -z "${STORAGE_MAP[$DISPLAY_SELECTED]+_}" ]]; then whiptail --msgbox "No valid storage selected. Please try again." 8 58 @@ -153,6 +164,12 @@ local -a MENU fi STORAGE_RESULT="${STORAGE_MAP[$DISPLAY_SELECTED]}" + for ((i = 0; i < ${#MENU[@]}; i += 3)); do + if [[ "${MENU[$i]}" == "$DISPLAY_SELECTED" ]]; then + STORAGE_INFO="${MENU[$i + 1]}" + break + fi + done return 0 done } @@ -181,45 +198,22 @@ if qm status "$CTID" &>/dev/null || pct status "$CTID" &>/dev/null; then exit 206 fi -# DEFAULT_FILE="/usr/local/community-scripts/default_storage" -# if [[ -f "$DEFAULT_FILE" ]]; then -# source "$DEFAULT_FILE" -# if [[ -n "$TEMPLATE_STORAGE" && -n "$CONTAINER_STORAGE" ]]; then -# msg_info "Using default storage configuration from: $DEFAULT_FILE" -# msg_ok "Template Storage: ${BL}$TEMPLATE_STORAGE${CL} ${GN}|${CL} Container Storage: ${BL}$CONTAINER_STORAGE${CL}" -# else -# msg_warn "Default storage file exists but is incomplete – falling back to manual selection" -# TEMPLATE_STORAGE=$(select_storage template) -# msg_ok "Using ${BL}$TEMPLATE_STORAGE${CL} ${GN}for Template Storage." -# CONTAINER_STORAGE=$(select_storage container) -# msg_ok "Using ${BL}$CONTAINER_STORAGE${CL} ${GN}for Container Storage." -# fi -# else -# # TEMPLATE STORAGE SELECTION -# # Template Storage -# while true; do -# TEMPLATE_STORAGE=$(select_storage template) -# if [[ -n "$TEMPLATE_STORAGE" ]]; then -# msg_ok "Using ${BL}$TEMPLATE_STORAGE${CL} ${GN}for Template Storage." -# break -# fi -# msg_warn "No valid template storage selected. Please try again." -# done - -# while true; do -# CONTAINER_STORAGE=$(select_storage container) -# if [[ -n "$CONTAINER_STORAGE" ]]; then -# msg_ok "Using ${BL}$CONTAINER_STORAGE${CL} ${GN}for Container Storage." -# break -# fi -# msg_warn "No valid container storage selected. Please try again." -# done - -# fi +# This checks for the presence of valid Container Storage and Template Storage locations +msg_info "Validating Storage" +if ! check_storage_support "rootdir"; then + msg_error "No valid storage found for 'rootdir' (Container)." + exit 1 +fi +if ! check_storage_support "vztmpl"; then + msg_error "No valid storage found for 'vztmpl' (Template)." + exit 1 +fi +msg_ok "Valid Storage Found" while true; do if select_storage template; then TEMPLATE_STORAGE="$STORAGE_RESULT" + TEMPLATE_STORAGE_INFO="$STORAGE_INFO" break fi done @@ -227,9 +221,11 @@ done while true; do if select_storage container; then CONTAINER_STORAGE="$STORAGE_RESULT" + CONTAINER_STORAGE_INFO="$STORAGE_INFO" break fi done +msg_ok "Validated Storage | Container: ${BL}$CONTAINER_STORAGE${CL} ($CONTAINER_STORAGE_INFO)" # Check free space on selected container storage STORAGE_FREE=$(pvesm status | awk -v s="$CONTAINER_STORAGE" '$1 == s { print $6 }') @@ -276,28 +272,34 @@ fi TEMPLATE="${TEMPLATES[-1]}" TEMPLATE_PATH="$(pvesm path $TEMPLATE_STORAGE:vztmpl/$TEMPLATE 2>/dev/null || echo "/var/lib/vz/template/cache/$TEMPLATE")" -# Check if template exists and is valid -if ! pveam list "$TEMPLATE_STORAGE" | grep -q "$TEMPLATE" || ! zstdcat "$TEMPLATE_PATH" | tar -tf - >/dev/null 2>&1; then - msg_warn "Template $TEMPLATE not found or appears to be corrupted. Re-downloading." +TEMPLATE_VALID=1 +if ! pveam list "$TEMPLATE_STORAGE" | grep -q "$TEMPLATE"; then + TEMPLATE_VALID=0 +elif [ ! -s "$TEMPLATE_PATH" ]; then + TEMPLATE_VALID=0 +elif ! tar --use-compress-program=zstdcat -tf "$TEMPLATE_PATH" >/dev/null 2>&1; then + TEMPLATE_VALID=0 +fi +if [ "$TEMPLATE_VALID" -eq 0 ]; then + msg_warn "Template $TEMPLATE not found or appears to be corrupted. Re-downloading." [[ -f "$TEMPLATE_PATH" ]] && rm -f "$TEMPLATE_PATH" for attempt in {1..3}; do msg_info "Attempt $attempt: Downloading LXC template..." - if pveam download "$TEMPLATE_STORAGE" "$TEMPLATE" >/dev/null 2>&1; then msg_ok "Template download successful." break fi - if [ $attempt -eq 3 ]; then - msg_error "Failed after 3 attempts. Please check your Proxmox host’s internet access or manually run:\n pveam download $TEMPLATE_STORAGE $TEMPLATE" + msg_error "Failed after 3 attempts. Please check network access or manually run:\n pveam download $TEMPLATE_STORAGE $TEMPLATE" exit 208 fi - sleep $((attempt * 5)) done fi +msg_ok "LXC Template '$TEMPLATE' is ready to use." + msg_info "Creating LXC Container" # Check and fix subuid/subgid grep -q "root:100000:65536" /etc/subuid || echo "root:100000:65536" >>/etc/subuid @@ -309,7 +311,7 @@ PCT_OPTIONS=(${PCT_OPTIONS[@]:-${DEFAULT_PCT_OPTIONS[@]}}) # Secure creation of the LXC container with lock and template check lockfile="/tmp/template.${TEMPLATE}.lock" -exec 9>"$lockfile" >/dev/null 2>&1 || { +exec 9>"$lockfile" || { msg_error "Failed to create lock file '$lockfile'." exit 200 } @@ -347,7 +349,6 @@ if ! pct create "$CTID" "${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE}" "${PCT_OPTIONS[ done sleep 1 # I/O-Sync-Delay - msg_ok "Re-downloaded LXC Template" fi From 9c50105e8664b7655f9b98a727db5bae46d7b347 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 09:36:36 +0000 Subject: [PATCH 002/148] Update CHANGELOG.md (#6299) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 80e234dbc..6a45b3e8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### ✨ New Features + - [core]: create_lxc: better handling, fix lock handling, improve template validation & storage selection UX [@MickLesk](https://github.com/MickLesk) ([#6296](https://github.com/community-scripts/ProxmoxVE/pull/6296)) - ProxmoxVE 9.0 Beta: add BETA Version as test in pve_check [@MickLesk](https://github.com/MickLesk) ([#6295](https://github.com/community-scripts/ProxmoxVE/pull/6295)) - karakeep: Run workers in prod without tsx [@vhsdream](https://github.com/vhsdream) ([#6285](https://github.com/community-scripts/ProxmoxVE/pull/6285)) From 759239bc7cf0fb426e0704c1b771122b29bf5b69 Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Mon, 28 Jul 2025 13:33:51 +0200 Subject: [PATCH 003/148] n8n: refactor environmentfile (#6297) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * n8n: add config path * n8n: refactor servicefile to seperate env * n8n: refactor envfile * Update n8n.sh * Update n8n.json --------- Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> --- ct/n8n.sh | 14 +++++++++++++- frontend/public/json/n8n.json | 9 +++++++-- install/n8n-install.sh | 13 +++++++++++-- 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/ct/n8n.sh b/ct/n8n.sh index bd542d17e..c23b4a79c 100644 --- a/ct/n8n.sh +++ b/ct/n8n.sh @@ -34,6 +34,18 @@ function update_script() { echo "Installed NPM..." fi fi + if [ ! -f /opt/n8n.env ]; then + sed -i 's|^Environment="N8N_SECURE_COOKIE=false"$|EnvironmentFile="/opt/n8n.env"|' /etc/systemd/system/n8n.service + HOST_IP=$(hostname -I | awk '{print $1}') + mkdir -p /opt + cat </opt/n8n.env +N8N_SECURE_COOKIE=false +N8N_PORT=5678 +N8N_PROTOCOL=http +N8N_HOST=$HOST_IP +EOF + fi + msg_info "Updating ${APP} LXC" $STD npm update -g n8n systemctl restart n8n @@ -48,4 +60,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5678${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5678${CL}" diff --git a/frontend/public/json/n8n.json b/frontend/public/json/n8n.json index 7ab0ed00b..3dbff38c0 100644 --- a/frontend/public/json/n8n.json +++ b/frontend/public/json/n8n.json @@ -12,7 +12,7 @@ "documentation": "https://docs.n8n.io/", "website": "https://n8n.io/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/n8n.webp", - "config_path": "", + "config_path": "/opt/n8n.env", "description": "n8n is a workflow automation tool that enables users to automate various tasks and processes by connecting various data sources, systems, and services. It provides a visual interface for building workflows, allowing users to easily define and automate complex sequences of actions, such as data processing, conditional branching, and API calls. n8n supports a wide range of integrations, making it a versatile tool for automating a variety of use cases, from simple data processing workflows to complex business processes. With its extendable architecture, n8n is designed to be easily customizable and can be adapted to meet the specific needs of different users and industries.", "install_methods": [ { @@ -31,5 +31,10 @@ "username": null, "password": null }, - "notes": [] + "notes": [ + { + "text": "You may need to configure the `WEBHOOK_URL` in the config file when using a domain.", + "type": "info" + } + ] } diff --git a/install/n8n-install.sh b/install/n8n-install.sh index 7496a8595..3d83f1928 100644 --- a/install/n8n-install.sh +++ b/install/n8n-install.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Copyright (c) 2021-2025 tteck -# Author: tteck (tteckster) +# Author: tteck (tteckster) | Co-Author: CrazyWolf13 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://n8n.io/ @@ -26,13 +26,22 @@ $STD npm install --global n8n msg_ok "Installed n8n" msg_info "Creating Service" +HOST_IP=$(hostname -I | awk '{print $1}') +mkdir -p /opt +cat </opt/n8n.env +N8N_SECURE_COOKIE=false +N8N_PORT=5678 +N8N_PROTOCOL=http +N8N_HOST=$HOST_IP +EOF + cat </etc/systemd/system/n8n.service [Unit] Description=n8n [Service] Type=simple -Environment="N8N_SECURE_COOKIE=false" +EnvironmentFile="/opt/n8n.env" ExecStart=n8n start [Install] WantedBy=multi-user.target From b602a9d50c83455db2a928d3c82d9129fd70d119 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 11:34:19 +0000 Subject: [PATCH 004/148] Update CHANGELOG.md (#6303) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a45b3e8e..33def0d04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - ProxmoxVE 9.0 Beta: add BETA Version as test in pve_check [@MickLesk](https://github.com/MickLesk) ([#6295](https://github.com/community-scripts/ProxmoxVE/pull/6295)) - karakeep: Run workers in prod without tsx [@vhsdream](https://github.com/vhsdream) ([#6285](https://github.com/community-scripts/ProxmoxVE/pull/6285)) + - #### 🔧 Refactor + + - n8n: refactor environmentfile [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6297](https://github.com/community-scripts/ProxmoxVE/pull/6297)) + ## 2025-07-27 ### 🚀 Updated Scripts From 08e451f8de9860f0cdb18322e80382bb12983e65 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 14:05:35 +0200 Subject: [PATCH 005/148] Update versions.json (#6308) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 160 ++++++++++++++--------------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index c0c787cab..844e5a0c9 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,74 @@ [ + { + "name": "Graylog2/graylog2-server", + "version": "7.0.0-alpha.1", + "date": "2025-07-28T11:28:22Z" + }, + { + "name": "OliveTin/OliveTin", + "version": "2025.7.28", + "date": "2025-07-28T10:19:38Z" + }, + { + "name": "Paymenter/Paymenter", + "version": "v1.2.6", + "date": "2025-07-28T09:31:34Z" + }, + { + "name": "mattermost/mattermost", + "version": "v9.11.18", + "date": "2025-07-22T06:18:08Z" + }, + { + "name": "gotson/komga", + "version": "1.23.0", + "date": "2025-07-28T08:44:47Z" + }, + { + "name": "Checkmk/checkmk", + "version": "v2.3.0p35", + "date": "2025-07-28T08:32:54Z" + }, + { + "name": "home-assistant/core", + "version": "2025.7.4", + "date": "2025-07-28T08:15:50Z" + }, + { + "name": "PrivateBin/PrivateBin", + "version": "2.0.0", + "date": "2025-07-28T07:48:40Z" + }, + { + "name": "esphome/esphome", + "version": "2025.7.4", + "date": "2025-07-28T07:33:36Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2202", + "date": "2025-07-28T06:00:10Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.21", + "date": "2025-07-17T04:46:25Z" + }, + { + "name": "theonedev/onedev", + "version": "v12.0.2", + "date": "2025-07-28T03:34:53Z" + }, + { + "name": "TryGhost/Ghost-CLI", + "version": "v1.28.1", + "date": "2025-07-28T01:39:35Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" + }, { "name": "umami-software/umami", "version": "v2.19.0", @@ -25,20 +95,15 @@ "date": "2025-07-27T14:48:37Z" }, { - "name": "Jackett/Jackett", - "version": "v0.22.2200", - "date": "2025-07-27T05:52:33Z" + "name": "keycloak/keycloak", + "version": "26.3.2", + "date": "2025-07-24T10:14:27Z" }, { "name": "project-zot/zot", "version": "v2.1.6", "date": "2025-07-27T01:14:14Z" }, - { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" - }, { "name": "aceberg/WatchYourLAN", "version": "2.1.3", @@ -49,11 +114,6 @@ "version": "v0.14.1", "date": "2024-08-29T22:32:51Z" }, - { - "name": "keycloak/keycloak", - "version": "26.3.2", - "date": "2025-07-24T10:14:27Z" - }, { "name": "MediaBrowser/Emby.Releases", "version": "4.9.1.2", @@ -71,8 +131,8 @@ }, { "name": "ollama/ollama", - "version": "v0.10.0-rc2", - "date": "2025-07-25T21:24:06Z" + "version": "v0.10.0-rc1", + "date": "2025-07-22T20:40:47Z" }, { "name": "homarr-labs/homarr", @@ -94,6 +154,11 @@ "version": "fumadocs-openapi@9.1.5", "date": "2025-07-25T16:20:20Z" }, + { + "name": "emqx/emqx", + "version": "e6.0.0-M2.202508-alpha.1", + "date": "2025-07-25T16:01:00Z" + }, { "name": "heiher/hev-socks5-server", "version": "2.9.0", @@ -119,11 +184,6 @@ "version": "v25.3.1", "date": "2025-07-25T03:39:31Z" }, - { - "name": "TryGhost/Ghost-CLI", - "version": "v1.28.0", - "date": "2025-07-25T01:21:13Z" - }, { "name": "Brandawg93/PeaNUT", "version": "v5.10.0", @@ -174,26 +234,11 @@ "version": "10.0.19", "date": "2025-07-16T09:45:14Z" }, - { - "name": "Paymenter/Paymenter", - "version": "v1.2.5", - "date": "2025-07-24T11:52:16Z" - }, - { - "name": "Checkmk/checkmk", - "version": "v2.3.0p35-rc2", - "date": "2025-07-24T07:00:54Z" - }, { "name": "zwave-js/zwave-js-ui", "version": "v10.10.0", "date": "2025-07-24T06:15:19Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.21", - "date": "2025-07-17T04:46:25Z" - }, { "name": "advplyr/audiobookshelf", "version": "v2.26.3", @@ -269,11 +314,6 @@ "version": "v4.3.1", "date": "2025-07-22T20:10:08Z" }, - { - "name": "esphome/esphome", - "version": "2025.7.3", - "date": "2025-07-22T20:09:49Z" - }, { "name": "rcourtman/Pulse", "version": "v3.42.0", @@ -304,16 +344,6 @@ "version": "v1.6.11", "date": "2025-07-22T12:11:38Z" }, - { - "name": "home-assistant/core", - "version": "2025.7.3", - "date": "2025-07-22T08:30:59Z" - }, - { - "name": "mattermost/mattermost", - "version": "v9.11.18", - "date": "2025-07-22T06:18:08Z" - }, { "name": "adityachandelgit/BookLore", "version": "v0.34.1", @@ -384,11 +414,6 @@ "version": "sdk/v0.26.0", "date": "2025-07-20T13:26:30Z" }, - { - "name": "OliveTin/OliveTin", - "version": "2025.7.19", - "date": "2025-07-20T09:44:35Z" - }, { "name": "documenso/documenso", "version": "v1.12.2-rc.2", @@ -429,11 +454,6 @@ "version": "v0.29.0", "date": "2025-07-19T08:54:54Z" }, - { - "name": "theonedev/onedev", - "version": "v12.0.1", - "date": "2025-07-18T15:02:25Z" - }, { "name": "TandoorRecipes/recipes", "version": "1.5.35", @@ -444,11 +464,6 @@ "version": "coverity-w30-4.13.0", "date": "2025-07-18T12:05:26Z" }, - { - "name": "emqx/emqx", - "version": "e6.0.0-M1.202507-rc.1", - "date": "2025-07-18T07:48:52Z" - }, { "name": "cross-seed/cross-seed", "version": "v6.13.1", @@ -524,11 +539,6 @@ "version": "4.3.0", "date": "2025-07-15T09:54:38Z" }, - { - "name": "gotson/komga", - "version": "1.22.1", - "date": "2025-07-15T06:44:29Z" - }, { "name": "go-gitea/gitea", "version": "v1.24.3", @@ -724,11 +734,6 @@ "version": "2.37.0", "date": "2025-07-04T14:49:43Z" }, - { - "name": "Graylog2/graylog2-server", - "version": "6.3.1", - "date": "2025-07-04T11:20:48Z" - }, { "name": "cloudflare/cloudflared", "version": "2025.7.0", @@ -799,11 +804,6 @@ "version": "v7.4.4", "date": "2025-06-30T13:04:22Z" }, - { - "name": "PrivateBin/PrivateBin", - "version": "1.7.8", - "date": "2025-06-30T09:00:54Z" - }, { "name": "typesense/typesense", "version": "v29.0", From 63d65420a90003d11cc06ae6172a67134d217ccd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 28 Jul 2025 14:56:54 +0200 Subject: [PATCH 006/148] Refactor Navidrome (#6300) --- ct/navidrome.sh | 16 ++---- frontend/public/json/navidrome.json | 76 ++++++++++++++--------------- install/navidrome-install.sh | 15 ++---- 3 files changed, 47 insertions(+), 60 deletions(-) diff --git a/ct/navidrome.sh b/ct/navidrome.sh index b476d82b1..d817a82fc 100644 --- a/ct/navidrome.sh +++ b/ct/navidrome.sh @@ -27,27 +27,19 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk -F '"' '{print $4}') - if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + + RELEASE=$(curl -fsSL https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat ~/.navidrome 2>/dev/null)" ]] || [[ ! -f ~/.navidrome ]]; then msg_info "Stopping Services" systemctl stop navidrome msg_ok "Services Stopped" - msg_info "Updating ${APP} to ${RELEASE}" - TMP_DEB=$(mktemp --suffix=.deb) - curl -fsSL -o "${TMP_DEB}" "https://github.com/navidrome/navidrome/releases/download/${RELEASE}/navidrome_${RELEASE#v}_linux_amd64.deb" - $STD apt-get install -y "${TMP_DEB}" - echo "${RELEASE}" >/opt/"${APP}_version.txt" - msg_ok "Updated Navidrome" + fetch_and_deploy_gh_release "navidrome" "navidrome/navidrome" "binary" msg_info "Starting Services" systemctl start navidrome msg_ok "Started Services" - msg_info "Cleaning Up" - rm -f "${TMP_DEB}" - msg_ok "Cleaned" msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at ${RELEASE}" diff --git a/frontend/public/json/navidrome.json b/frontend/public/json/navidrome.json index ec2b0ea9c..acfc1e608 100644 --- a/frontend/public/json/navidrome.json +++ b/frontend/public/json/navidrome.json @@ -1,40 +1,40 @@ { - "name": "Navidrome", - "slug": "navidrome", - "categories": [ - 13 - ], - "date_created": "2024-05-02", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 4533, - "documentation": null, - "website": "https://www.navidrome.org/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/navidrome.webp", - "config_path": "/etc/navidrome/navidrome.toml", - "description": "Navidrome is a music server solution that makes your music collection accessible from anywhere. It provides a modern web-based user interface and compatibility with a range of third-party mobile apps for both iOS and Android devices. With Navidrome, users can access their music collection from anywhere, whether at home or on the go. The software supports a variety of music formats, making it easy for users to play their favorite songs and albums. Navidrome provides a simple and user-friendly interface for managing and organizing music collections, making it a valuable tool for music lovers who want to access their music from anywhere. The software is designed to be easy to set up and use, making it a popular choice for those who want to host their own music server and enjoy their music collection from anywhere.", - "install_methods": [ - { - "type": "default", - "script": "ct/navidrome.sh", - "resources": { - "cpu": 2, - "ram": 1024, - "hdd": 4, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [ - { - "text": "To change Navidrome music folder path, `nano /etc/navidrome/navidrome.toml`", - "type": "info" - } - ] + "name": "Navidrome", + "slug": "navidrome", + "categories": [ + 13 + ], + "date_created": "2024-05-02", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 4533, + "documentation": "https://www.navidrome.org/docs/", + "website": "https://www.navidrome.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/navidrome.webp", + "config_path": "/etc/navidrome/navidrome.toml", + "description": "Navidrome is a music server solution that makes your music collection accessible from anywhere. It provides a modern web-based user interface and compatibility with a range of third-party mobile apps for both iOS and Android devices. With Navidrome, users can access their music collection from anywhere, whether at home or on the go. The software supports a variety of music formats, making it easy for users to play their favorite songs and albums. Navidrome provides a simple and user-friendly interface for managing and organizing music collections, making it a valuable tool for music lovers who want to access their music from anywhere. The software is designed to be easy to set up and use, making it a popular choice for those who want to host their own music server and enjoy their music collection from anywhere.", + "install_methods": [ + { + "type": "default", + "script": "ct/navidrome.sh", + "resources": { + "cpu": 2, + "ram": 1024, + "hdd": 4, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "To change Navidrome music folder path, `nano /etc/navidrome/navidrome.toml`", + "type": "info" + } + ] } diff --git a/install/navidrome-install.sh b/install/navidrome-install.sh index 0d1fdc167..8f45f46a0 100644 --- a/install/navidrome-install.sh +++ b/install/navidrome-install.sh @@ -14,18 +14,14 @@ network_check update_os msg_info "Installing Dependencies (Patience)" -$STD apt-get install -y \ - ffmpeg +$STD apt-get install -y ffmpeg msg_ok "Installed Dependencies" -msg_info "Installing Navidrome" -RELEASE=$(curl -fsSL https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk -F '"' '{print $4}') -TMP_DEB=$(mktemp --suffix=.deb) -curl -fsSL -o "${TMP_DEB}" "https://github.com/navidrome/navidrome/releases/download/${RELEASE}/navidrome_${RELEASE#v}_linux_amd64.deb" -$STD apt-get install -y "${TMP_DEB}" +fetch_and_deploy_gh_release "navidrome" "navidrome/navidrome" "binary" + +msg_info "Starting Navidrome" systemctl enable -q --now navidrome -echo "${RELEASE}" >/opt/Navidrome_version.txt -msg_ok "Installed Navidrome" +msg_ok "Started Navidrome" read -p "${TAB3}Do you want to install filebrowser addon? (y/n) " -n 1 -r if [[ $REPLY =~ ^[Yy]$ ]]; then @@ -36,7 +32,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -f "${TMP_DEB}" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From bd9c778922d958b1914696d2f6632238b27715d2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 12:57:16 +0000 Subject: [PATCH 007/148] Update CHANGELOG.md (#6309) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 33def0d04..8fcda05b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts + - Refactor: Navidrome [@tremor021](https://github.com/tremor021) ([#6300](https://github.com/community-scripts/ProxmoxVE/pull/6300)) + - #### 🐞 Bug Fixes - add 'g++' to actualbudget-install.sh [@saivishnu725](https://github.com/saivishnu725) ([#6293](https://github.com/community-scripts/ProxmoxVE/pull/6293)) From d4c59caf12eac32065c12916907b95681b334c7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 28 Jul 2025 14:57:44 +0200 Subject: [PATCH 008/148] Refactor (#6305) --- ct/argus.sh | 19 +++++++++++-------- install/argus-install.sh | 13 +------------ 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/ct/argus.sh b/ct/argus.sh index 3a813a052..cae3fa28a 100644 --- a/ct/argus.sh +++ b/ct/argus.sh @@ -23,20 +23,23 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -d /opt/argus ]]; then msg_error "No ${APP} Installation Found!" exit fi RELEASE=$(curl -fsSL https://api.github.com/repos/release-argus/Argus/releases/latest | jq -r .tag_name | sed 's/^v//') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Updating $APP to ${RELEASE}" - rm -f /opt/argus/Argus - curl -fsSL "https://github.com/release-argus/Argus/releases/download/${RELEASE}/Argus-${RELEASE}.linux-amd64" -o /opt/argus/Argus - chmod +x /opt/argus/Argus - systemctl restart argus - echo "${RELEASE}" >/opt/${APP}_version.txt + if [[ "${RELEASE}" != "$(cat ~/.Argus 2>/dev/null)" ]] || [[ ! -f ~/.Argus ]]; then + msg_info "Stopping service" + systemctl stop argus + msg_ok "Service stopped" + + fetch_and_deploy_gh_release "Argus" "release-argus/Argus" "singlefile" "latest" "/opt/argus" "Argus*linux-amd64" + + msg_info "Starting service" + systemctl start argus + msg_ok "Service started" + msg_ok "Updated ${APP} to ${RELEASE}" else msg_ok "${APP} is already up to date (${RELEASE})" diff --git a/install/argus-install.sh b/install/argus-install.sh index 9d92ce708..60540eaab 100644 --- a/install/argus-install.sh +++ b/install/argus-install.sh @@ -13,17 +13,7 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y \ - jq -msg_ok "Installed Dependencies" - -msg_info "Setup Argus" -RELEASE=$(curl -fsSL https://api.github.com/repos/release-argus/Argus/releases/latest | jq -r .tag_name | sed 's/^v//') -mkdir -p /opt/argus -curl -fsSL "https://github.com/release-argus/Argus/releases/download/${RELEASE}/Argus-${RELEASE}.linux-amd64" -o /opt/argus/Argus -chmod +x /opt/argus/Argus -msg_ok "Setup Argus" +fetch_and_deploy_gh_release "Argus" "release-argus/Argus" "singlefile" "latest" "/opt/argus" "Argus*linux-amd64" msg_info "Setup Argus Config" cat </opt/argus/config.yml @@ -71,7 +61,6 @@ service: icon_link_to: https://helper-scripts.com/ web_url: https://github.com/community-scripts/ProxmoxVE/releases EOF -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Setup Config" msg_info "Creating Service" From bc36a60a498ba9fb64d2d59058ccdd1e9393a613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 28 Jul 2025 14:58:03 +0200 Subject: [PATCH 009/148] Refactor (#6306) --- ct/grafana.sh | 3 ++- install/grafana-install.sh | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/ct/grafana.sh b/ct/grafana.sh index 582eb5d96..d8bf30318 100644 --- a/ct/grafana.sh +++ b/ct/grafana.sh @@ -27,6 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + msg_info "Updating ${APP}" $STD apt-get update $STD apt-get -y upgrade @@ -41,4 +42,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}" diff --git a/install/grafana-install.sh b/install/grafana-install.sh index a0cf17cff..5c1920002 100644 --- a/install/grafana-install.sh +++ b/install/grafana-install.sh @@ -14,20 +14,20 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y apt-transport-https -$STD apt-get install -y software-properties-common +$STD apt-get install -y \ + apt-transport-https \ + software-properties-common msg_ok "Installed Dependencies" msg_info "Setting up Grafana Repository" curl -fsSL "https://apt.grafana.com/gpg.key" -o "/usr/share/keyrings/grafana.key" -sh -c 'echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" > /etc/apt/sources.list.d/grafana.list' +echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" >/etc/apt/sources.list.d/grafana.list msg_ok "Set up Grafana Repository" msg_info "Installing Grafana" $STD apt-get update $STD apt-get install -y grafana -systemctl start grafana-server -systemctl enable --now -q grafana-server.service +systemctl enable -q --now grafana-server msg_ok "Installed Grafana" motd_ssh From 01631c305a08912f4d37a58307eef194fcef5347 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 12:58:08 +0000 Subject: [PATCH 010/148] Update CHANGELOG.md (#6310) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fcda05b9..88c79b090 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Argus [@tremor021](https://github.com/tremor021) ([#6305](https://github.com/community-scripts/ProxmoxVE/pull/6305)) - n8n: refactor environmentfile [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6297](https://github.com/community-scripts/ProxmoxVE/pull/6297)) ## 2025-07-27 From 7b82199a3698d24836c19f939b294ab34e9e4752 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 12:58:26 +0000 Subject: [PATCH 011/148] Update CHANGELOG.md (#6311) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 88c79b090..fe6369afa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Grafana [@tremor021](https://github.com/tremor021) ([#6306](https://github.com/community-scripts/ProxmoxVE/pull/6306)) - Refactor: Argus [@tremor021](https://github.com/tremor021) ([#6305](https://github.com/community-scripts/ProxmoxVE/pull/6305)) - n8n: refactor environmentfile [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6297](https://github.com/community-scripts/ProxmoxVE/pull/6297)) From 15e3958687df66e47b927e05084d50005b1e6928 Mon Sep 17 00:00:00 2001 From: teohz <77596774+teohz@users.noreply.github.com> Date: Mon, 28 Jul 2025 13:11:52 +0000 Subject: [PATCH 012/148] fix: removing ",gw=" from GATE variable when reading/writing from/to config. (#6177) Previously when creating a config, GATE variable would incluse ",gw=" which was crashing the installer script when read later on. This fix: 1. writes GATE variable to config without ",gw=" 2. removes ",gw=" from GATE variable when reading existing config Co-authored-by: teohz --- misc/build.func | 1 + misc/config-file.func | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/misc/build.func b/misc/build.func index 8a9bcbbc8..061ccaee8 100644 --- a/misc/build.func +++ b/misc/build.func @@ -249,6 +249,7 @@ write_config() { # This function writes the configuration to a file. if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "Write configfile" --yesno "Do you want to write the selections to a config file?" 10 60; then FILEPATH="/opt/community-scripts/${NSAPP}.conf" + [[ "$GATE" =~ ",gw=" ]] && local GATE="${GATE##,gw=}" if [[ ! -f $FILEPATH ]]; then cat <"$FILEPATH" # ${NSAPP} Configuration File diff --git a/misc/config-file.func b/misc/config-file.func index 842c1246c..ed72aa219 100644 --- a/misc/config-file.func +++ b/misc/config-file.func @@ -272,7 +272,8 @@ config_file() { GATE="" elif [[ "$NET" =~ $ip_cidr_regex ]]; then echo -e "${NETWORK}${BOLD}${DGN}IP Address: ${BGN}$NET${CL}" - if [ ! -z "$GATE" ]; then + if [[ -n "$GATE" ]]; then + [[ "$GATE" =~ ",gw=" ]] && GATE="${GATE##,gw=}" if [[ "$GATE" =~ $ip_regex ]]; then echo -e "${GATEWAY}${BOLD}${DGN}Gateway IP Address: ${BGN}$GATE${CL}" GATE=",gw=$GATE" From 1f1bc5f12d827cfa5dae73b14f30cd6c9f1ec35c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 13:12:13 +0000 Subject: [PATCH 013/148] Update CHANGELOG.md (#6312) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe6369afa..bc290d456 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - fix: removing ",gw=" from GATE var when reading/writing from/to config. [@teohz](https://github.com/teohz) ([#6177](https://github.com/community-scripts/ProxmoxVE/pull/6177)) - add 'g++' to actualbudget-install.sh [@saivishnu725](https://github.com/saivishnu725) ([#6293](https://github.com/community-scripts/ProxmoxVE/pull/6293)) - #### ✨ New Features From 69e947246a168ec1b50e0af065202042944f7ed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 28 Jul 2025 15:56:22 +0200 Subject: [PATCH 014/148] Refactor: Gotify (#6301) * Refactor Gotify * Add tools.func fix * Update gotify.sh --- ct/gotify.sh | 13 ++++-------- frontend/public/json/gotify.json | 2 +- install/gotify-install.sh | 12 ++--------- misc/tools.func | 36 ++++++++++++++++++++++++-------- 4 files changed, 34 insertions(+), 29 deletions(-) diff --git a/ct/gotify.sh b/ct/gotify.sh index a4b738999..1811d84ef 100644 --- a/ct/gotify.sh +++ b/ct/gotify.sh @@ -29,23 +29,18 @@ function update_script() { fi RELEASE=$(curl -fsSL https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ "${RELEASE}" != "$(cat ~/.gotify 2>/dev/null)" ]] || [[ ! -f ~/.gotify ]]; then msg_info "Stopping ${APP}" systemctl stop gotify msg_ok "Stopped ${APP}" - msg_info "Updating ${APP} to ${RELEASE}" - cd /opt/gotify - curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o $(basename "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip") - $STD unzip -o gotify-linux-amd64.zip - rm -rf gotify-linux-amd64.zip - chmod +x gotify-linux-amd64 - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to ${RELEASE}" + fetch_and_deploy_gh_release "gotify" "gotify/server" "prebuild" "latest" "/opt/gotify" "gotify-linux-amd64.zip" + chmod +x /opt/gotify/gotify-linux-amd64 msg_info "Starting ${APP}" systemctl start gotify msg_ok "Started ${APP}" + msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at ${RELEASE}" diff --git a/frontend/public/json/gotify.json b/frontend/public/json/gotify.json index 08cc46cab..9765ba8d7 100644 --- a/frontend/public/json/gotify.json +++ b/frontend/public/json/gotify.json @@ -6,7 +6,7 @@ ], "date_created": "2024-05-02", "type": "ct", - "updateable": false, + "updateable": true, "privileged": false, "interface_port": 80, "documentation": "https://gotify.net/docs/index", diff --git a/install/gotify-install.sh b/install/gotify-install.sh index b87e38cf4..15fe235d2 100644 --- a/install/gotify-install.sh +++ b/install/gotify-install.sh @@ -13,16 +13,8 @@ setting_up_container network_check update_os -msg_info "Installing Gotify" -RELEASE=$(curl -fsSL https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -mkdir -p /opt/gotify -cd /opt/gotify -curl -fsSL "https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip" -o "gotify-linux-amd64.zip" -$STD unzip gotify-linux-amd64.zip -rm -rf gotify-linux-amd64.zip -chmod +x gotify-linux-amd64 -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Installed Gotify" +fetch_and_deploy_gh_release "gotify" "gotify/server" "prebuild" "latest" "/opt/gotify" "gotify-linux-amd64.zip" +chmod +x /opt/gotify/gotify-linux-amd64 msg_info "Creating Service" cat </etc/systemd/system/gotify.service diff --git a/misc/tools.func b/misc/tools.func index 65402fbe4..071a30cbb 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -959,7 +959,7 @@ function fetch_and_deploy_gh_release() { $STD apt-get install -y unzip fi unzip -q "$tmpdir/$filename" -d "$unpack_tmp" - elif [[ "$filename" == *.tar.* ]]; then + elif [[ "$filename" == *.tar.* || "$filename" == *.tgz ]]; then tar -xf "$tmpdir/$filename" -C "$unpack_tmp" else msg_error "Unsupported archive format: $filename" @@ -969,23 +969,41 @@ function fetch_and_deploy_gh_release() { local top_dirs top_dirs=$(find "$unpack_tmp" -mindepth 1 -maxdepth 1 -type d | wc -l) - - if [[ "$top_dirs" -eq 1 ]]; then + local top_entries inner_dir + top_entries=$(find "$unpack_tmp" -mindepth 1 -maxdepth 1) + if [[ "$(echo "$top_entries" | wc -l)" -eq 1 && -d "$top_entries" ]]; then # Strip leading folder - local inner_dir - inner_dir=$(find "$unpack_tmp" -mindepth 1 -maxdepth 1 -type d) + inner_dir="$top_entries" shopt -s dotglob nullglob - cp -r "$inner_dir"/* "$target/" + if compgen -G "$inner_dir/*" >/dev/null; then + cp -r "$inner_dir"/* "$target/" || { + msg_error "Failed to copy contents from $inner_dir to $target" + rm -rf "$tmpdir" "$unpack_tmp" + return 1 + } + else + msg_error "Inner directory is empty: $inner_dir" + rm -rf "$tmpdir" "$unpack_tmp" + return 1 + fi shopt -u dotglob nullglob else # Copy all contents shopt -s dotglob nullglob - cp -r "$unpack_tmp"/* "$target/" + if compgen -G "$unpack_tmp/*" >/dev/null; then + cp -r "$unpack_tmp"/* "$target/" || { + msg_error "Failed to copy contents to $target" + rm -rf "$tmpdir" "$unpack_tmp" + return 1 + } + else + msg_error "Unpacked archive is empty" + rm -rf "$tmpdir" "$unpack_tmp" + return 1 + fi shopt -u dotglob nullglob fi - rm -rf "$unpack_tmp" - ### Singlefile Mode ### elif [[ "$mode" == "singlefile" ]]; then local pattern="${6%\"}" From 253c4f4f5b6b95910b3daae64abd5ad1ac7872b9 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 13:56:49 +0000 Subject: [PATCH 015/148] Update CHANGELOG.md (#6315) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc290d456..3c144b07c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Gotify [@tremor021](https://github.com/tremor021) ([#6301](https://github.com/community-scripts/ProxmoxVE/pull/6301)) - Refactor: Grafana [@tremor021](https://github.com/tremor021) ([#6306](https://github.com/community-scripts/ProxmoxVE/pull/6306)) - Refactor: Argus [@tremor021](https://github.com/tremor021) ([#6305](https://github.com/community-scripts/ProxmoxVE/pull/6305)) - n8n: refactor environmentfile [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6297](https://github.com/community-scripts/ProxmoxVE/pull/6297)) From 7051dfeea774864e1048d3c2bcd809a497497be1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 28 Jul 2025 18:50:33 +0200 Subject: [PATCH 016/148] Refactor: HiveMQ (#6313) --- frontend/public/json/hivemq.json | 2 +- install/hivemq-install.sh | 22 +++++++--------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/frontend/public/json/hivemq.json b/frontend/public/json/hivemq.json index ee59470e9..4ef722497 100644 --- a/frontend/public/json/hivemq.json +++ b/frontend/public/json/hivemq.json @@ -9,7 +9,7 @@ "updateable": false, "privileged": false, "interface_port": 1883, - "documentation": null, + "documentation": "https://github.com/hivemq/hivemq-community-edition/wiki", "website": "https://www.hivemq.com/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/hivemq.webp", "config_path": "/opt/hivemq/conf/config.xml", diff --git a/install/hivemq-install.sh b/install/hivemq-install.sh index 79bec8eaa..273b5a666 100644 --- a/install/hivemq-install.sh +++ b/install/hivemq-install.sh @@ -13,34 +13,26 @@ setting_up_container network_check update_os -msg_info "Installing OpenJDK" -curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg -echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/adoptium.gpg] https://packages.adoptium.net/artifactory/deb bookworm main' >/etc/apt/sources.list.d/adoptium.list -$STD apt-get update -$STD apt-get install -y temurin-17-jre -msg_ok "Installed OpenJDK" +JAVA_VERSION="21" setup_java +fetch_and_deploy_gh_release "hivemq" "hivemq/hivemq-community-edition" "prebuild" "latest" "/opt/hivemq" "hivemq-ce-*.zip" -msg_info "Installing HiveMQ CE" -RELEASE=$(curl -fsSL https://api.github.com/repos/hivemq/hivemq-community-edition/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/hivemq/hivemq-community-edition/releases/download/${RELEASE}/hivemq-ce-${RELEASE}.zip" -o "hivemq-ce-${RELEASE}.zip" -$STD unzip hivemq-ce-${RELEASE}.zip -mkdir -p /opt/hivemq -mv hivemq-ce-${RELEASE}/* /opt/hivemq +msg_info "Configuring HiveMQ CE" useradd -d /opt/hivemq hivemq chown -R hivemq:hivemq /opt/hivemq chmod +x /opt/hivemq/bin/run.sh cp /opt/hivemq/bin/init-script/hivemq.service /etc/systemd/system/hivemq.service rm /opt/hivemq/conf/config.xml mv /opt/hivemq/conf/examples/configuration/config-sample-tcp-and-websockets.xml /opt/hivemq/conf/config.xml +msg_ok "Configured HiveMQ CE" + +msg_info "Starting service" systemctl enable -q --now hivemq -msg_ok "Installed HiveMQ CE" +msg_ok "Service started" motd_ssh customize msg_info "Cleaning up" -rm -rf hivemq-ce-${RELEASE}.zip -rm -rf ../hivemq-ce-${RELEASE} $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 4fb5ea4ec2c04e3b45514a6327d59e10d121c970 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 16:50:54 +0000 Subject: [PATCH 017/148] Update CHANGELOG.md (#6317) 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 3c144b07c..5b38d610a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts - - Refactor: Navidrome [@tremor021](https://github.com/tremor021) ([#6300](https://github.com/community-scripts/ProxmoxVE/pull/6300)) + - Refactor: HiveMQ [@tremor021](https://github.com/tremor021) ([#6313](https://github.com/community-scripts/ProxmoxVE/pull/6313)) - #### 🐞 Bug Fixes @@ -29,6 +29,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Navidrome [@tremor021](https://github.com/tremor021) ([#6300](https://github.com/community-scripts/ProxmoxVE/pull/6300)) - Refactor: Gotify [@tremor021](https://github.com/tremor021) ([#6301](https://github.com/community-scripts/ProxmoxVE/pull/6301)) - Refactor: Grafana [@tremor021](https://github.com/tremor021) ([#6306](https://github.com/community-scripts/ProxmoxVE/pull/6306)) - Refactor: Argus [@tremor021](https://github.com/tremor021) ([#6305](https://github.com/community-scripts/ProxmoxVE/pull/6305)) From 0955ec4b7fc6ea33c6e79cc0dfdc14f5b67e24b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B9=9D=E6=9D=A1=E6=B6=BC=E6=9E=9C?= Date: Tue, 29 Jul 2025 01:44:52 +0800 Subject: [PATCH 018/148] fix: SSH authorized keys not added in Alpine install script (#6316) --- misc/alpine-install.func | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/misc/alpine-install.func b/misc/alpine-install.func index b7381947a..405fc2149 100644 --- a/misc/alpine-install.func +++ b/misc/alpine-install.func @@ -152,4 +152,11 @@ EOF echo "bash -c \"\$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/${app}.sh)\"" >/usr/bin/update chmod +x /usr/bin/update + + if [[ -n "${SSH_AUTHORIZED_KEY}" ]]; then + mkdir -p /root/.ssh + echo "${SSH_AUTHORIZED_KEY}" >/root/.ssh/authorized_keys + chmod 700 /root/.ssh + chmod 600 /root/.ssh/authorized_keys + fi } From 72dcd612443ba05c4c88b33cdc519963164c8751 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 17:45:12 +0000 Subject: [PATCH 019/148] Update CHANGELOG.md (#6318) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b38d610a..3e7cba0f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - fix: SSH authorized keys not added in Alpine install script [@enihsyou](https://github.com/enihsyou) ([#6316](https://github.com/community-scripts/ProxmoxVE/pull/6316)) - fix: removing ",gw=" from GATE var when reading/writing from/to config. [@teohz](https://github.com/teohz) ([#6177](https://github.com/community-scripts/ProxmoxVE/pull/6177)) - add 'g++' to actualbudget-install.sh [@saivishnu725](https://github.com/saivishnu725) ([#6293](https://github.com/community-scripts/ProxmoxVE/pull/6293)) From ecc585ebef3091f835895fc1462d13bab8fcc697 Mon Sep 17 00:00:00 2001 From: Bram Suurd <78373894+BramSuurdje@users.noreply.github.com> Date: Mon, 28 Jul 2025 20:32:48 +0200 Subject: [PATCH 020/148] temp change the analytics url to one that works untill community one is fixed (#6319) --- frontend/src/config/site-config.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/config/site-config.tsx b/frontend/src/config/site-config.tsx index 46d99a698..c16585b1f 100644 --- a/frontend/src/config/site-config.tsx +++ b/frontend/src/config/site-config.tsx @@ -45,7 +45,7 @@ export const navbarLinks = [ export const mostPopularScripts = ["post-pve-install", "docker", "homeassistant"]; export const analytics = { - url: "analytics.community-scripts.org", + url: "analytics.bramsuurd.nl", token: "aefee1b9-2a12-4ac2-9d82-a63113edc62e", }; From 8846915506f8659487bce2435860edbfcab9acfe Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 18:33:11 +0000 Subject: [PATCH 021/148] Update CHANGELOG.md (#6323) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e7cba0f8..02f3bc71a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - Refactor: Argus [@tremor021](https://github.com/tremor021) ([#6305](https://github.com/community-scripts/ProxmoxVE/pull/6305)) - n8n: refactor environmentfile [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6297](https://github.com/community-scripts/ProxmoxVE/pull/6297)) +### 🌐 Website + + - #### 🐞 Bug Fixes + + - temp change the analytics url to one that works untill community one is fixed [@BramSuurdje](https://github.com/BramSuurdje) ([#6319](https://github.com/community-scripts/ProxmoxVE/pull/6319)) + ## 2025-07-27 ### 🚀 Updated Scripts From 89ab0f162c0dfc856b4a82100c4587768f2f161a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 28 Jul 2025 22:14:32 +0200 Subject: [PATCH 022/148] Refactor: grocy (#6307) --- ct/grocy.sh | 26 +++++++++++++------------- install/grocy-install.sh | 20 +++----------------- 2 files changed, 16 insertions(+), 30 deletions(-) diff --git a/ct/grocy.sh b/ct/grocy.sh index 15024fc08..38e189324 100644 --- a/ct/grocy.sh +++ b/ct/grocy.sh @@ -27,20 +27,20 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - php_version=$(php -v | head -n 1 | awk '{print $2}') - if [[ ! $php_version == "8.3"* ]]; then - msg_info "Updating PHP" - curl -fsSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg - echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list - apt-get update - apt-get install -y php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl,sqlite3,fpm,gd,zip,xml} - systemctl reload apache2 - apt autoremove - msg_ok "Updated PHP" + + php_ver=$(php -v | head -n 1 | awk '{print $2}') + if [[ ! $php_ver == "8.3"* ]]; then + PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/grocy/grocy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat ~/.grocy 2>/dev/null)" ]] || [[ ! -f ~/.grocy ]]; then + msg_info "Updating ${APP}" + bash /var/www/html/update.sh + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" fi - msg_info "Updating ${APP}" - bash /var/www/html/update.sh - msg_ok "Updated Successfully" exit } diff --git a/install/grocy-install.sh b/install/grocy-install.sh index 1ae332783..d1e888392 100644 --- a/install/grocy-install.sh +++ b/install/grocy-install.sh @@ -17,23 +17,10 @@ msg_info "Installing Dependencies" $STD apt-get install -y apt-transport-https msg_ok "Installed Dependencies" -msg_info "Installing PHP8.2" -VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)" -curl -fsSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg -echo -e "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $VERSION main" >/etc/apt/sources.list.d/php.list -$STD apt-get update -$STD apt-get install -y php8.2 -$STD apt-get install -y libapache2-mod-php8.2 -$STD apt-get install -y php8.2-sqlite3 -$STD apt-get install -y php8.2-gd -$STD apt-get install -y php8.2-intl -$STD apt-get install -y php8.2-mbstring -msg_ok "Installed PHP8.2" +PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php +fetch_and_deploy_gh_release "grocy" "grocy/grocy" "prebuild" "latest" "/var/www/html" "grocy*.zip" -msg_info "Installing grocy" -latest=$(curl -fsSL https://api.github.com/repos/grocy/grocy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/grocy/grocy/releases/download/v${latest}/grocy_${latest}.zip" -o "grocy_${latest}.zip" -$STD unzip grocy_${latest}.zip -d /var/www/html +msg_info "Configuring grocy" chown -R www-data:www-data /var/www/html cp /var/www/html/config-dist.php /var/www/html/data/config.php chmod +x /var/www/html/update.sh @@ -64,5 +51,4 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove $STD apt-get -y autoclean -rm -rf /root/grocy_${latest}.zip msg_ok "Cleaned" From cc6f56fec8842f449a13b81ffddf10cc4bee5730 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 20:14:52 +0000 Subject: [PATCH 023/148] Update CHANGELOG.md (#6327) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02f3bc71a..618958b30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: grocy [@tremor021](https://github.com/tremor021) ([#6307](https://github.com/community-scripts/ProxmoxVE/pull/6307)) - Refactor: Navidrome [@tremor021](https://github.com/tremor021) ([#6300](https://github.com/community-scripts/ProxmoxVE/pull/6300)) - Refactor: Gotify [@tremor021](https://github.com/tremor021) ([#6301](https://github.com/community-scripts/ProxmoxVE/pull/6301)) - Refactor: Grafana [@tremor021](https://github.com/tremor021) ([#6306](https://github.com/community-scripts/ProxmoxVE/pull/6306)) From 404b9feef200b9d791c45b59ac0d80269c855c06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Mon, 28 Jul 2025 23:21:47 +0200 Subject: [PATCH 024/148] Refactor (#6314) --- ct/cronicle.sh | 29 +++++++++-------------------- frontend/public/json/cronicle.json | 2 +- install/cronicle-install.sh | 8 +++----- 3 files changed, 13 insertions(+), 26 deletions(-) diff --git a/ct/cronicle.sh b/ct/cronicle.sh index 8500a0032..5dc536c38 100644 --- a/ct/cronicle.sh +++ b/ct/cronicle.sh @@ -56,30 +56,18 @@ function update_script() { LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) IP=$(hostname -I | awk '{print $1}') msg_info "Installing Dependencies" - - $STD apt-get install -y git - $STD apt-get install -y make - $STD apt-get install -y g++ - $STD apt-get install -y gcc - $STD apt-get install -y ca-certificates - $STD apt-get install -y gnupg + $STD apt-get install -y \ + git \ + build-essential \ + ca-certificates \ + gnupg2 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" + NODE_VERSION="22" setup_nodejs + fetch_and_deploy_gh_release "cronicle" "jhuckaby/Cronicle" - msg_info "Installing Node.js" - $STD apt-get update - $STD apt-get install -y nodejs - msg_ok "Installed Node.js" - - msg_info "Installing Cronicle Worker" - mkdir -p /opt/cronicle + msg_info "Configuring Cronicle Worker" cd /opt/cronicle - $STD tar zxvf <(curl -fsSL https://github.com/jhuckaby/Cronicle/archive/${LATEST}.tar.gz) --strip-components 1 $STD npm install $STD node bin/build.js dist sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json @@ -88,6 +76,7 @@ function update_script() { chmod 775 /etc/init.d/cronicled $STD update-rc.d cronicled defaults msg_ok "Installed Cronicle Worker" + echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n" exit fi diff --git a/frontend/public/json/cronicle.json b/frontend/public/json/cronicle.json index 8447fd628..395cafb27 100644 --- a/frontend/public/json/cronicle.json +++ b/frontend/public/json/cronicle.json @@ -9,7 +9,7 @@ "updateable": true, "privileged": false, "interface_port": 3012, - "documentation": null, + "documentation": "https://github.com/jhuckaby/Cronicle/blob/master/README.md", "website": "https://github.com/jhuckaby/Cronicle", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/chronicle.webp", "config_path": "/opt/cronicle/conf/config.json", diff --git a/install/cronicle-install.sh b/install/cronicle-install.sh index 9caee26ee..36575bbad 100644 --- a/install/cronicle-install.sh +++ b/install/cronicle-install.sh @@ -14,13 +14,11 @@ network_check update_os NODE_VERSION="22" setup_nodejs +fetch_and_deploy_gh_release "cronicle" "jhuckaby/Cronicle" -msg_info "Installing Cronicle Primary Server" -LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4) +msg_info "Configuring Cronicle Primary Server" IP=$(hostname -I | awk '{print $1}') -mkdir -p /opt/cronicle cd /opt/cronicle -$STD tar zxvf <(curl -fsSL https://github.com/jhuckaby/Cronicle/archive/${LATEST}.tar.gz) --strip-components 1 $STD npm install $STD node bin/build.js dist sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json @@ -29,7 +27,7 @@ $STD /opt/cronicle/bin/control.sh start $STD cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled chmod 775 /etc/init.d/cronicled $STD update-rc.d cronicled defaults -msg_ok "Installed Cronicle Primary Server" +msg_ok "Configured Cronicle Primary Server" motd_ssh customize From c8a107e7302f70ffdd4712997087239a75947f04 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Mon, 28 Jul 2025 21:22:11 +0000 Subject: [PATCH 025/148] Update CHANGELOG.md (#6329) 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 618958b30..75a0fb50a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts - - Refactor: HiveMQ [@tremor021](https://github.com/tremor021) ([#6313](https://github.com/community-scripts/ProxmoxVE/pull/6313)) + - Refactor: Cronicle [@tremor021](https://github.com/tremor021) ([#6314](https://github.com/community-scripts/ProxmoxVE/pull/6314)) +- Refactor: HiveMQ [@tremor021](https://github.com/tremor021) ([#6313](https://github.com/community-scripts/ProxmoxVE/pull/6313)) - #### 🐞 Bug Fixes From 25a8df490290180fcbbb2b245a0bfae560eca0de Mon Sep 17 00:00:00 2001 From: TJ Date: Tue, 29 Jul 2025 05:55:46 +0100 Subject: [PATCH 026/148] Element Synapse CT RAM increased from 1024 to 2048 (#6330) --- ct/elementsynapse.sh | 2 +- frontend/public/json/elementsynapse.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ct/elementsynapse.sh b/ct/elementsynapse.sh index 8560ee6b6..20e150218 100644 --- a/ct/elementsynapse.sh +++ b/ct/elementsynapse.sh @@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV APP="Element Synapse" var_tags="${var_tags:-server}" var_cpu="${var_cpu:-1}" -var_ram="${var_ram:-1024}" +var_ram="${var_ram:-2048}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" var_version="${var_version:-12}" diff --git a/frontend/public/json/elementsynapse.json b/frontend/public/json/elementsynapse.json index 958b18b38..36bfaf1e6 100644 --- a/frontend/public/json/elementsynapse.json +++ b/frontend/public/json/elementsynapse.json @@ -20,7 +20,7 @@ "script": "ct/elementsynapse.sh", "resources": { "cpu": 1, - "ram": 1024, + "ram": 2048, "hdd": 4, "os": "debian", "version": "12" From 22e9c33a2a57378b0416a053eec274b3f86f33e6 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, 29 Jul 2025 04:56:07 +0000 Subject: [PATCH 027/148] Update CHANGELOG.md (#6332) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75a0fb50a..35c9bcb95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,14 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-07-29 + +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - Element Synapse CT RAM increased from 1024 to 2048 [@tjcomserv](https://github.com/tjcomserv) ([#6330](https://github.com/community-scripts/ProxmoxVE/pull/6330)) + ## 2025-07-28 ### 🚀 Updated Scripts From 5a889d8fc694302b196b69538eaa525220873faa Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Tue, 29 Jul 2025 07:05:41 +0200 Subject: [PATCH 028/148] crafty: fix: spelling (#6304) * crafty: fix: spelling * Update crafty-controller-install.sh --- install/crafty-controller-install.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/install/crafty-controller-install.sh b/install/crafty-controller-install.sh index d12e9ae6f..7d6493c84 100644 --- a/install/crafty-controller-install.sh +++ b/install/crafty-controller-install.sh @@ -24,10 +24,7 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" msg_info "Setting up TemurinJDK" -mkdir -p /etc/apt/keyrings -curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | tee /etc/apt/keyrings/adoptium.asc -echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list -$STD apt-get update +setup_java $STD apt-get install -y temurin-{8,11,17,21}-jre sudo update-alternatives --set java /usr/lib/jvm/temurin-21-jre-amd64/bin/java msg_ok "Installed TemurinJDK" @@ -41,7 +38,7 @@ $STD apt-get install -y \ rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED msg_ok "Setup Python3" -msg_info "Installing Craty-Controller (Patience)" +msg_info "Installing Crafty-Controller (Patience)" useradd crafty -m -s /bin/bash cd /opt mkdir -p /opt/crafty-controller/crafty /opt/crafty-controller/server From 34da66600d88a393a7274e6b452ed4c80d8ae78b 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, 29 Jul 2025 08:30:32 +0200 Subject: [PATCH 029/148] Refactor: Autobrr (#6302) * Refactor * Update * Update autobrr.sh --- ct/autobrr.sh | 30 ++++++++++++++++-------------- install/autobrr-install.sh | 20 +++++++++++--------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/ct/autobrr.sh b/ct/autobrr.sh index 3cb5fad10..35ee681a2 100644 --- a/ct/autobrr.sh +++ b/ct/autobrr.sh @@ -27,22 +27,24 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - msg_info "Stopping ${APP} LXC" - systemctl stop autobrr.service - msg_ok "Stopped ${APP} LXC" - msg_info "Updating ${APP} LXC" - rm -rf /usr/local/bin/* - curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)") - tar -C /usr/local/bin -xzf autobrr*.tar.gz - rm -rf autobrr*.tar.gz - msg_ok "Updated ${APP} LXC" + RELEASE=$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat ~/.autobrr 2>/dev/null)" ]] || [[ ! -f ~/.autobrr ]]; then + msg_info "Stopping ${APP} LXC" + systemctl stop autobrr + msg_ok "Stopped ${APP} LXC" - msg_info "Starting ${APP} LXC" - systemctl start autobrr.service - msg_ok "Started ${APP} LXC" - msg_ok "Updated Successfully" - exit + fetch_and_deploy_gh_release "autobrr" "autobrr/autobrr" "prebuild" "latest" "/usr/local/bin" "autobrr_*_linux_x86_64.tar.gz" + + msg_info "Starting ${APP} LXC" + systemctl start autobrr + msg_ok "Started ${APP} LXC" + + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start diff --git a/install/autobrr-install.sh b/install/autobrr-install.sh index 06febc839..42f7af37f 100644 --- a/install/autobrr-install.sh +++ b/install/autobrr-install.sh @@ -13,10 +13,9 @@ setting_up_container network_check update_os -msg_info "Installing Autobrr" -curl -fsSL "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)") -tar -C /usr/local/bin -xzf autobrr*.tar.gz -rm -rf autobrr*.tar.gz +fetch_and_deploy_gh_release "autobrr" "autobrr/autobrr" "prebuild" "latest" "/usr/local/bin" "autobrr_*_linux_x86_64.tar.gz" + +msg_info "Configuring Autobrr" mkdir -p /root/.config/autobrr cat <>/root/.config/autobrr/config.toml # https://autobrr.com/configuration/autobrr @@ -25,21 +24,24 @@ port = 7474 logLevel = "DEBUG" sessionSecret = "$(openssl rand -base64 24)" EOF -msg_ok "Installed Autobrr" +msg_ok "Configured Autobrr" msg_info "Creating Service" -service_path="/etc/systemd/system/autobrr.service" -echo "[Unit] +cat </etc/systemd/system/autobrr.service +[Unit] Description=autobrr service After=syslog.target network-online.target + [Service] Type=simple User=root Group=root ExecStart=/usr/local/bin/autobrr --config=/root/.config/autobrr/ + [Install] -WantedBy=multi-user.target" >$service_path -systemctl enable --now -q autobrr.service +WantedBy=multi-user.target +EOF +systemctl enable --now -q autobrr msg_ok "Created Service" motd_ssh From e54ed7dc3547607d33173482970d5394160cfa03 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, 29 Jul 2025 06:30:51 +0000 Subject: [PATCH 030/148] Update CHANGELOG.md (#6334) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35c9bcb95..6a93d9c16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - Element Synapse CT RAM increased from 1024 to 2048 [@tjcomserv](https://github.com/tjcomserv) ([#6330](https://github.com/community-scripts/ProxmoxVE/pull/6330)) + - #### 🔧 Refactor + + - Refactor: Autobrr [@tremor021](https://github.com/tremor021) ([#6302](https://github.com/community-scripts/ProxmoxVE/pull/6302)) + ## 2025-07-28 ### 🚀 Updated Scripts From 202eb3fb2a687cb22cbdb4aaa9a6de950839ecc6 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Tue, 29 Jul 2025 12:24:21 +0200 Subject: [PATCH 031/148] Refactor: Photoprism (#6335) --- ct/photoprism.sh | 37 +++++++++++------ install/photoprism-install.sh | 78 +++++++++++++++++++++++++++-------- 2 files changed, 85 insertions(+), 30 deletions(-) diff --git a/ct/photoprism.sh b/ct/photoprism.sh index 13e923afb..024289348 100644 --- a/ct/photoprism.sh +++ b/ct/photoprism.sh @@ -27,22 +27,35 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - msg_info "Stopping PhotoPrism" - sudo systemctl stop photoprism - msg_ok "Stopped PhotoPrism" - msg_info "Updating PhotoPrism" - $STD apt-get install -y libvips42 - curl -fsSL https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xzf - -C /opt/photoprism --strip-components=1 - msg_ok "Updated PhotoPrism" + RELEASE=$(curl -fsSL https://api.github.com/repos/photoprism/photoprism/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ "${RELEASE}" != "$(cat ~/.photoprism 2>/dev/null)" ]] || [[ ! -f ~/.photoprism ]]; then + msg_info "Stopping PhotoPrism" + systemctl stop photoprism + msg_ok "Stopped PhotoPrism" - msg_info "Starting PhotoPrism" - sudo systemctl start photoprism - msg_ok "Started PhotoPrism" - msg_ok "Update Successful" + fetch_and_deploy_gh_release "photoprism" "photoprism/photoprism" "prebuild" "latest" "/opt/photoprism" "*linux-amd64.tar.gz" + + LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1) + if [[ "${LIBHEIF_URL}" != "$(cat ~/.photoprism_libheif 2>/dev/null)" ]] || [[ ! -f ~/.photoprism_libheif ]]; then + msg_info "Updating PhotoPrism LibHeif" + $STD apt-get install -y libvips42 + curl -fsSL "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" -o /tmp/libheif.tar.gz + tar -xzf /tmp/libheif.tar.gz -C /usr/local + ldconfig + echo "${LIBHEIF_URL}" >~/.photoprism_libheif + msg_ok "Updated PhotoPrism LibHeif" + fi + + msg_info "Starting PhotoPrism" + systemctl start photoprism + msg_ok "Started PhotoPrism" + msg_ok "Update Successful" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi exit } - start build_container description diff --git a/install/photoprism-install.sh b/install/photoprism-install.sh index 84fb1dde1..3334ff1ac 100644 --- a/install/photoprism-install.sh +++ b/install/photoprism-install.sh @@ -15,48 +15,90 @@ update_os msg_info "Installing Dependencies (Patience)" $STD apt-get install -y \ - exiftool \ - ffmpeg \ - libheif1 \ - libpng-dev \ - libjpeg-dev \ - libtiff-dev \ - imagemagick \ - darktable \ - rawtherapee \ - libvips42 \ - lsb-release + exiftool \ + ffmpeg \ + libheif1 \ + libpng-dev \ + libjpeg-dev \ + libtiff-dev \ + imagemagick \ + darktable \ + rawtherapee \ + libvips42 \ + lsb-release echo 'export PATH=/usr/local:$PATH' >>~/.bashrc export PATH=/usr/local:$PATH msg_ok "Installed Dependencies" +fetch_and_deploy_gh_release "photoprism" "photoprism/photoprism" "prebuild" "latest" "/opt/photoprism" "*linux-amd64.tar.gz" + msg_info "Installing PhotoPrism (Patience)" mkdir -p /opt/photoprism/{cache,config,photos,storage,temp} mkdir -p /opt/photoprism/photos/{originals,import} mkdir -p /opt/photoprism_backups -curl -fsSL https://dl.photoprism.app/pkg/linux/amd64.tar.gz | tar -xz -C /opt/photoprism --strip-components=1 LIBHEIF_URL=$(curl -fsSL "https://dl.photoprism.app/dist/libheif/" | grep -oP "libheif-$(lsb_release -cs)-amd64-v[0-9\.]+\.tar\.gz" | sort -V | tail -n 1) -curl -fsSL "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" | tar -xzf - -C /usr/local --strip-components=1 +curl -fsSL "https://dl.photoprism.app/dist/libheif/$LIBHEIF_URL" -o /tmp/libheif.tar.gz +tar -xzf /tmp/libheif.tar.gz -C /usr/local ldconfig +echo "${LIBHEIF_URL}" >~/.photoprism_libheif chmod -R 755 /opt/photoprism/photos/originals cat </opt/photoprism/config/.env -PHOTOPRISM_AUTH_MODE='password' +# Authentication +PHOTOPRISM_ADMIN_USER='admin' PHOTOPRISM_ADMIN_PASSWORD='changeme' +PHOTOPRISM_AUTH_MODE='password' +PHOTOPRISM_PUBLIC='false' + +# Network / HTTP PHOTOPRISM_HTTP_HOST='0.0.0.0' PHOTOPRISM_HTTP_PORT='2342' -PHOTOPRISM_SITE_CAPTION='https://Helper-Scripts.com' +PHOTOPRISM_SITE_URL='http://localhost:2342/' +PHOTOPRISM_DISABLE_TLS='true' +PHOTOPRISM_DEFAULT_TLS='false' +PHOTOPRISM_HTTP_COMPRESSION='gzip' + +# Features & AI +PHOTOPRISM_DISABLE_TENSORFLOW='false' +PHOTOPRISM_DISABLE_FACES='false' +PHOTOPRISM_DISABLE_CLASSIFICATION='false' +PHOTOPRISM_DISABLE_VECTORS='false' +PHOTOPRISM_DETECT_NSFW='false' +PHOTOPRISM_UPLOAD_NSFW='true' + +# Paths & Storage PHOTOPRISM_STORAGE_PATH='/opt/photoprism/storage' PHOTOPRISM_ORIGINALS_PATH='/opt/photoprism/photos/originals' PHOTOPRISM_IMPORT_PATH='/opt/photoprism/photos/import' PHOTOPRISM_BACKUP_PATH='/opt/photoprism_backups' + +# Database PHOTOPRISM_DATABASE_DRIVER='sqlite' -PHOTOPRISM_DISABLE_WEBDAV='false' -PHOTOPRISM_DISABLE_FACES='false' + +# Behavior & Options PHOTOPRISM_AUTO_INDEX='300' PHOTOPRISM_AUTO_IMPORT='-1' -PHOTOPRISM_PUBLIC='false' +PHOTOPRISM_DISABLE_WEBDAV='false' +PHOTOPRISM_READONLY='false' +PHOTOPRISM_DISABLE_SETTINGS='false' +PHOTOPRISM_DISABLE_CHOWN='false' +PHOTOPRISM_EXPERIMENTAL='false' +PHOTOPRISM_INIT='https tensorflow' + +# Image Processing +PHOTOPRISM_ORIGINALS_LIMIT='5000' +PHOTOPRISM_JPEG_QUALITY='85' +PHOTOPRISM_RAW_PRESETS='false' +PHOTOPRISM_DISABLE_RAW='false' + +# Debug & Logging PHOTOPRISM_DEBUG='false' +PHOTOPRISM_LOG_LEVEL='info' + +# Site Info +PHOTOPRISM_SITE_CAPTION='https://Helper-Scripts.com' +PHOTOPRISM_SITE_DESCRIPTION='' +PHOTOPRISM_SITE_AUTHOR='' EOF ln -sf /opt/photoprism/bin/photoprism /usr/local/bin/photoprism From 1f101c0bd39cc84a01e5c76f72185e3a1fde8b23 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, 29 Jul 2025 10:24:45 +0000 Subject: [PATCH 032/148] Update CHANGELOG.md (#6339) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a93d9c16..548efd58b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Photoprism [@MickLesk](https://github.com/MickLesk) ([#6335](https://github.com/community-scripts/ProxmoxVE/pull/6335)) - Refactor: Autobrr [@tremor021](https://github.com/tremor021) ([#6302](https://github.com/community-scripts/ProxmoxVE/pull/6302)) ## 2025-07-28 From 10db421c45a1263df552cd09cf21613783417436 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20B=C3=A9dard-Couture?= Date: Tue, 29 Jul 2025 06:26:55 -0400 Subject: [PATCH 033/148] Update keycloak script to support configuration of latest release (v26) (#6322) * Update keycloak script to support configuration of latest release (v26) * Add quotes around default credential values * fix update script Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> * spelling "restarting" Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> * remove temp file and spelling Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> --------- Signed-off-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com> --- ct/keycloak.sh | 35 ++++++++++++--------- frontend/public/json/keycloak.json | 10 ++++-- install/keycloak-install.sh | 49 +++++++++++++++++++----------- 3 files changed, 58 insertions(+), 36 deletions(-) diff --git a/ct/keycloak.sh b/ct/keycloak.sh index 19096cb36..02fe4612a 100644 --- a/ct/keycloak.sh +++ b/ct/keycloak.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) +# Author: tteck (tteckster) | Co-Author: remz1337 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://www.keycloak.org/ @@ -23,34 +23,39 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -f /etc/systemd/system/keycloak.service ]]; then + if [[ ! -d /opt/keycloak ]]; then msg_error "No ${APP} Installation Found!" exit fi - msg_info "Updating ${APP} LXC" + + msg_info "Stopping Keycloak" + systemctl stop keycloak + msg_ok "Stopped Keycloak" msg_info "Updating packages" $STD apt-get update $STD apt-get -y upgrade + msg_ok "Updated packages" - RELEASE=$(curl -fsSL https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - msg_info "Updating Keycloak to v$RELEASE" + msg_info "Backup old Keycloak" cd /opt - curl -fsSL "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz" -o $(basename "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz") mv keycloak keycloak.old - tar -xzf keycloak-$RELEASE.tar.gz - cp -r keycloak.old/conf keycloak-$RELEASE - cp -r keycloak.old/providers keycloak-$RELEASE - cp -r keycloak.old/themes keycloak-$RELEASE - mv keycloak-$RELEASE keycloak + tar -czf keycloak_conf_backup.tar.gz keycloak.old/conf + msg_ok "Backup done" - msg_info "Delete temporary installation files" - rm keycloak-$RELEASE.tar.gz + fetch_and_deploy_gh_release "keycloak" "keycloak/keycloak" "prebuild" "latest" "/opt/keycloak" "keycloak-*.tar.gz" + + msg_info "Updating ${APP}" + cd /opt + mv keycloak_conf_backup.tar.gz keycloak/conf + cp -r keycloak.old/providers keycloak + cp -r keycloak.old/themes keycloak rm -rf keycloak.old + msg_ok "Updated ${APP} LXC" - msg_info "Restating Keycloak" + msg_info "Restarting Keycloak" systemctl restart keycloak - msg_ok "Updated Successfully" + msg_ok "Restarted Keycloak" exit } diff --git a/frontend/public/json/keycloak.json b/frontend/public/json/keycloak.json index bf1203c42..f51da3b3a 100644 --- a/frontend/public/json/keycloak.json +++ b/frontend/public/json/keycloak.json @@ -6,7 +6,7 @@ ], "date_created": "2024-05-02", "type": "ct", - "updateable": false, + "updateable": true, "privileged": false, "interface_port": 8080, "documentation": "https://www.keycloak.org/documentation", @@ -28,8 +28,8 @@ } ], "default_credentials": { - "username": null, - "password": null + "username": "tmpadm", + "password": "admin123" }, "notes": [ { @@ -39,6 +39,10 @@ { "text": "This script requires some extra steps after the installation, Please checkout the `https://github.com/community-scripts/ProxmoxVE/discussions/193`", "type": "info" + }, + { + "text": "When updating, if you had modified cache-ispn.xml: Re-apply your changes to the new file, otherwise leave it unchanged.", + "type": "info" } ] } diff --git a/install/keycloak-install.sh b/install/keycloak-install.sh index 26127ae7b..83bc5a35d 100644 --- a/install/keycloak-install.sh +++ b/install/keycloak-install.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Copyright (c) 2021-2025 community-scripts ORG -# Author: tteck (tteckster) | Co-Author: Slaviša Arežina (tremor021) +# Author: tteck (tteckster) | Co-Author: Slaviša Arežina (tremor021), remz1337 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/keycloak/keycloak @@ -13,32 +13,46 @@ setting_up_container network_check update_os -msg_info "Installing OpenJDK" -curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg -echo 'deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/adoptium.gpg] https://packages.adoptium.net/artifactory/deb bookworm main' >/etc/apt/sources.list.d/adoptium.list -$STD apt-get update -$STD apt-get install -y temurin-21-jre -msg_ok "Installed OpenJDK" +JAVA_VERSION=21 setup_java +PG_VERSION=16 setup_postgresql -msg_info "Installing Keycloak" -temp_file=$(mktemp) -RELEASE=$(curl -fsSL https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz" -o "$temp_file" -tar xzf $temp_file -mv keycloak-$RELEASE /opt/keycloak -msg_ok "Installed Keycloak" +msg_info "Configuring PostgreSQL" +DB_NAME="keycloak" +DB_USER="keycloak" +DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)" +$STD sudo -u postgres psql -c "CREATE USER $DB_USER WITH PASSWORD '$DB_PASS';" +$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8';" +$STD sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER;" +msg_ok "Configured PostgreSQL" + +fetch_and_deploy_gh_release "keycloak" "keycloak/keycloak" "prebuild" "latest" "/opt/keycloak" "keycloak-*.tar.gz" msg_info "Creating Service" cat </etc/systemd/system/keycloak.service [Unit] Description=Keycloak Service -After=network.target +Requires=network.target +After=syslog.target network-online.target [Service] +Type=idle User=root WorkingDirectory=/opt/keycloak -ExecStart=/opt/keycloak/bin/kc.sh start-dev - +ExecStart=/opt/keycloak/bin/kc.sh start +ExecStop=/opt/keycloak/bin/kc.sh stop +Restart=always +RestartSec=3 +Environment="JAVA_HOME=/usr/lib/jvm/temurin-21-jdk-amd64" +Environment="KC_DB=postgres" +Environment="KC_DB_USERNAME=$DB_USER" +Environment="KC_DB_PASSWORD=$DB_PASS" +Environment="KC_HTTP_ENABLED=true" +Environment="KC_BOOTSTRAP_ADMIN_USERNAME=tmpadm" +Environment="KC_BOOTSTRAP_ADMIN_PASSWORD=admin123" +# Comment following line and uncomment the next 2 if working behind a reverse proxy +Environment="KC_HOSTNAME_STRICT=false" +#Environment="KC_HOSTNAME=keycloak.example.com" +#Environment="KC_PROXY_HEADERS=xforwarded" [Install] WantedBy=multi-user.target EOF @@ -49,7 +63,6 @@ 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 241df52ae5f18057ec2c5a6b675377b0346123a6 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, 29 Jul 2025 10:27:20 +0000 Subject: [PATCH 034/148] Update CHANGELOG.md (#6340) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 548efd58b..b328523ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Update keycloak script to support configuration of latest release (v26) [@remz1337](https://github.com/remz1337) ([#6322](https://github.com/community-scripts/ProxmoxVE/pull/6322)) - Refactor: Photoprism [@MickLesk](https://github.com/MickLesk) ([#6335](https://github.com/community-scripts/ProxmoxVE/pull/6335)) - Refactor: Autobrr [@tremor021](https://github.com/tremor021) ([#6302](https://github.com/community-scripts/ProxmoxVE/pull/6302)) From 5af772af2fe6d4e67b6068b86c4187e1891c77d7 Mon Sep 17 00:00:00 2001 From: leiweibau <105860611+leiweibau@users.noreply.github.com> Date: Tue, 29 Jul 2025 12:39:59 +0200 Subject: [PATCH 035/148] Update pialert-install.sh (#6337) --- install/pialert-install.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/install/pialert-install.sh b/install/pialert-install.sh index 595dd1e10..302278a31 100644 --- a/install/pialert-install.sh +++ b/install/pialert-install.sh @@ -29,7 +29,8 @@ $STD apt-get -y install \ aria2 \ wakeonlan \ fping \ - zip + zip \ + libtext-csv-perl msg_ok "Installed Dependencies" msg_info "Installing PHP Dependencies" @@ -50,7 +51,9 @@ $STD apt-get -y install \ python3-requests \ python3-tz \ python3-tzlocal \ - python3-aiohttp + python3-aiohttp \ + python3-paho-mqtt \ + python3-cryptography rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED $STD pip3 install mac-vendor-lookup $STD pip3 install fritzconnection From 0ca012642075c2c01ab6ee9336b42a798bbdaa35 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, 29 Jul 2025 10:40:23 +0000 Subject: [PATCH 036/148] Update CHANGELOG.md (#6341) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b328523ab..968131c87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - Element Synapse CT RAM increased from 1024 to 2048 [@tjcomserv](https://github.com/tjcomserv) ([#6330](https://github.com/community-scripts/ProxmoxVE/pull/6330)) + - #### ✨ New Features + + - PiAlert: add new dependencies [@leiweibau](https://github.com/leiweibau) ([#6337](https://github.com/community-scripts/ProxmoxVE/pull/6337)) + - #### 🔧 Refactor - Update keycloak script to support configuration of latest release (v26) [@remz1337](https://github.com/remz1337) ([#6322](https://github.com/community-scripts/ProxmoxVE/pull/6322)) From d4146e0d43946638dcbe4c2775ba99ee399f5247 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, 29 Jul 2025 10:40:47 +0000 Subject: [PATCH 037/148] Update CHANGELOG.md (#6342) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 968131c87..8c97cab8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,11 +16,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes - - Element Synapse CT RAM increased from 1024 to 2048 [@tjcomserv](https://github.com/tjcomserv) ([#6330](https://github.com/community-scripts/ProxmoxVE/pull/6330)) - - - #### ✨ New Features - - PiAlert: add new dependencies [@leiweibau](https://github.com/leiweibau) ([#6337](https://github.com/community-scripts/ProxmoxVE/pull/6337)) + - Element Synapse CT RAM increased from 1024 to 2048 [@tjcomserv](https://github.com/tjcomserv) ([#6330](https://github.com/community-scripts/ProxmoxVE/pull/6330)) - #### 🔧 Refactor From 498723fd621ac03a65d8fff21bdd112ebd387f7e 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, 29 Jul 2025 14:05:51 +0200 Subject: [PATCH 038/148] Update versions.json (#6345) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 180 ++++++++++++++--------------- 1 file changed, 90 insertions(+), 90 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 844e5a0c9..baf819615 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,94 @@ [ + { + "name": "apache/cassandra", + "version": "5.0.5-tentative", + "date": "2025-07-29T10:00:00Z" + }, + { + "name": "bunkerity/bunkerweb", + "version": "v1.6.2", + "date": "2025-07-08T13:52:33Z" + }, + { + "name": "morpheus65535/bazarr", + "version": "v1.5.3-beta.10", + "date": "2025-07-15T06:07:03Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2207", + "date": "2025-07-29T05:57:09Z" + }, + { + "name": "rogerfar/rdt-client", + "version": "v2.0.115", + "date": "2025-07-29T04:38:35Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" + }, + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.16", + "date": "2025-07-28T22:46:46Z" + }, + { + "name": "Luligu/matterbridge", + "version": "3.1.8", + "date": "2025-07-28T21:28:33Z" + }, + { + "name": "diced/zipline", + "version": "v4.2.1", + "date": "2025-07-28T19:25:48Z" + }, + { + "name": "HabitRPG/habitica", + "version": "v5.38.0", + "date": "2025-07-28T19:17:42Z" + }, + { + "name": "navidrome/navidrome", + "version": "v0.58.0", + "date": "2025-07-28T18:59:50Z" + }, + { + "name": "ollama/ollama", + "version": "v0.10.0-rc2", + "date": "2025-07-25T21:24:06Z" + }, + { + "name": "keycloak/keycloak", + "version": "26.3.2", + "date": "2025-07-24T10:14:27Z" + }, + { + "name": "AdguardTeam/AdGuardHome", + "version": "v0.107.64", + "date": "2025-07-28T14:24:56Z" + }, + { + "name": "alexta69/metube", + "version": "2025-07-27", + "date": "2025-07-28T15:57:09Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.103.2", + "date": "2025-07-22T11:22:26Z" + }, + { + "name": "adityachandelgit/BookLore", + "version": "v0.35.0", + "date": "2025-07-28T14:20:30Z" + }, + { + "name": "meilisearch/meilisearch", + "version": "v1.16.0-prototype-personalization-00", + "date": "2025-07-28T11:53:37Z" + }, { "name": "Graylog2/graylog2-server", "version": "7.0.0-alpha.1", @@ -14,11 +104,6 @@ "version": "v1.2.6", "date": "2025-07-28T09:31:34Z" }, - { - "name": "mattermost/mattermost", - "version": "v9.11.18", - "date": "2025-07-22T06:18:08Z" - }, { "name": "gotson/komga", "version": "1.23.0", @@ -44,11 +129,6 @@ "version": "2025.7.4", "date": "2025-07-28T07:33:36Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2202", - "date": "2025-07-28T06:00:10Z" - }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.21", @@ -64,11 +144,6 @@ "version": "v1.28.1", "date": "2025-07-28T01:39:35Z" }, - { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" - }, { "name": "umami-software/umami", "version": "v2.19.0", @@ -94,11 +169,6 @@ "version": "1.6.16", "date": "2025-07-27T14:48:37Z" }, - { - "name": "keycloak/keycloak", - "version": "26.3.2", - "date": "2025-07-24T10:14:27Z" - }, { "name": "project-zot/zot", "version": "v2.1.6", @@ -129,11 +199,6 @@ "version": "v0.7.17-beta", "date": "2025-07-25T22:03:43Z" }, - { - "name": "ollama/ollama", - "version": "v0.10.0-rc1", - "date": "2025-07-22T20:40:47Z" - }, { "name": "homarr-labs/homarr", "version": "v1.30.1", @@ -169,16 +234,6 @@ "version": "v12.0.1", "date": "2025-07-25T11:54:30Z" }, - { - "name": "Luligu/matterbridge", - "version": "3.1.7", - "date": "2025-07-25T10:19:56Z" - }, - { - "name": "morpheus65535/bazarr", - "version": "v1.5.3-beta.10", - "date": "2025-07-15T06:07:03Z" - }, { "name": "ErsatzTV/ErsatzTV", "version": "v25.3.1", @@ -214,11 +269,6 @@ "version": "v1.136.0", "date": "2025-07-24T16:42:30Z" }, - { - "name": "meilisearch/meilisearch", - "version": "prototype-cellulite-1", - "date": "2025-07-24T16:32:57Z" - }, { "name": "grokability/snipe-it", "version": "v8.2.1", @@ -284,11 +334,6 @@ "version": "v1.37.0.5076", "date": "2025-06-04T11:04:53Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.103.2", - "date": "2025-07-22T11:22:26Z" - }, { "name": "zabbix/zabbix", "version": "7.4.1rc1", @@ -344,11 +389,6 @@ "version": "v1.6.11", "date": "2025-07-22T12:11:38Z" }, - { - "name": "adityachandelgit/BookLore", - "version": "v0.34.1", - "date": "2025-07-22T05:57:50Z" - }, { "name": "lazy-media/Reactive-Resume", "version": "v1.2.2", @@ -369,11 +409,6 @@ "version": "r8.2.0-rc0", "date": "2025-07-21T19:07:52Z" }, - { - "name": "HabitRPG/habitica", - "version": "v5.37.2", - "date": "2025-07-21T14:08:35Z" - }, { "name": "tobychui/zoraxy", "version": "v3.2.5r2", @@ -444,11 +479,6 @@ "version": "v5.6.0", "date": "2025-07-19T13:34:36Z" }, - { - "name": "bunkerity/bunkerweb", - "version": "v1.6.2", - "date": "2025-07-08T13:52:33Z" - }, { "name": "pocketbase/pocketbase", "version": "v0.29.0", @@ -664,11 +694,6 @@ "version": "16.0", "date": "2025-07-09T13:28:43Z" }, - { - "name": "AdguardTeam/AdGuardHome", - "version": "v0.107.63", - "date": "2025-06-26T14:34:19Z" - }, { "name": "mysql/mysql-server", "version": "mysql-cluster-9.4.0", @@ -769,11 +794,6 @@ "version": "release-5.1.2", "date": "2025-07-02T06:13:16Z" }, - { - "name": "diced/zipline", - "version": "v4.2.0", - "date": "2025-07-02T00:45:31Z" - }, { "name": "sysadminsmedia/homebox", "version": "v0.20.2", @@ -789,11 +809,6 @@ "version": "2025.4", "date": "2025-07-01T18:01:37Z" }, - { - "name": "navidrome/navidrome", - "version": "v0.57.0", - "date": "2025-07-01T16:47:46Z" - }, { "name": "MagicMirrorOrg/MagicMirror", "version": "v2.32.0", @@ -844,11 +859,6 @@ "version": "0.17.14", "date": "2025-06-21T23:43:04Z" }, - { - "name": "rogerfar/rdt-client", - "version": "v2.0.114", - "date": "2025-06-21T11:20:21Z" - }, { "name": "Sonarr/Sonarr", "version": "v4.0.15.2941", @@ -1014,11 +1024,6 @@ "version": "0.19.2", "date": "2025-05-29T14:39:17Z" }, - { - "name": "apache/cassandra", - "version": "cassandra-4.0.18", - "date": "2025-05-28T21:45:55Z" - }, { "name": "Athou/commafeed", "version": "5.10.0", @@ -1393,10 +1398,5 @@ "name": "pterodactyl/wings", "version": "v1.11.13", "date": "2024-05-08T04:20:34Z" - }, - { - "name": "CrazyWolf13/web-check", - "version": "1.0.0", - "date": "2024-05-05T02:01:51Z" } ] From 70cb8198fd47264ef3bf8bfd9e772640613f6683 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, 29 Jul 2025 14:52:19 +0200 Subject: [PATCH 039/148] Refactor: Jackett (#6344) * Refactor * Update --- ct/jackett.sh | 21 +++++++++++---------- frontend/public/json/jackett.json | 4 ++-- install/jackett-install.sh | 13 ++++--------- 3 files changed, 17 insertions(+), 21 deletions(-) diff --git a/ct/jackett.sh b/ct/jackett.sh index 1aea55e5a..4cebe010a 100644 --- a/ct/jackett.sh +++ b/ct/jackett.sh @@ -27,17 +27,18 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://github.com/Jackett/Jackett/releases/latest | grep "title>Release" | cut -d " " -f 4) - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Updating ${APP}" - curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o $(basename "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz") - systemctl stop jackett + + if [ ! -f /opt/.env ]; then + sed -i 's|^Environment="DisableRootWarning=true"$|EnvironmentFile="/opt/.env"|' /etc/systemd/system/jackett.service + cat </opt/.env +DisableRootWarning=true +EOF + fi + + RELEASE=$(curl -s https://api.github.com/repos/Jackett/Jackett/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat ~/.jackett 2>/dev/null)" ]] || [[ ! -f ~/.jackett ]]; then rm -rf /opt/Jackett - tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt - rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz - systemctl start jackett - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to ${RELEASE}" + fetch_and_deploy_gh_release "jackett" "Jackett/Jackett" "prebuild" "latest" "/opt/Jackett" "Jackett.Binaries.LinuxAMDx64.tar.gz" else msg_ok "No update required. ${APP} is already at ${RELEASE}" fi diff --git a/frontend/public/json/jackett.json b/frontend/public/json/jackett.json index fe681dce8..6ee1016c1 100644 --- a/frontend/public/json/jackett.json +++ b/frontend/public/json/jackett.json @@ -6,13 +6,13 @@ ], "date_created": "2024-05-02", "type": "ct", - "updateable": false, + "updateable": true, "privileged": false, "interface_port": 9117, "documentation": "https://github.com/Jackett/Jackett/wiki", "website": "https://github.com/Jackett/Jackett", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/jackett.webp", - "config_path": "", + "config_path": "/opt/.env", "description": "Jackett supports a wide range of trackers, including popular ones like The Pirate Bay, RARBG, and Torrentz2, as well as many private trackers. It can be integrated with several BitTorrent clients, including qBittorrent, Deluge, and uTorrent, among others.", "install_methods": [ { diff --git a/install/jackett-install.sh b/install/jackett-install.sh index 196a39d78..7ef45bcc9 100644 --- a/install/jackett-install.sh +++ b/install/jackett-install.sh @@ -13,20 +13,14 @@ setting_up_container network_check update_os -msg_info "Installing Jackett" -RELEASE=$(curl -fsSL https://github.com/Jackett/Jackett/releases/latest | grep "title>Release" | cut -d " " -f 4) -cd /opt -curl -fsSL "https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz" -o "Jackett.Binaries.LinuxAMDx64.tar.gz" -tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt -rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Installed Jackett" +fetch_and_deploy_gh_release "jackett" "Jackett/Jackett" "prebuild" "latest" "/opt/Jackett" "Jackett.Binaries.LinuxAMDx64.tar.gz" msg_info "Creating Service" cat </etc/systemd/system/jackett.service [Unit] Description=Jackett Daemon After=network.target + [Service] SyslogIdentifier=jackett Restart=always @@ -35,7 +29,8 @@ Type=simple WorkingDirectory=/opt/Jackett ExecStart=/bin/sh /opt/Jackett/jackett_launcher.sh TimeoutStopSec=30 -Environment="DisableRootWarning=true" +EnvironmentFile="/opt/.env" + [Install] WantedBy=multi-user.target EOF From 6450c3c6a48a9eafda2d118c576eeec157e5ba2c 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, 29 Jul 2025 12:52:43 +0000 Subject: [PATCH 040/148] Update CHANGELOG.md (#6348) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c97cab8e..d77e15145 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Jackett [@tremor021](https://github.com/tremor021) ([#6344](https://github.com/community-scripts/ProxmoxVE/pull/6344)) - Update keycloak script to support configuration of latest release (v26) [@remz1337](https://github.com/remz1337) ([#6322](https://github.com/community-scripts/ProxmoxVE/pull/6322)) - Refactor: Photoprism [@MickLesk](https://github.com/MickLesk) ([#6335](https://github.com/community-scripts/ProxmoxVE/pull/6335)) - Refactor: Autobrr [@tremor021](https://github.com/tremor021) ([#6302](https://github.com/community-scripts/ProxmoxVE/pull/6302)) From 5597f7fc410b9a99da737f77da9bca940144a587 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, 29 Jul 2025 14:53:08 +0200 Subject: [PATCH 041/148] Refactor (#6343) --- ct/inspircd.sh | 13 +++---------- install/inspircd-install.sh | 11 +++-------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/ct/inspircd.sh b/ct/inspircd.sh index c3f202851..cecc192ee 100644 --- a/ct/inspircd.sh +++ b/ct/inspircd.sh @@ -27,26 +27,19 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ "${RELEASE}" != "$(cat ~/.inspircd 2>/dev/null)" ]] || [[ ! -f ~/.inspircd ]]; then msg_info "Stopping Service" systemctl stop inspircd msg_ok "Stopped Service" - msg_info "Updating ${APP} to v${RELEASE}" - cd /opt - curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb" -o $(basename "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb") - $STD apt-get install "./inspircd_${RELEASE}.deb12u2_amd64.deb" -y - echo "${RELEASE}" >"/opt/${APP}_version.txt" - msg_ok "Updated ${APP} to v${RELEASE}" + fetch_and_deploy_gh_release "inspircd" "inspircd/inspircd" "binary" msg_info "Starting Service" systemctl start inspircd msg_ok "Started Service" - msg_info "Cleaning up" - rm -rf /opt/inspircd_${RELEASE}.deb12u2_amd64.deb - msg_ok "Cleaned" msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at v${RELEASE}." diff --git a/install/inspircd-install.sh b/install/inspircd-install.sh index 77620dcf1..502f88e58 100644 --- a/install/inspircd-install.sh +++ b/install/inspircd-install.sh @@ -13,11 +13,9 @@ setting_up_container network_check update_os -msg_info "Installing InspIRCd" -RELEASE=$(curl -fsSL https://api.github.com/repos/inspircd/inspircd/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -cd /opt -curl -fsSL "https://github.com/inspircd/inspircd/releases/download/v${RELEASE}/inspircd_${RELEASE}.deb12u2_amd64.deb" -o "inspircd_${RELEASE}.deb12u2_amd64.deb" -$STD apt-get install "./inspircd_${RELEASE}.deb12u2_amd64.deb" -y &>/dev/null +fetch_and_deploy_gh_release "inspircd" "inspircd/inspircd" "binary" + +msg_info "Configuring InspIRCd" cat </etc/inspircd/inspircd.conf @@ -32,15 +30,12 @@ cat </etc/inspircd/inspircd.conf email="irc@&networkDomain;"> EOF - -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" msg_ok "Installed InspIRCd" motd_ssh customize msg_info "Cleaning up" -rm -rf /opt/inspircd_${RELEASE}.deb12u2_amd64.deb $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 815720b59e2210a8e541caab3fb54127a8b8df83 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, 29 Jul 2025 12:53:33 +0000 Subject: [PATCH 042/148] Update CHANGELOG.md (#6349) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d77e15145..9f43ba5c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: InspIRCd [@tremor021](https://github.com/tremor021) ([#6343](https://github.com/community-scripts/ProxmoxVE/pull/6343)) - Refactor: Jackett [@tremor021](https://github.com/tremor021) ([#6344](https://github.com/community-scripts/ProxmoxVE/pull/6344)) - Update keycloak script to support configuration of latest release (v26) [@remz1337](https://github.com/remz1337) ([#6322](https://github.com/community-scripts/ProxmoxVE/pull/6322)) - Refactor: Photoprism [@MickLesk](https://github.com/MickLesk) ([#6335](https://github.com/community-scripts/ProxmoxVE/pull/6335)) From ab6f2dd24f512faa307db19bd26d9abef689b852 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, 29 Jul 2025 15:06:52 +0200 Subject: [PATCH 043/148] Refactor: HomeBox (#6338) * Refactor * Refactor * Update --- ct/homebox.sh | 26 ++++++++++++-------------- frontend/public/json/homebox.json | 11 +++-------- install/homebox-install.sh | 19 +++++++++---------- 3 files changed, 24 insertions(+), 32 deletions(-) diff --git a/ct/homebox.sh b/ct/homebox.sh index edbf48387..16f5f1504 100644 --- a/ct/homebox.sh +++ b/ct/homebox.sh @@ -22,26 +22,24 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -f /opt/homebox ]]; then + if [[ ! -d /opt/homebox ]]; then msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ -x /opt/homebox ]]; then + sed -i 's|/opt\b|/opt/homebox|g' /etc/systemd/system/homebox.service + sed -i 's|^ExecStart=/opt/homebox$|ExecStart=/opt/homebox/homebox|' /etc/systemd/system/homebox.service + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat ~/.homebox 2>/dev/null)" ]] || [[ ! -f ~/.homebox ]]; then msg_info "Stopping ${APP}" systemctl stop homebox msg_ok "${APP} Stopped" - msg_info "Updating ${APP} to ${RELEASE}" - cd /opt - rm -rf homebox_bak - rm -rf /tmp/homebox.tar.gz - mv homebox homebox_bak -curl -fsSL "https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz" -o "/tmp/homebox.tar.gz" - tar -xzf /tmp/homebox.tar.gz -C /opt - chmod +x /opt/homebox - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated Homebox" + fetch_and_deploy_gh_release "homebox" "sysadminsmedia/homebox" "prebuild" "latest" "/opt/homebox" "homebox_Linux_x86_64.tar.gz" + chmod +x /opt/homebox/homebox + [ -f /opt/.env ] && mv /opt/.env /opt/homebox/.env msg_info "Starting ${APP}" systemctl start homebox @@ -61,4 +59,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7745${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7745${CL}" diff --git a/frontend/public/json/homebox.json b/frontend/public/json/homebox.json index e1163aadd..795b8e452 100644 --- a/frontend/public/json/homebox.json +++ b/frontend/public/json/homebox.json @@ -9,10 +9,10 @@ "updateable": true, "privileged": false, "interface_port": 7745, - "documentation": null, + "documentation": "https://homebox.software/en/quick-start.html", "website": "https://homebox.software/en/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/homebox.webp", - "config_path": "/opt/.env", + "config_path": "/opt/homebox/.env", "description": "HomeBox is a simple, home-focused inventory management software. It allows users to organize and track household items by adding, updating, or deleting them. Features include optional details like warranty info, CSV import/export, custom labels, locations, and multi-tenant support for sharing with others. It\u2019s designed to be fast, easy to use, and portable.", "install_methods": [ { @@ -31,10 +31,5 @@ "username": null, "password": null }, - "notes": [ - { - "text": ".env file location: `/opt/.env`", - "type": "info" - } - ] + "notes": [] } diff --git a/install/homebox-install.sh b/install/homebox-install.sh index ba42195ab..3cc60813f 100644 --- a/install/homebox-install.sh +++ b/install/homebox-install.sh @@ -14,18 +14,17 @@ setting_up_container network_check update_os -msg_info "Installing Homebox" -RELEASE=$(curl -fsSL https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz" | tar -xzf - -C /opt -chmod +x /opt/homebox -cat </opt/.env +fetch_and_deploy_gh_release "homebox" "sysadminsmedia/homebox" "prebuild" "latest" "/opt/homebox" "homebox_Linux_x86_64.tar.gz" + +msg_info "Configuring Homebox" +chmod +x /opt/homebox/homebox +cat </opt/homebox/.env # For possible environment variables check here: https://homebox.software/en/configure-homebox HBOX_MODE=production HBOX_WEB_PORT=7745 HBOX_WEB_HOST=0.0.0.0 EOF -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -msg_ok "Installed Homebox" +msg_ok "Configured Homebox" msg_info "Creating Service" cat </etc/systemd/system/homebox.service @@ -34,9 +33,9 @@ Description=Start Homebox Service After=network.target [Service] -WorkingDirectory=/opt -ExecStart=/opt/homebox -EnvironmentFile=/opt/.env +WorkingDirectory=/opt/homebox +ExecStart=/opt/homebox/homebox +EnvironmentFile=/opt/homebox/.env Restart=on-failure [Install] From 7aa1f18761a92dfc52f1fa1aecba855601d6e4ac 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, 29 Jul 2025 13:07:17 +0000 Subject: [PATCH 044/148] Update CHANGELOG.md (#6350) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f43ba5c1..b374d8559 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: HomeBox [@tremor021](https://github.com/tremor021) ([#6338](https://github.com/community-scripts/ProxmoxVE/pull/6338)) - Refactor: InspIRCd [@tremor021](https://github.com/tremor021) ([#6343](https://github.com/community-scripts/ProxmoxVE/pull/6343)) - Refactor: Jackett [@tremor021](https://github.com/tremor021) ([#6344](https://github.com/community-scripts/ProxmoxVE/pull/6344)) - Update keycloak script to support configuration of latest release (v26) [@remz1337](https://github.com/remz1337) ([#6322](https://github.com/community-scripts/ProxmoxVE/pull/6322)) From ea50246c9137faf9464dd8e24cbb589055fd6840 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, 29 Jul 2025 20:02:51 +0200 Subject: [PATCH 045/148] 'Add new script' (#6336) --- ct/headers/jeedom | 6 ++ ct/jeedom.sh | 46 ++++++++++++++++ frontend/public/json/jeedom.json | 44 +++++++++++++++ install/jeedom-install.sh | 94 ++++++++++++++++++++++++++++++++ 4 files changed, 190 insertions(+) create mode 100644 ct/headers/jeedom create mode 100644 ct/jeedom.sh create mode 100644 frontend/public/json/jeedom.json create mode 100644 install/jeedom-install.sh diff --git a/ct/headers/jeedom b/ct/headers/jeedom new file mode 100644 index 000000000..47ff4dfb6 --- /dev/null +++ b/ct/headers/jeedom @@ -0,0 +1,6 @@ + __ __ + / /__ ___ ____/ /___ ____ ___ + __ / / _ \/ _ \/ __ / __ \/ __ `__ \ +/ /_/ / __/ __/ /_/ / /_/ / / / / / / +\____/\___/\___/\__,_/\____/_/ /_/ /_/ + diff --git a/ct/jeedom.sh b/ct/jeedom.sh new file mode 100644 index 000000000..2b933cb83 --- /dev/null +++ b/ct/jeedom.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Mips2648 +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://jeedom.com/ + +APP="Jeedom" +var_tags="${var_tags:-automation;smarthome}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-2048}" +var_disk="${var_disk:-16}" +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 /var/www/html/core/config/version ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + msg_info "Updating OS" + $STD apt-get update + $STD apt-get -y upgrade + msg_ok "OS updated, you can now update Jeedom from the Web UI." + exit +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/frontend/public/json/jeedom.json b/frontend/public/json/jeedom.json new file mode 100644 index 000000000..60641af82 --- /dev/null +++ b/frontend/public/json/jeedom.json @@ -0,0 +1,44 @@ +{ + "name": "Jeedom", + "slug": "jeedom", + "categories": [ + 16 + ], + "date_created": "2025-03-06", + "type": "ct", + "updateable": false, + "privileged": false, + "interface_port": 80, + "documentation": "https://doc.jeedom.com", + "config_path": "", + "website": "https://jeedom.com/", + "logo": "https://jeedom.com/_next/image?url=%2Fassets%2Fimg%2Flogo.png&w=256&q=75", + "description": "Jeedom is a home automation system that is free, open, and cloudless. It allows users to manage and automate various aspects of their homes by creating objects, installing plugins for added functionalities, and connecting to a Market account for services. It also supports direct access URLs and user management.", + "install_methods": [ + { + "type": "default", + "script": "ct/jeedom.sh", + "resources": { + "cpu": 2, + "ram": 2048, + "hdd": 16, + "os": "Debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": "admin", + "password": "admin" + }, + "notes": [ + { + "text": "WARNING: Installation sources scripts outside of Community Scripts repo. Please check the source before installing.", + "type": "warning" + }, + { + "text": "Only OS packages are updateable. To update Jeedom, please use the web interface.", + "type": "info" + } + ] +} diff --git a/install/jeedom-install.sh b/install/jeedom-install.sh new file mode 100644 index 000000000..d868e84b1 --- /dev/null +++ b/install/jeedom-install.sh @@ -0,0 +1,94 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Mips2648 +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://jeedom.com/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing dependencies" +$STD apt-get install -y \ + lsb-release \ + git +msg_ok "Dependencies installed" + +DEFAULT_BRANCH="master" +REPO_URL="https://github.com/jeedom/core.git" + +echo +while true; do + read -rp "${TAB3}Enter branch to use (master, beta, alpha...) (Default: ${DEFAULT_BRANCH}): " BRANCH + BRANCH="${BRANCH:-$DEFAULT_BRANCH}" + + if git ls-remote --heads "$REPO_URL" "refs/heads/$BRANCH" | grep -q .; then + break + else + msg_error "Branch '$BRANCH' does not exist on remote. Please try again." + fi +done + +msg_info "Downloading Jeedom installation script" +cd /tmp +wget -q https://raw.githubusercontent.com/jeedom/core/"${BRANCH}"/install/install.sh +chmod +x install.sh +msg_ok "Installation script downloaded" + +msg_info "Install Jeedom main dependencies, please wait" +$STD ./install.sh -v "$BRANCH" -s 2 +msg_ok "Installed Jeedom main dependencies" + +msg_info "Install Database" +$STD ./install.sh -v "$BRANCH" -s 3 +msg_ok "Database installed" + +msg_info "Install Apache" +$STD ./install.sh -v "$BRANCH" -s 4 +msg_ok "Apache installed" + +msg_info "Install PHP and dependencies" +$STD ./install.sh -v "$BRANCH" -s 5 +msg_ok "PHP installed" + +msg_info "Download Jeedom core" +$STD ./install.sh -v "$BRANCH" -s 6 +msg_ok "Download done" + +msg_info "Database customisation" +$STD ./install.sh -v "$BRANCH" -s 7 +msg_ok "Database customisation done" + +msg_info "Jeedom customisation" +$STD ./install.sh -v "$BRANCH" -s 8 +msg_ok "Jeedom customisation done" + +msg_info "Configuring Jeedom" +$STD ./install.sh -v "$BRANCH" -s 9 +msg_ok "Jeedom configured" + +msg_info "Installing Jeedom" +$STD ./install.sh -v "$BRANCH" -s 10 +msg_ok "Jeedom installed" + +msg_info "Post installation" +$STD ./install.sh -v "$BRANCH" -s 11 +msg_ok "Post installation done" + +msg_info "Check installation" +$STD ./install.sh -v "$BRANCH" -s 12 +msg_ok "Installation checked, everything is successfuly installed. A reboot is recommended." + +motd_ssh +customize + +msg_info "Cleaning up" +rm -rf /tmp/install.sh +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From 304f181bb2984485bdd88ec5c33b7261b5bc3613 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, 29 Jul 2025 18:03:10 +0000 Subject: [PATCH 046/148] Update CHANGELOG.md (#6358) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b374d8559..0b7135537 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-29 +### 🆕 New Scripts + + - Jeedom ([#6336](https://github.com/community-scripts/ProxmoxVE/pull/6336)) + ### 🚀 Updated Scripts - #### 🐞 Bug Fixes From 0ad0a665edb039b3b454a1fc546ab83530515b26 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, 29 Jul 2025 20:26:38 +0200 Subject: [PATCH 047/148] Update salt.json (#6357) --- frontend/public/json/salt.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/salt.json b/frontend/public/json/salt.json index 3f056a396..096c4ee00 100644 --- a/frontend/public/json/salt.json +++ b/frontend/public/json/salt.json @@ -9,7 +9,7 @@ "updateable": true, "privileged": false, "config_path": "/opt/salt/.env", - "interface_port": 3000, + "interface_port": null, "documentation": "https://docs.saltproject.io/salt/install-guide/en/latest/", "website": "https://saltproject.io/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/salt.webp", From c7aac080ac1e81a610c53e91bc1fb8acc42202fc 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, 29 Jul 2025 20:30:56 +0200 Subject: [PATCH 048/148] Update date in json (#6359) Co-authored-by: GitHub Actions --- frontend/public/json/jeedom.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/jeedom.json b/frontend/public/json/jeedom.json index 60641af82..4a4210dfa 100644 --- a/frontend/public/json/jeedom.json +++ b/frontend/public/json/jeedom.json @@ -4,7 +4,7 @@ "categories": [ 16 ], - "date_created": "2025-03-06", + "date_created": "2025-07-29", "type": "ct", "updateable": false, "privileged": false, From 05d11bf66dd55193f5284553cfd271c6d83a9ec8 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, 29 Jul 2025 21:52:15 +0200 Subject: [PATCH 049/148] n8n: Fix service file (#6362) * Update n8n-install.sh * Update * Update * Update * Update --- ct/n8n.sh | 2 +- install/n8n-install.sh | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ct/n8n.sh b/ct/n8n.sh index c23b4a79c..9df8ff9be 100644 --- a/ct/n8n.sh +++ b/ct/n8n.sh @@ -35,7 +35,7 @@ function update_script() { fi fi if [ ! -f /opt/n8n.env ]; then - sed -i 's|^Environment="N8N_SECURE_COOKIE=false"$|EnvironmentFile="/opt/n8n.env"|' /etc/systemd/system/n8n.service + sed -i 's|^Environment="N8N_SECURE_COOKIE=false"$|EnvironmentFile=/opt/n8n.env|' /etc/systemd/system/n8n.service HOST_IP=$(hostname -I | awk '{print $1}') mkdir -p /opt cat </opt/n8n.env diff --git a/install/n8n-install.sh b/install/n8n-install.sh index 3d83f1928..b1c7606ea 100644 --- a/install/n8n-install.sh +++ b/install/n8n-install.sh @@ -14,8 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ - ca-certificates +$STD apt-get install -y ca-certificates msg_ok "Installed Dependencies" NODE_VERSION="22" setup_nodejs @@ -41,12 +40,13 @@ Description=n8n [Service] Type=simple -EnvironmentFile="/opt/n8n.env" +EnvironmentFile=/opt/n8n.env ExecStart=n8n start + [Install] WantedBy=multi-user.target EOF -$STD systemctl enable --now n8n +systemctl enable -q --now n8n msg_ok "Created Service" motd_ssh From 25b811040c5d69c35e93d6442d27acd3a7e01073 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, 30 Jul 2025 02:14:19 +0200 Subject: [PATCH 050/148] Update versions.json (#6366) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 148 ++++++++++++++--------------- 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index baf819615..74b9d1af1 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,14 +1,84 @@ [ { - "name": "apache/cassandra", - "version": "5.0.5-tentative", - "date": "2025-07-29T10:00:00Z" + "name": "OliveTin/OliveTin", + "version": "2025.7.29", + "date": "2025-07-29T22:20:13Z" + }, + { + "name": "mongodb/mongo", + "version": "r8.2.0-rc1", + "date": "2025-07-29T20:59:27Z" + }, + { + "name": "influxdata/influxdb", + "version": "v3.3.0", + "date": "2025-07-29T20:49:38Z" + }, + { + "name": "netbox-community/netbox", + "version": "v4.3.5", + "date": "2025-07-29T20:30:04Z" + }, + { + "name": "tailscale/tailscale", + "version": "v1.86.2", + "date": "2025-07-29T19:16:24Z" + }, + { + "name": "MediaBrowser/Emby.Releases", + "version": "4.9.1.2", + "date": "2025-06-26T22:08:00Z" }, { "name": "bunkerity/bunkerweb", "version": "v1.6.2", "date": "2025-07-08T13:52:33Z" }, + { + "name": "msgbyte/tianji", + "version": "v1.24.8", + "date": "2025-07-29T17:40:35Z" + }, + { + "name": "zitadel/zitadel", + "version": "v2.70.14", + "date": "2025-07-15T15:27:51Z" + }, + { + "name": "caddyserver/xcaddy", + "version": "v0.4.5", + "date": "2025-07-29T16:39:18Z" + }, + { + "name": "TandoorRecipes/recipes", + "version": "1.5.35", + "date": "2025-06-22T08:30:10Z" + }, + { + "name": "node-red/node-red", + "version": "4.1.0", + "date": "2025-07-29T15:15:26Z" + }, + { + "name": "zwave-js/zwave-js-ui", + "version": "v10.11.0", + "date": "2025-07-29T14:06:44Z" + }, + { + "name": "jenkinsci/jenkins", + "version": "jenkins-2.521", + "date": "2025-07-29T13:10:02Z" + }, + { + "name": "meilisearch/meilisearch", + "version": "prototype-arroy-becomes-hannoy-4", + "date": "2025-07-29T11:53:01Z" + }, + { + "name": "apache/cassandra", + "version": "5.0.5-tentative", + "date": "2025-07-29T10:00:00Z" + }, { "name": "morpheus65535/bazarr", "version": "v1.5.3-beta.10", @@ -80,25 +150,15 @@ "date": "2025-07-22T11:22:26Z" }, { - "name": "adityachandelgit/BookLore", + "name": "booklore-app/BookLore", "version": "v0.35.0", "date": "2025-07-28T14:20:30Z" }, - { - "name": "meilisearch/meilisearch", - "version": "v1.16.0-prototype-personalization-00", - "date": "2025-07-28T11:53:37Z" - }, { "name": "Graylog2/graylog2-server", "version": "7.0.0-alpha.1", "date": "2025-07-28T11:28:22Z" }, - { - "name": "OliveTin/OliveTin", - "version": "2025.7.28", - "date": "2025-07-28T10:19:38Z" - }, { "name": "Paymenter/Paymenter", "version": "v1.2.6", @@ -159,11 +219,6 @@ "version": "1.34.2", "date": "2025-07-27T18:49:05Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.24.7", - "date": "2025-07-27T18:34:18Z" - }, { "name": "benjaminjonard/koillection", "version": "1.6.16", @@ -184,11 +239,6 @@ "version": "v0.14.1", "date": "2024-08-29T22:32:51Z" }, - { - "name": "MediaBrowser/Emby.Releases", - "version": "4.9.1.2", - "date": "2025-06-26T22:08:00Z" - }, { "name": "henrygd/beszel", "version": "v0.12.1", @@ -204,11 +254,6 @@ "version": "v1.30.1", "date": "2025-07-25T19:18:09Z" }, - { - "name": "tailscale/tailscale", - "version": "v1.86.1", - "date": "2025-07-25T17:55:38Z" - }, { "name": "openobserve/openobserve", "version": "v0.15.0-rc4", @@ -284,11 +329,6 @@ "version": "10.0.19", "date": "2025-07-16T09:45:14Z" }, - { - "name": "zwave-js/zwave-js-ui", - "version": "v10.10.0", - "date": "2025-07-24T06:15:19Z" - }, { "name": "advplyr/audiobookshelf", "version": "v2.26.3", @@ -314,11 +354,6 @@ "version": "preview-plex-home-profile", "date": "2025-07-23T16:40:31Z" }, - { - "name": "jenkinsci/jenkins", - "version": "jenkins-2.516.1", - "date": "2025-07-23T14:16:23Z" - }, { "name": "traefik/traefik", "version": "v3.5.0", @@ -404,11 +439,6 @@ "version": "v1.64.0", "date": "2025-07-21T20:56:33Z" }, - { - "name": "mongodb/mongo", - "version": "r8.2.0-rc0", - "date": "2025-07-21T19:07:52Z" - }, { "name": "tobychui/zoraxy", "version": "v3.2.5r2", @@ -484,11 +514,6 @@ "version": "v0.29.0", "date": "2025-07-19T08:54:54Z" }, - { - "name": "TandoorRecipes/recipes", - "version": "1.5.35", - "date": "2025-06-22T08:30:10Z" - }, { "name": "wazuh/wazuh", "version": "coverity-w30-4.13.0", @@ -539,21 +564,11 @@ "version": "v2.1.1", "date": "2025-07-15T22:38:01Z" }, - { - "name": "netbox-community/netbox", - "version": "v4.3.4", - "date": "2025-07-15T18:01:50Z" - }, { "name": "gethomepage/homepage", "version": "v1.4.0", "date": "2025-07-15T16:43:28Z" }, - { - "name": "zitadel/zitadel", - "version": "v2.70.14", - "date": "2025-07-15T15:27:51Z" - }, { "name": "WordPress/WordPress", "version": "6.8.2", @@ -769,11 +784,6 @@ "version": "v4.1.2", "date": "2025-07-03T16:59:29Z" }, - { - "name": "influxdata/influxdb", - "version": "v3.2.1", - "date": "2025-07-03T16:09:19Z" - }, { "name": "actualbudget/actual", "version": "v25.7.1", @@ -829,11 +839,6 @@ "version": "v1.3.8", "date": "2025-06-29T07:41:53Z" }, - { - "name": "node-red/node-red", - "version": "4.1.0-beta.2", - "date": "2025-06-26T14:23:26Z" - }, { "name": "gristlabs/grist-core", "version": "v1.6.1", @@ -1344,11 +1349,6 @@ "version": "0.10.1", "date": "2024-11-10T10:25:45Z" }, - { - "name": "caddyserver/xcaddy", - "version": "v0.4.4", - "date": "2024-11-05T23:06:11Z" - }, { "name": "zerotier/ZeroTierOne", "version": "1.14.2", From f8b901ab0dbbf63d88b5cc14598cbb08071cf908 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, 30 Jul 2025 00:14:38 +0000 Subject: [PATCH 051/148] Update CHANGELOG.md (#6367) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b7135537..73247fc35 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-07-30 + ## 2025-07-29 ### 🆕 New Scripts From f77e7b626dcb871d281784e5df718c39e9731b47 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, 30 Jul 2025 14:05:58 +0200 Subject: [PATCH 052/148] Update versions.json (#6381) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 186 ++++++++++++++--------------- 1 file changed, 93 insertions(+), 93 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 74b9d1af1..e32029636 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,94 @@ [ + { + "name": "dgtlmoon/changedetection.io", + "version": "0.50.8", + "date": "2025-07-30T11:33:00Z" + }, + { + "name": "bunkerity/bunkerweb", + "version": "testing", + "date": "2025-07-30T11:09:03Z" + }, + { + "name": "fuma-nama/fumadocs", + "version": "create-fumadocs-app@15.6.7", + "date": "2025-07-30T11:07:48Z" + }, + { + "name": "wizarrrr/wizarr", + "version": "2025.7.8", + "date": "2025-07-30T10:30:02Z" + }, + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.16", + "date": "2025-07-28T22:46:46Z" + }, + { + "name": "evcc-io/evcc", + "version": "0.206.0", + "date": "2025-07-30T09:39:42Z" + }, + { + "name": "dani-garcia/vaultwarden", + "version": "1.34.3", + "date": "2025-07-30T09:10:59Z" + }, + { + "name": "BookStackApp/BookStack", + "version": "v25.07", + "date": "2025-07-30T08:52:20Z" + }, + { + "name": "zabbix/zabbix", + "version": "7.4.1", + "date": "2025-07-30T08:43:04Z" + }, + { + "name": "wazuh/wazuh", + "version": "coverity-w30-4.13.0", + "date": "2025-07-18T12:05:26Z" + }, + { + "name": "meilisearch/meilisearch", + "version": "prototype-arroy-becomes-hannoy-5", + "date": "2025-07-30T07:39:55Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.21", + "date": "2025-07-17T04:46:25Z" + }, + { + "name": "morpheus65535/bazarr", + "version": "v1.5.3-beta.10", + "date": "2025-07-15T06:07:03Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2208", + "date": "2025-07-30T05:56:51Z" + }, + { + "name": "jenkinsci/jenkins", + "version": "jenkins-2.521", + "date": "2025-07-30T03:38:59Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" + }, + { + "name": "docmost/docmost", + "version": "v0.22.0", + "date": "2025-07-30T00:09:03Z" + }, + { + "name": "ollama/ollama", + "version": "v0.10.0-rc4", + "date": "2025-07-29T23:41:25Z" + }, { "name": "OliveTin/OliveTin", "version": "2025.7.29", @@ -29,11 +119,6 @@ "version": "4.9.1.2", "date": "2025-06-26T22:08:00Z" }, - { - "name": "bunkerity/bunkerweb", - "version": "v1.6.2", - "date": "2025-07-08T13:52:33Z" - }, { "name": "msgbyte/tianji", "version": "v1.24.8", @@ -65,45 +150,20 @@ "date": "2025-07-29T14:06:44Z" }, { - "name": "jenkinsci/jenkins", - "version": "jenkins-2.521", - "date": "2025-07-29T13:10:02Z" - }, - { - "name": "meilisearch/meilisearch", - "version": "prototype-arroy-becomes-hannoy-4", - "date": "2025-07-29T11:53:01Z" + "name": "keycloak/keycloak", + "version": "26.3.2", + "date": "2025-07-24T10:14:27Z" }, { "name": "apache/cassandra", "version": "5.0.5-tentative", "date": "2025-07-29T10:00:00Z" }, - { - "name": "morpheus65535/bazarr", - "version": "v1.5.3-beta.10", - "date": "2025-07-15T06:07:03Z" - }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2207", - "date": "2025-07-29T05:57:09Z" - }, { "name": "rogerfar/rdt-client", "version": "v2.0.115", "date": "2025-07-29T04:38:35Z" }, - { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" - }, - { - "name": "mattermost/mattermost", - "version": "server/public/v0.1.16", - "date": "2025-07-28T22:46:46Z" - }, { "name": "Luligu/matterbridge", "version": "3.1.8", @@ -124,16 +184,6 @@ "version": "v0.58.0", "date": "2025-07-28T18:59:50Z" }, - { - "name": "ollama/ollama", - "version": "v0.10.0-rc2", - "date": "2025-07-25T21:24:06Z" - }, - { - "name": "keycloak/keycloak", - "version": "26.3.2", - "date": "2025-07-24T10:14:27Z" - }, { "name": "AdguardTeam/AdGuardHome", "version": "v0.107.64", @@ -189,11 +239,6 @@ "version": "2025.7.4", "date": "2025-07-28T07:33:36Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.21", - "date": "2025-07-17T04:46:25Z" - }, { "name": "theonedev/onedev", "version": "v12.0.2", @@ -214,11 +259,6 @@ "version": "v1.18.4", "date": "2025-06-25T00:06:56Z" }, - { - "name": "dani-garcia/vaultwarden", - "version": "1.34.2", - "date": "2025-07-27T18:49:05Z" - }, { "name": "benjaminjonard/koillection", "version": "1.6.16", @@ -259,11 +299,6 @@ "version": "v0.15.0-rc4", "date": "2025-07-25T16:50:34Z" }, - { - "name": "fuma-nama/fumadocs", - "version": "fumadocs-openapi@9.1.5", - "date": "2025-07-25T16:20:20Z" - }, { "name": "emqx/emqx", "version": "e6.0.0-M2.202508-alpha.1", @@ -304,11 +339,6 @@ "version": "v2.39.1", "date": "2025-07-24T17:02:01Z" }, - { - "name": "wizarrrr/wizarr", - "version": "2025.7.7", - "date": "2025-07-24T16:44:19Z" - }, { "name": "immich-app/immich", "version": "v1.136.0", @@ -369,11 +399,6 @@ "version": "v1.37.0.5076", "date": "2025-06-04T11:04:53Z" }, - { - "name": "zabbix/zabbix", - "version": "7.4.1rc1", - "date": "2025-07-23T11:54:39Z" - }, { "name": "cockpit-project/cockpit", "version": "343", @@ -514,11 +539,6 @@ "version": "v0.29.0", "date": "2025-07-19T08:54:54Z" }, - { - "name": "wazuh/wazuh", - "version": "coverity-w30-4.13.0", - "date": "2025-07-18T12:05:26Z" - }, { "name": "cross-seed/cross-seed", "version": "v6.13.1", @@ -574,11 +594,6 @@ "version": "6.8.2", "date": "2025-07-15T15:14:16Z" }, - { - "name": "dgtlmoon/changedetection.io", - "version": "0.50.7", - "date": "2025-07-15T11:29:29Z" - }, { "name": "cloudreve/cloudreve", "version": "4.3.0", @@ -619,11 +634,6 @@ "version": "1.3.11", "date": "2025-07-13T13:33:48Z" }, - { - "name": "evcc-io/evcc", - "version": "0.205.0", - "date": "2025-07-13T12:27:31Z" - }, { "name": "authelia/authelia", "version": "v4.39.5", @@ -729,11 +739,6 @@ "version": "v6.8.1", "date": "2025-07-07T14:40:11Z" }, - { - "name": "BookStackApp/BookStack", - "version": "v25.05.2", - "date": "2025-07-07T14:08:25Z" - }, { "name": "slskd/slskd", "version": "0.23.1", @@ -884,11 +889,6 @@ "version": "v3.5.5", "date": "2025-06-19T05:43:47Z" }, - { - "name": "docmost/docmost", - "version": "v0.21.0", - "date": "2025-06-18T21:43:27Z" - }, { "name": "pterodactyl/panel", "version": "v1.11.11", From e9240fb9b8e7351629b448c02af89482d413d8c4 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, 30 Jul 2025 15:09:57 +0200 Subject: [PATCH 053/148] Fix undeclared var (#6371) --- install/mafl-install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install/mafl-install.sh b/install/mafl-install.sh index 47cf7bbb6..a05765187 100644 --- a/install/mafl-install.sh +++ b/install/mafl-install.sh @@ -22,14 +22,14 @@ msg_ok "Installed Dependencies" NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs fetch_and_deploy_gh_release "mafl" "hywax/mafl" -msg_info "Installing Mafl v${RELEASE}" +msg_info "Installing Mafl" mkdir -p /opt/mafl/data curl -fsSL "https://raw.githubusercontent.com/hywax/mafl/main/.example/config.yml" -o "/opt/mafl/data/config.yml" cd /opt/mafl export NUXT_TELEMETRY_DISABLED=true $STD yarn install $STD yarn build -msg_ok "Installed Mafl v${RELEASE}" +msg_ok "Installed Mafl" msg_info "Creating Service" cat </etc/systemd/system/mafl.service From 2f61a2ffe2b04a5110d92a4a80289b917036ccab 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, 30 Jul 2025 13:10:21 +0000 Subject: [PATCH 054/148] Update CHANGELOG.md (#6384) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73247fc35..49519fe80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-30 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - Mafl: Fix undeclared var [@tremor021](https://github.com/tremor021) ([#6371](https://github.com/community-scripts/ProxmoxVE/pull/6371)) + ## 2025-07-29 ### 🆕 New Scripts From 50345c631abf5f48c2bc6ad8dd07a36dfec0f488 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, 30 Jul 2025 15:17:24 +0200 Subject: [PATCH 055/148] Habitica: Fix trusted domains (#6380) * Fix trusted domains * Update --- install/habitica-install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install/habitica-install.sh b/install/habitica-install.sh index c09c87618..45a38ee4f 100644 --- a/install/habitica-install.sh +++ b/install/habitica-install.sh @@ -26,10 +26,12 @@ NODE_VERSION="20" NODE_MODULE="gulp-cli,mocha,npm@10" setup_nodejs fetch_and_deploy_gh_release "habitica" "HabitRPG/habitica" "tarball" "latest" "/opt/habitica" msg_info "Setup ${APPLICATION}" +IPADDRESS=$(hostname -I | awk '{print $1}') cd /opt/habitica $STD npm i $STD npm run postinstall cp config.json.example config.json +sed -i "s/\"TRUSTED_DOMAINS\": \"/&http:\/\/$IPADDRESS:3000,/" config.json $STD npm run client:build $STD gulp build:prod From 4679d321a7483d489fec1d7919f2fc17abac07b5 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, 30 Jul 2025 13:17:46 +0000 Subject: [PATCH 056/148] Update CHANGELOG.md (#6387) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49519fe80..d04531bd3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - Habitica: Fix trusted domains [@tremor021](https://github.com/tremor021) ([#6380](https://github.com/community-scripts/ProxmoxVE/pull/6380)) - Mafl: Fix undeclared var [@tremor021](https://github.com/tremor021) ([#6371](https://github.com/community-scripts/ProxmoxVE/pull/6371)) ## 2025-07-29 From fb8c44b753ba155970bebe4a49105999c3a3ecc1 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, 30 Jul 2025 15:19:12 +0200 Subject: [PATCH 057/148] Refactor (#6372) --- install/karakeep-install.sh | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/install/karakeep-install.sh b/install/karakeep-install.sh index 328a0fa94..3f3a2a383 100644 --- a/install/karakeep-install.sh +++ b/install/karakeep-install.sh @@ -15,28 +15,20 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - g++ \ build-essential \ git \ ca-certificates \ chromium/stable \ chromium-common/stable \ graphicsmagick \ - ghostscript \ - jq + ghostscript msg_ok "Installed Dependencies" -msg_info "Installing Additional Tools" -curl -fsSL "https://github.com/Y2Z/monolith/releases/latest/download/monolith-gnu-linux-x86_64" -o "/usr/bin/monolith" -chmod +x /usr/bin/monolith -curl -fsSL "https://github.com/yt-dlp/yt-dlp-nightly-builds/releases/latest/download/yt-dlp_linux" -o "/usr/bin/yt-dlp" -chmod +x /usr/bin/yt-dlp -msg_ok "Installed Additional Tools" +fetch_and_deploy_gh_release "monolith" "Y2Z/monolith" "singlefile" "latest" "/usr/bin" "monolith-gnu-linux-x86_64" +fetch_and_deploy_gh_release "yt-dlp" "yt-dlp/yt-dlp-nightly-builds" "singlefile" "latest" "/usr/bin" "yt-dlp_linux" +fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary" -msg_info "Installing Meilisearch" -cd /tmp -curl -fsSL "https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb" -o "meilisearch.deb" -$STD dpkg -i meilisearch.deb +msg_info "Configuring Meilisearch" curl -fsSL "https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml" -o "/etc/meilisearch.toml" MASTER_KEY=$(openssl rand -base64 12) sed -i \ @@ -47,7 +39,7 @@ sed -i \ -e 's|^snapshot_dir =.*|snapshot_dir = "/var/lib/meilisearch/snapshots"|' \ -e 's|^# no_analytics = true|no_analytics = true|' \ /etc/meilisearch.toml -msg_ok "Installed Meilisearch" +msg_ok "Configured Meilisearch" fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep" cd /opt/karakeep @@ -185,7 +177,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf /tmp/meilisearch.deb $STD apt-get autoremove -y $STD apt-get autoclean -y msg_ok "Cleaned" From eada9f3ae8c3fa92eb045bd6c2bf4186501090f9 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, 30 Jul 2025 15:19:33 +0200 Subject: [PATCH 058/148] Refactor (#6373) --- ct/koillection.sh | 16 ++++++++-------- install/koillection-install.sh | 35 ++++++---------------------------- 2 files changed, 14 insertions(+), 37 deletions(-) diff --git a/ct/koillection.sh b/ct/koillection.sh index d77df8ae5..d24a94632 100644 --- a/ct/koillection.sh +++ b/ct/koillection.sh @@ -28,17 +28,18 @@ function update_script() { exit fi RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ ! -f ~/.koillection ]] || [[ "${RELEASE}" != "$(cat ~/.koillection)" ]]; then msg_info "Stopping Service" systemctl stop apache2 msg_ok "Stopped Service" - msg_info "Updating ${APP} to v${RELEASE}" - cd /opt + msg_info "Creating a backup" mv /opt/koillection/ /opt/koillection-backup - curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip") - $STD unzip "${RELEASE}.zip" - mv "/opt/koillection-${RELEASE}" /opt/koillection + msg_ok "Backup created" + + fetch_and_deploy_gh_release "koillection" "benjaminjonard/koillection" + + msg_info "Updating ${APP} to v${RELEASE}" cd /opt/koillection cp -r /opt/koillection-backup/.env.local /opt/koillection cp -r /opt/koillection-backup/public/uploads/. /opt/koillection/public/uploads/ @@ -50,7 +51,6 @@ function update_script() { $STD yarn install $STD yarn build chown -R www-data:www-data /opt/koillection/public/uploads - echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated $APP to v${RELEASE}" msg_info "Starting Service" @@ -58,9 +58,9 @@ function update_script() { msg_ok "Started Service" msg_info "Cleaning up" - rm -r "/opt/${RELEASE}.zip" rm -r /opt/koillection-backup msg_ok "Cleaned" + msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at v${RELEASE}" diff --git a/install/koillection-install.sh b/install/koillection-install.sh index ca2bddd38..e19ef3d50 100644 --- a/install/koillection-install.sh +++ b/install/koillection-install.sh @@ -13,29 +13,10 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y \ - apache2 \ - lsb-release -msg_ok "Installed Dependencies" - NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs PG_VERSION="16" setup_postgresql - -msg_info "Setup PHP8.4 Repository" -$STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb -$STD dpkg -i /tmp/debsuryorg-archive-keyring.deb -$STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' -$STD apt-get update -msg_ok "Setup PHP8.4 Repository" - -msg_info "Setup PHP" -$STD apt-get install -y \ - php8.4 \ - php8.4-{apcu,ctype,curl,dom,fileinfo,gd,iconv,intl,mbstring,pgsql} \ - libapache2-mod-php8.4 \ - composer -msg_info "Setup PHP" +PHP_VERSION="8.4" PHP_APACHE="YES" PHP_MODULE="apcu,ctype,dom,fileinfo,iconv,pgsql" setup_php +setup_composer msg_info "Setting up PostgreSQL" DB_NAME=koillection @@ -51,12 +32,9 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMP } >>~/koillection.creds msg_ok "Set up PostgreSQL" -msg_info "Installing Koillection" -RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/koillection/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -cd /opt -curl -fsSL "https://github.com/benjaminjonard/koillection/archive/refs/tags/${RELEASE}.zip" -o "/opt/${RELEASE}.zip" -$STD unzip "${RELEASE}.zip" -mv "/opt/koillection-${RELEASE}" /opt/koillection +fetch_and_deploy_gh_release "koillection" "benjaminjonard/koillection" + +msg_info "Configuring Koillection" cd /opt/koillection cp /opt/koillection/.env /opt/koillection/.env.local APP_SECRET=$(openssl rand -base64 32) @@ -76,7 +54,7 @@ $STD yarn install $STD yarn build chown -R www-data:www-data /opt/koillection/public/uploads echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Installed Koillection" +msg_ok "Configured Koillection" msg_info "Creating Service" cat </etc/apache2/sites-available/koillection.conf @@ -107,7 +85,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf "/opt/${RELEASE}.zip" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 234b4e334e45854b9419c9cff3770fe6463fc3c1 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, 30 Jul 2025 13:19:39 +0000 Subject: [PATCH 059/148] Update CHANGELOG.md (#6388) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d04531bd3..83e1db292 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - Habitica: Fix trusted domains [@tremor021](https://github.com/tremor021) ([#6380](https://github.com/community-scripts/ProxmoxVE/pull/6380)) - Mafl: Fix undeclared var [@tremor021](https://github.com/tremor021) ([#6371](https://github.com/community-scripts/ProxmoxVE/pull/6371)) + - #### 🔧 Refactor + + - Refactor: Karakeep [@tremor021](https://github.com/tremor021) ([#6372](https://github.com/community-scripts/ProxmoxVE/pull/6372)) + ## 2025-07-29 ### 🆕 New Scripts From f33c292c3ee72fd29b7995dd6fd8a6ac6d299d4f 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, 30 Jul 2025 15:19:58 +0200 Subject: [PATCH 060/148] Refactor (#6374) --- ct/komga.sh | 14 ++++++-------- install/komga-install.sh | 16 ++++------------ 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/ct/komga.sh b/ct/komga.sh index 12af24383..4dd884b0a 100644 --- a/ct/komga.sh +++ b/ct/komga.sh @@ -27,23 +27,21 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - msg_info "Updating ${APP}" + RELEASE=$(curl -fsSL https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ ! -f ~/.komga ]] || [[ "${RELEASE}" != "$(cat ~/.komga)" ]]; then msg_info "Stopping ${APP}" systemctl stop komga msg_ok "Stopped ${APP}" - msg_info "Updating ${APP} to ${RELEASE}" - curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -o $(basename "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar") - rm -rf /opt/komga/komga.jar - mv -f komga-${RELEASE}.jar /opt/komga/komga.jar - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to ${RELEASE}" + rm -f /opt/komga/komga.jar + USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "komga" "gotson/komga" "singlefile" "latest" "/opt/komga" "komga*.jar" + mv /opt/komga/komga-*.jar /opt/komga/komga.jar msg_info "Starting ${APP}" systemctl start komga msg_ok "Started ${APP}" + msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at ${RELEASE}." diff --git a/install/komga-install.sh b/install/komga-install.sh index 595a24f7e..5d6cc3a72 100644 --- a/install/komga-install.sh +++ b/install/komga-install.sh @@ -13,17 +13,9 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y openjdk-17-jre -msg_ok "Installed Dependencies" - -msg_info "Installing Komga" -RELEASE=$(curl -fsSL https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar" -o "komga-${RELEASE}.jar" -mkdir -p /opt/komga -mv -f komga-${RELEASE}.jar /opt/komga/komga.jar -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -msg_ok "Installed Komga" +JAVA_VERSION="21" setup_java +USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "komga" "gotson/komga" "singlefile" "latest" "/opt/komga" "komga*.jar" +mv /opt/komga/komga-*.jar /opt/komga/komga.jar msg_info "Creating Service" cat </etc/systemd/system/komga.service @@ -42,7 +34,7 @@ Restart=on-failure [Install] WantedBy=multi-user.target EOF -systemctl enable --now -q komga +systemctl enable -q --now komga msg_ok "Created Service" motd_ssh From 2701308b455f8e6b63f2c5f2e55cb6151cf82974 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, 30 Jul 2025 13:20:03 +0000 Subject: [PATCH 061/148] Update CHANGELOG.md (#6389) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 83e1db292..25ddadfec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Koillection [@tremor021](https://github.com/tremor021) ([#6373](https://github.com/community-scripts/ProxmoxVE/pull/6373)) - Refactor: Karakeep [@tremor021](https://github.com/tremor021) ([#6372](https://github.com/community-scripts/ProxmoxVE/pull/6372)) ## 2025-07-29 From 53beca39e89f74d1025e41c27832fd4ebabfc69e 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, 30 Jul 2025 15:20:20 +0200 Subject: [PATCH 062/148] Refactor (#6376) --- ct/kubo.sh | 27 +++++++++++++++------------ install/kubo-install.sh | 13 +++++-------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ct/kubo.sh b/ct/kubo.sh index 307e7e2d4..4a1089ce4 100644 --- a/ct/kubo.sh +++ b/ct/kubo.sh @@ -23,21 +23,24 @@ function update_script() { header_info check_container_storage check_container_resources - if [[ ! -f /usr/local/kubo ]]; then + if [[ ! -f /usr/local/kubo/ipfs ]]; then msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://github.com/ipfs/kubo/releases/latest | grep "title>Release" | cut -d " " -f 4) - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - curl -fsSL "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" -o $(basename "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz") - tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local - systemctl restart ipfs.service - echo "${RELEASE}" >/opt/${APP}_version.txt - rm "kubo_${RELEASE}_linux-amd64.tar.gz" - msg_ok "Updated $APP LXC" + + RELEASE=$(curl -fsSL https://api.github.com/repos/ipfs/kubo/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat ~/.kubo)" ]] || [[ ! -f ~/.kubo ]]; then + msg_info "Stopping service" + systemctl stop ipfs + msg_ok "Stopped service" + + fetch_and_deploy_gh_release "kubo" "ipfs/kubo" "prebuild" "latest" "/usr/local/kubo" "kubo*linux-amd64.tar.gz" + + msg_info "Starting service" + systemctl start ipfs + msg_ok "Service started" + + msg_ok "Updated successfuly" else msg_ok "No update required. ${APP} is already at ${RELEASE}" fi diff --git a/install/kubo-install.sh b/install/kubo-install.sh index 3d9ec6dd0..ad5ef8b28 100644 --- a/install/kubo-install.sh +++ b/install/kubo-install.sh @@ -14,10 +14,9 @@ setting_up_container network_check update_os -msg_info "Installing IPFS" -RELEASE=$(curl -fsSL https://github.com/ipfs/kubo/releases/latest | grep "title>Release" | cut -d " " -f 4) -$STD curl -fsSL "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz" -o "kubo_${RELEASE}_linux-amd64.tar.gz" -tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local +fetch_and_deploy_gh_release "kubo" "ipfs/kubo" "prebuild" "latest" "/usr/local/kubo" "kubo*linux-amd64.tar.gz" + +msg_info "Configuring IPFS" $STD ln -s /usr/local/kubo/ipfs /usr/local/bin/ipfs $STD ipfs init ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001 @@ -25,9 +24,7 @@ ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080 LXCIP=$(hostname -I | awk '{print $1}') ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "[\"http://${LXCIP}:5001\", \"http://localhost:3000\", \"http://127.0.0.1:5001\", \"https://webui.ipfs.io\", \"http://0.0.0.0:5001\"]" ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "POST"]' -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -$STD rm "kubo_${RELEASE}_linux-amd64.tar.gz" -msg_ok "Installed IPFS" +msg_ok "Configured IPFS" msg_info "Creating Service" cat </etc/systemd/system/ipfs.service @@ -43,7 +40,7 @@ Environment=HOME=/root [Install] WantedBy=multi-user.target EOF -systemctl enable --now -q ipfs.service +systemctl enable -q --now ipfs msg_ok "Created Service" motd_ssh From 9f1431b2630acb8089f11a22f518c9fce371f30a 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, 30 Jul 2025 13:20:26 +0000 Subject: [PATCH 063/148] Update CHANGELOG.md (#6390) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25ddadfec..9c0a19c66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Komga [@tremor021](https://github.com/tremor021) ([#6374](https://github.com/community-scripts/ProxmoxVE/pull/6374)) - Refactor: Koillection [@tremor021](https://github.com/tremor021) ([#6373](https://github.com/community-scripts/ProxmoxVE/pull/6373)) - Refactor: Karakeep [@tremor021](https://github.com/tremor021) ([#6372](https://github.com/community-scripts/ProxmoxVE/pull/6372)) From 23573bfce9a2bbed355cafbe22b6339d6c64831d Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 30 Jul 2025 15:31:00 +0200 Subject: [PATCH 064/148] fix apt-cacher heredoc (#6385) --- misc/install.func | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/misc/install.func b/misc/install.func index 2e4aebdc4..15771cf8e 100644 --- a/misc/install.func +++ b/misc/install.func @@ -131,8 +131,8 @@ network_check() { update_os() { msg_info "Updating Container OS" if [[ "$CACHER" == "yes" ]]; then - echo "Acquire::http::Proxy-Auto-Detect \"/usr/local/bin/apt-proxy-detect.sh\";" >/etc/apt/apt.conf.d/00aptproxy - cat <<'EOF' >/usr/local/bin/apt-proxy-detect.sh + echo 'Acquire::http::Proxy-Auto-Detect "/usr/local/bin/apt-proxy-detect.sh";' >/etc/apt/apt.conf.d/00aptproxy + cat </usr/local/bin/apt-proxy-detect.sh #!/bin/bash if nc -w1 -z "${CACHER_IP}" 3142; then echo -n "http://${CACHER_IP}:3142" From 0ba9c9dff33be26a223130687f84fbb4d18091fb 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, 30 Jul 2025 13:31:24 +0000 Subject: [PATCH 065/148] Update CHANGELOG.md (#6393) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c0a19c66..42e0435cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts + - [core] fix: expand $CACHER_IP in apt-proxy-detect.sh (revert quoted heredoc) [@MickLesk](https://github.com/MickLesk) ([#6385](https://github.com/community-scripts/ProxmoxVE/pull/6385)) + - #### 🐞 Bug Fixes - Habitica: Fix trusted domains [@tremor021](https://github.com/tremor021) ([#6380](https://github.com/community-scripts/ProxmoxVE/pull/6380)) @@ -21,6 +23,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Kubo [@tremor021](https://github.com/tremor021) ([#6376](https://github.com/community-scripts/ProxmoxVE/pull/6376)) - Refactor: Komga [@tremor021](https://github.com/tremor021) ([#6374](https://github.com/community-scripts/ProxmoxVE/pull/6374)) - Refactor: Koillection [@tremor021](https://github.com/tremor021) ([#6373](https://github.com/community-scripts/ProxmoxVE/pull/6373)) - Refactor: Karakeep [@tremor021](https://github.com/tremor021) ([#6372](https://github.com/community-scripts/ProxmoxVE/pull/6372)) From 16dbcac3a18e9e47a4c2c561cb7e5ce2fdb6e1ba Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Wed, 30 Jul 2025 17:06:26 +0200 Subject: [PATCH 066/148] n8n: add build-essential as dependency (#6392) --- install/n8n-install.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/install/n8n-install.sh b/install/n8n-install.sh index b1c7606ea..6983a9a7c 100644 --- a/install/n8n-install.sh +++ b/install/n8n-install.sh @@ -14,7 +14,9 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y ca-certificates +$STD apt-get install -y \ + ca-certificates \ + build-essential msg_ok "Installed Dependencies" NODE_VERSION="22" setup_nodejs From 2c618f53ca32b3ec9355c9242c2899fd2707aeba 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, 30 Jul 2025 15:06:54 +0000 Subject: [PATCH 067/148] Update CHANGELOG.md (#6394) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 42e0435cb..689b8d6d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - n8n: add build-essential as dependency [@MickLesk](https://github.com/MickLesk) ([#6392](https://github.com/community-scripts/ProxmoxVE/pull/6392)) - Habitica: Fix trusted domains [@tremor021](https://github.com/tremor021) ([#6380](https://github.com/community-scripts/ProxmoxVE/pull/6380)) - Mafl: Fix undeclared var [@tremor021](https://github.com/tremor021) ([#6371](https://github.com/community-scripts/ProxmoxVE/pull/6371)) From af88ff3dd4cff102a48128b44349f6279dd6df06 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, 30 Jul 2025 17:07:11 +0200 Subject: [PATCH 068/148] Refactor (#6379) --- ct/lidarr.sh | 29 +++++++++++++++++------------ frontend/public/json/lidarr.json | 4 ++-- install/lidarr-install.sh | 14 ++++++-------- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/ct/lidarr.sh b/ct/lidarr.sh index 4bf08f3e4..74b7e6781 100644 --- a/ct/lidarr.sh +++ b/ct/lidarr.sh @@ -29,19 +29,24 @@ function update_script() { exit fi - msg_info "Updating $APP LXC" - temp_file="$(mktemp)" - rm -rf /opt/Lidarr - RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - curl -fsSL "https://github.com/Lidarr/Lidarr/releases/download/v${RELEASE}/Lidarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file" - $STD tar -xvzf "$temp_file" - mv Lidarr /opt - chmod 775 /opt/Lidarr - msg_ok "Updated $APP LXC" + RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | jq -r '.tag_name' | sed 's/^v//') + if [[ "${RELEASE}" != "$(cat ~/.lidarr)" ]] || [[ ! -f ~/.lidarr ]]; then - msg_info "Cleaning up" - rm -rf "$temp_file" - msg_ok "Cleaned up" + msg_info "Stopping service" + systemctl stop lidarr + msg_ok "Service stopped" + + fetch_and_deploy_gh_release "lidarr" "Lidarr/Lidarr" "prebuild" "latest" "/opt/Lidarr" "Lidarr.master*linux-core-x64.tar.gz" + chmod 775 /opt/Lidarr + + msg_info "Starting service" + systemctl start lidarr + msg_ok "Service started" + + msg_ok "Updated successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi exit } diff --git a/frontend/public/json/lidarr.json b/frontend/public/json/lidarr.json index 786169f84..755b354bb 100644 --- a/frontend/public/json/lidarr.json +++ b/frontend/public/json/lidarr.json @@ -9,10 +9,10 @@ "updateable": true, "privileged": false, "interface_port": 8686, - "documentation": null, + "documentation": "https://wiki.servarr.com/en/lidarr", "website": "https://lidarr.audio/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/lidarr.webp", - "config_path": "", + "config_path": "/var/lib/lidarr/config.xml", "description": "Lidarr is a music management tool designed for Usenet and BitTorrent users. It allows users to manage and organize their music collection with ease. Lidarr integrates with popular Usenet and BitTorrent clients, such as Sonarr and Radarr, to automate the downloading and organizing of music files. The software provides a web-based interface for managing and organizing music, making it easy to search and find songs, albums, and artists. Lidarr also supports metadata management, including album art, artist information, and lyrics, making it easy for users to keep their music collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing music collections, making it a valuable tool for music lovers who want to keep their collection organized and up-to-date. With Lidarr, users can enjoy their music collection from anywhere, making it a powerful tool for managing and sharing music files.", "install_methods": [ { diff --git a/install/lidarr-install.sh b/install/lidarr-install.sh index cd7f33530..f54127caa 100644 --- a/install/lidarr-install.sh +++ b/install/lidarr-install.sh @@ -20,22 +20,20 @@ $STD apt-get install -y \ mediainfo msg_ok "Installed Dependencies" -msg_info "Installing Lidarr" -temp_file="$(mktemp)" +fetch_and_deploy_gh_release "lidarr" "Lidarr/Lidarr" "prebuild" "latest" "/opt/Lidarr" "Lidarr.master*linux-core-x64.tar.gz" + +msg_info "Configuring Lidarr" mkdir -p /var/lib/lidarr/ chmod 775 /var/lib/lidarr/ -RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/Lidarr/Lidarr/releases/download/v${RELEASE}/Lidarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file" -$STD tar -xvzf "$temp_file" -mv Lidarr /opt chmod 775 /opt/Lidarr -msg_ok "Installed Lidarr" +msg_ok "Configured Lidarr" msg_info "Creating Service" cat </etc/systemd/system/lidarr.service [Unit] Description=Lidarr Daemon After=syslog.target network.target + [Service] UMask=0002 Type=simple @@ -43,6 +41,7 @@ ExecStart=/opt/Lidarr/Lidarr -nobrowser -data=/var/lib/lidarr/ TimeoutStopSec=20 KillMode=process Restart=on-failure + [Install] WantedBy=multi-user.target EOF @@ -53,7 +52,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf "$temp_file" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 907be41752a9894ff6bc9732f0797d6f649f5951 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, 30 Jul 2025 17:07:41 +0200 Subject: [PATCH 069/148] Fixes (#6378) --- ct/librespeed-rust.sh | 7 ++++--- install/librespeed-rust-install.sh | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ct/librespeed-rust.sh b/ct/librespeed-rust.sh index e10a9b679..0cf7344ed 100644 --- a/ct/librespeed-rust.sh +++ b/ct/librespeed-rust.sh @@ -27,16 +27,17 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/librespeed/speedtest-rust/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "v([^"]+).*/\1/') + + RELEASE=$(curl -fsSL https://api.github.com/repos/librespeed/speedtest-rust/releases/latest | jq -r '.tag_name' | sed 's/^v//') if [[ "${RELEASE}" != "$(cat ~/.librespeed 2>/dev/null)" ]] || [[ ! -f ~/.librespeed ]]; then msg_info "Stopping Services" - systemctl stop librespeed-rs + systemctl stop librespeed_rs msg_ok "Services Stopped" fetch_and_deploy_gh_release "librespeed-rust" "librespeed/speedtest-rust" "binary" "latest" "/opt/librespeed-rust" "librespeed-rs-x86_64-unknown-linux-gnu.deb" msg_info "Starting Service" - systemctl start librespeed-rs + systemctl start librespeed_rs msg_ok "Started Service" else msg_ok "No update required. ${APP} is already at v${RELEASE}" diff --git a/install/librespeed-rust-install.sh b/install/librespeed-rust-install.sh index 7013543fc..76b607b8f 100644 --- a/install/librespeed-rust-install.sh +++ b/install/librespeed-rust-install.sh @@ -16,7 +16,7 @@ update_os fetch_and_deploy_gh_release "librespeed-rust" "librespeed/speedtest-rust" "binary" "latest" "/opt/librespeed-rust" "librespeed-rs-x86_64-unknown-linux-gnu.deb" msg_info "Enabling Service" -systemctl enable -q --now speedtest_rs.service +systemctl enable -q --now speedtest_rs msg_ok "Enabled Service" motd_ssh From e4d0ac301d273ae487cb274cc18bbc6bf74cbe79 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, 30 Jul 2025 15:07:58 +0000 Subject: [PATCH 070/148] Update CHANGELOG.md (#6395) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 689b8d6d4..251dfa3e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,10 +14,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts - - [core] fix: expand $CACHER_IP in apt-proxy-detect.sh (revert quoted heredoc) [@MickLesk](https://github.com/MickLesk) ([#6385](https://github.com/community-scripts/ProxmoxVE/pull/6385)) + - Refactor: Lidarr [@tremor021](https://github.com/tremor021) ([#6379](https://github.com/community-scripts/ProxmoxVE/pull/6379)) +- [core] fix: expand $CACHER_IP in apt-proxy-detect.sh (revert quoted heredoc) [@MickLesk](https://github.com/MickLesk) ([#6385](https://github.com/community-scripts/ProxmoxVE/pull/6385)) - #### 🐞 Bug Fixes + - Librespeed-Rust: Fix service name and RELEASE var fetching [@tremor021](https://github.com/tremor021) ([#6378](https://github.com/community-scripts/ProxmoxVE/pull/6378)) - n8n: add build-essential as dependency [@MickLesk](https://github.com/MickLesk) ([#6392](https://github.com/community-scripts/ProxmoxVE/pull/6392)) - Habitica: Fix trusted domains [@tremor021](https://github.com/tremor021) ([#6380](https://github.com/community-scripts/ProxmoxVE/pull/6380)) - Mafl: Fix undeclared var [@tremor021](https://github.com/tremor021) ([#6371](https://github.com/community-scripts/ProxmoxVE/pull/6371)) From e98f6051e2cdc633e0ff1d8c4a5ab21c99fa4b3a Mon Sep 17 00:00:00 2001 From: leiweibau <105860611+leiweibau@users.noreply.github.com> Date: Wed, 30 Jul 2025 18:19:42 +0200 Subject: [PATCH 071/148] PiAlert: bufix dependencies (#6396) --- install/pialert-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/pialert-install.sh b/install/pialert-install.sh index 302278a31..4c88f0138 100644 --- a/install/pialert-install.sh +++ b/install/pialert-install.sh @@ -52,7 +52,6 @@ $STD apt-get -y install \ python3-tz \ python3-tzlocal \ python3-aiohttp \ - python3-paho-mqtt \ python3-cryptography rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED $STD pip3 install mac-vendor-lookup @@ -61,6 +60,7 @@ $STD pip3 install cryptography $STD pip3 install pyunifi $STD pip3 install openwrt-luci-rpc $STD pip3 install asusrouter +$STD pip3 install paho-mqtt msg_ok "Installed Python Dependencies" msg_info "Installing Pi.Alert" From 27e095e1dd2920cd345ac77a8ac4755a24210fa4 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, 30 Jul 2025 16:20:02 +0000 Subject: [PATCH 072/148] Update CHANGELOG.md (#6397) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 251dfa3e9..fcde0f9cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - PiAlert: bugfix dependencies [@leiweibau](https://github.com/leiweibau) ([#6396](https://github.com/community-scripts/ProxmoxVE/pull/6396)) - Librespeed-Rust: Fix service name and RELEASE var fetching [@tremor021](https://github.com/tremor021) ([#6378](https://github.com/community-scripts/ProxmoxVE/pull/6378)) - n8n: add build-essential as dependency [@MickLesk](https://github.com/MickLesk) ([#6392](https://github.com/community-scripts/ProxmoxVE/pull/6392)) - Habitica: Fix trusted domains [@tremor021](https://github.com/tremor021) ([#6380](https://github.com/community-scripts/ProxmoxVE/pull/6380)) From 4bd360d31b3bac6dea779e2c5c94074d4abc077b Mon Sep 17 00:00:00 2001 From: Matt Visnovsky Date: Wed, 30 Jul 2025 13:14:16 -0600 Subject: [PATCH 073/148] Strip SD and NS prefixes before writing to config file (#6356) --- misc/build.func | 56 ++++++++++++++++++++++++++++++++++++------- misc/config-file.func | 40 ++++++++++++++++++++----------- 2 files changed, 74 insertions(+), 22 deletions(-) diff --git a/misc/build.func b/misc/build.func index 061ccaee8..1945677e6 100644 --- a/misc/build.func +++ b/misc/build.func @@ -250,6 +250,17 @@ write_config() { if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "Write configfile" --yesno "Do you want to write the selections to a config file?" 10 60; then FILEPATH="/opt/community-scripts/${NSAPP}.conf" [[ "$GATE" =~ ",gw=" ]] && local GATE="${GATE##,gw=}" + + # Strip prefixes from parameters for config file storage + local SD_VALUE="${SD}" + local NS_VALUE="${NS}" + local MAC_VALUE="${MAC}" + local VLAN_VALUE="${VLAN}" + [[ "$SD" =~ ^-searchdomain= ]] && SD_VALUE="${SD#-searchdomain=}" + [[ "$NS" =~ ^-nameserver= ]] && NS_VALUE="${NS#-nameserver=}" + [[ "$MAC" =~ ^,hwaddr= ]] && MAC_VALUE="${MAC#,hwaddr=}" + [[ "$VLAN" =~ ^,tag= ]] && VLAN_VALUE="${VLAN#,tag=}" + if [[ ! -f $FILEPATH ]]; then cat <"$FILEPATH" # ${NSAPP} Configuration File @@ -272,10 +283,10 @@ IPV6_METHOD="${IPV6_METHOD:-none}" GATE="${GATE:-none}" APT_CACHER_IP="${APT_CACHER_IP:-none}" MTU="${MTU:-1500}" -SD="${SD:-none}" -NS="${NS:-none}" -MAC="${MAC:-none}" -VLAN="${VLAN:-none}" +SD="${SD_VALUE:-none}" +NS="${NS_VALUE:-none}" +MAC="${MAC_VALUE:-none}" +VLAN="${VLAN_VALUE:-none}" SSH="${SSH}" SSH_AUTHORIZED_KEY="${SSH_AUTHORIZED_KEY}" TAGS="${TAGS:-none}" @@ -310,10 +321,10 @@ IPV6_METHOD="${IPV6_METHOD:-none}" GATE="${GATE:-none}" APT_CACHER_IP="${APT_CACHER_IP:-none}" MTU="${MTU:-1500}" -SD="${SD:-none}" -NS="${NS:-none}" -MAC="${MAC:-none}" -VLAN="${VLAN:-none}" +SD="${SD_VALUE:-none}" +NS="${NS_VALUE:-none}" +MAC="${MAC_VALUE:-none}" +VLAN="${VLAN_VALUE:-none}" SSH="${SSH}" SSH_AUTHORIZED_KEY="${SSH_AUTHORIZED_KEY}" TAGS="${TAGS:-none}" @@ -807,7 +818,36 @@ advanced_settings() { if (whiptail --backtitle "Proxmox VE Helper Scripts" --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create ${APP} LXC?" 10 58); then echo -e "${CREATING}${BOLD}${RD}Creating a ${APP} LXC using the above advanced settings${CL}" + + # Strip prefixes from DNS parameters for config file storage + local SD_VALUE="$SD" + local NS_VALUE="$NS" + local MAC_VALUE="$MAC" + local VLAN_VALUE="$VLAN" + [[ "$SD" =~ ^-searchdomain= ]] && SD_VALUE="${SD#-searchdomain=}" + [[ "$NS" =~ ^-nameserver= ]] && NS_VALUE="${NS#-nameserver=}" + [[ "$MAC" =~ ^,hwaddr= ]] && MAC_VALUE="${MAC#,hwaddr=}" + [[ "$VLAN" =~ ^,tag= ]] && VLAN_VALUE="${VLAN#,tag=}" + + # Temporarily store original values + local SD_ORIG="$SD" + local NS_ORIG="$NS" + local MAC_ORIG="$MAC" + local VLAN_ORIG="$VLAN" + + # Set clean values for config file writing + SD="$SD_VALUE" + NS="$NS_VALUE" + MAC="$MAC_VALUE" + VLAN="$VLAN_VALUE" + write_config + + # Restore original formatted values for container creation + SD="$SD_ORIG" + NS="$NS_ORIG" + MAC="$MAC_ORIG" + VLAN="$VLAN_ORIG" else clear header_info diff --git a/misc/config-file.func b/misc/config-file.func index ed72aa219..9799b4a4b 100644 --- a/misc/config-file.func +++ b/misc/config-file.func @@ -469,8 +469,11 @@ config_file() { SD="" echo -e "${SEARCH}${BOLD}${DGN}DNS Search Domain: ${BGN}Host${CL}" else - echo -e "${SEARCH}${BOLD}${DGN}DNS Search Domain: ${BGN}$SD${CL}" - SD="-searchdomain=$SD" + # Strip prefix if present for config file storage + local SD_VALUE="$SD" + [[ "$SD" =~ ^-searchdomain= ]] && SD_VALUE="${SD#-searchdomain=}" + echo -e "${SEARCH}${BOLD}${DGN}DNS Search Domain: ${BGN}$SD_VALUE${CL}" + SD="-searchdomain=$SD_VALUE" fi else if SD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --inputbox "Set a DNS Search Domain (leave blank for HOST)" 8 58 --title "DNS Search Domain" 3>&1 1>&2 2>&3); then @@ -492,11 +495,14 @@ config_file() { NS="" echo -e "${NETWORK}${BOLD}${DGN}DNS Server IP Address: ${BGN}Host${CL}" else - if [[ "$NS" =~ $ip_regex ]]; then - echo -e "${NETWORK}${BOLD}${DGN}DNS Server IP Address: ${BGN}$NS${CL}" - NS="-nameserver=$NS" + # Strip prefix if present for config file storage + local NS_VALUE="$NS" + [[ "$NS" =~ ^-nameserver= ]] && NS_VALUE="${NS#-nameserver=}" + if [[ "$NS_VALUE" =~ $ip_regex ]]; then + echo -e "${NETWORK}${BOLD}${DGN}DNS Server IP Address: ${BGN}$NS_VALUE${CL}" + NS="-nameserver=$NS_VALUE" else - msg_error "Invalid IP Address format for DNS Server. Needs to be 0.0.0.0, was ${NS}" + msg_error "Invalid IP Address format for DNS Server. Needs to be 0.0.0.0, was ${NS_VALUE}" exit fi fi @@ -519,11 +525,14 @@ config_file() { MAC="" echo -e "${MACADDRESS}${BOLD}${DGN}MAC Address: ${BGN}Host${CL}" else - if [[ "$MAC" =~ ^([A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}$ ]]; then - echo -e "${MACADDRESS}${BOLD}${DGN}MAC Address: ${BGN}$MAC${CL}" - MAC=",hwaddr=$MAC" + # Strip prefix if present for config file storage + local MAC_VALUE="$MAC" + [[ "$MAC" =~ ^,hwaddr= ]] && MAC_VALUE="${MAC#,hwaddr=}" + if [[ "$MAC_VALUE" =~ ^([A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}$ ]]; then + echo -e "${MACADDRESS}${BOLD}${DGN}MAC Address: ${BGN}$MAC_VALUE${CL}" + MAC=",hwaddr=$MAC_VALUE" else - msg_error "MAC Address must be in the format xx:xx:xx:xx:xx:xx, was ${MAC}" + msg_error "MAC Address must be in the format xx:xx:xx:xx:xx:xx, was ${MAC_VALUE}" exit fi fi @@ -546,11 +555,14 @@ config_file() { VLAN="" echo -e "${VLANTAG}${BOLD}${DGN}Vlan: ${BGN}Host${CL}" else - if [[ "$VLAN" =~ ^-?[0-9]+$ ]]; then - echo -e "${VLANTAG}${BOLD}${DGN}Vlan: ${BGN}$VLAN${CL}" - VLAN=",tag=$VLAN" + # Strip prefix if present for config file storage + local VLAN_VALUE="$VLAN" + [[ "$VLAN" =~ ^,tag= ]] && VLAN_VALUE="${VLAN#,tag=}" + if [[ "$VLAN_VALUE" =~ ^-?[0-9]+$ ]]; then + echo -e "${VLANTAG}${BOLD}${DGN}Vlan: ${BGN}$VLAN_VALUE${CL}" + VLAN=",tag=$VLAN_VALUE" else - msg_error "VLAN must be an integer, was ${VLAN}" + msg_error "VLAN must be an integer, was ${VLAN_VALUE}" exit fi fi From f76bb98d3d4d93d79578620e50d8f080d09c1ad6 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, 30 Jul 2025 19:14:38 +0000 Subject: [PATCH 074/148] Update CHANGELOG.md (#6404) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fcde0f9cb..a30046855 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,11 +14,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts - - Refactor: Lidarr [@tremor021](https://github.com/tremor021) ([#6379](https://github.com/community-scripts/ProxmoxVE/pull/6379)) -- [core] fix: expand $CACHER_IP in apt-proxy-detect.sh (revert quoted heredoc) [@MickLesk](https://github.com/MickLesk) ([#6385](https://github.com/community-scripts/ProxmoxVE/pull/6385)) - - #### 🐞 Bug Fixes + - Strip SD and NS prefixes before writing to config file [@mattv8](https://github.com/mattv8) ([#6356](https://github.com/community-scripts/ProxmoxVE/pull/6356)) + - [core] fix: expand $CACHER_IP in apt-proxy-detect.sh (revert quoted heredoc) [@MickLesk](https://github.com/MickLesk) ([#6385](https://github.com/community-scripts/ProxmoxVE/pull/6385)) - PiAlert: bugfix dependencies [@leiweibau](https://github.com/leiweibau) ([#6396](https://github.com/community-scripts/ProxmoxVE/pull/6396)) - Librespeed-Rust: Fix service name and RELEASE var fetching [@tremor021](https://github.com/tremor021) ([#6378](https://github.com/community-scripts/ProxmoxVE/pull/6378)) - n8n: add build-essential as dependency [@MickLesk](https://github.com/MickLesk) ([#6392](https://github.com/community-scripts/ProxmoxVE/pull/6392)) @@ -27,6 +26,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Lidarr [@tremor021](https://github.com/tremor021) ([#6379](https://github.com/community-scripts/ProxmoxVE/pull/6379)) - Refactor: Kubo [@tremor021](https://github.com/tremor021) ([#6376](https://github.com/community-scripts/ProxmoxVE/pull/6376)) - Refactor: Komga [@tremor021](https://github.com/tremor021) ([#6374](https://github.com/community-scripts/ProxmoxVE/pull/6374)) - Refactor: Koillection [@tremor021](https://github.com/tremor021) ([#6373](https://github.com/community-scripts/ProxmoxVE/pull/6373)) From d366abe8e29a8ac07eb70ce0a8da55bda43649da 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, 31 Jul 2025 02:13:41 +0200 Subject: [PATCH 075/148] Update versions.json (#6411) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 180 ++++++++++++++--------------- 1 file changed, 90 insertions(+), 90 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index e32029636..317826b84 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,24 +1,99 @@ [ + { + "name": "gtsteffaniak/filebrowser", + "version": "v0.7.18-beta", + "date": "2025-07-30T21:26:00Z" + }, + { + "name": "benjaminjonard/koillection", + "version": "1.6.17", + "date": "2025-07-30T20:24:17Z" + }, + { + "name": "mongodb/mongo", + "version": "r8.3.0-alpha0", + "date": "2025-07-30T20:23:07Z" + }, + { + "name": "gristlabs/grist-core", + "version": "v1.7.0", + "date": "2025-07-30T20:19:50Z" + }, + { + "name": "semaphoreui/semaphore", + "version": "v2.16.0-beta6", + "date": "2025-07-23T19:18:14Z" + }, + { + "name": "wizarrrr/wizarr", + "version": "2025.7.8", + "date": "2025-07-30T18:17:51Z" + }, + { + "name": "oauth2-proxy/oauth2-proxy", + "version": "v7.11.0", + "date": "2025-07-30T18:16:38Z" + }, + { + "name": "leiweibau/Pi.Alert", + "version": "v2025-07-30", + "date": "2025-07-30T17:13:40Z" + }, + { + "name": "ollama/ollama", + "version": "v0.10.0-rc4", + "date": "2025-07-29T23:41:25Z" + }, + { + "name": "meilisearch/meilisearch", + "version": "prototype-arroy-becomes-hannoy-6", + "date": "2025-07-30T15:24:55Z" + }, + { + "name": "home-assistant/core", + "version": "2025.7.4", + "date": "2025-07-28T08:15:50Z" + }, + { + "name": "zwave-js/zwave-js-ui", + "version": "v11.0.0", + "date": "2025-07-30T13:50:13Z" + }, + { + "name": "influxdata/influxdb", + "version": "v3.3.0", + "date": "2025-07-30T13:27:54Z" + }, + { + "name": "element-hq/synapse", + "version": "v1.134.0", + "date": "2025-07-15T13:43:39Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.21", + "date": "2025-07-17T04:46:25Z" + }, + { + "name": "bunkerity/bunkerweb", + "version": "v1.6.2", + "date": "2025-07-08T13:52:33Z" + }, + { + "name": "crowdsecurity/crowdsec", + "version": "v1.6.11", + "date": "2025-07-22T12:11:38Z" + }, { "name": "dgtlmoon/changedetection.io", "version": "0.50.8", "date": "2025-07-30T11:33:00Z" }, - { - "name": "bunkerity/bunkerweb", - "version": "testing", - "date": "2025-07-30T11:09:03Z" - }, { "name": "fuma-nama/fumadocs", "version": "create-fumadocs-app@15.6.7", "date": "2025-07-30T11:07:48Z" }, - { - "name": "wizarrrr/wizarr", - "version": "2025.7.8", - "date": "2025-07-30T10:30:02Z" - }, { "name": "mattermost/mattermost", "version": "server/public/v0.1.16", @@ -49,16 +124,6 @@ "version": "coverity-w30-4.13.0", "date": "2025-07-18T12:05:26Z" }, - { - "name": "meilisearch/meilisearch", - "version": "prototype-arroy-becomes-hannoy-5", - "date": "2025-07-30T07:39:55Z" - }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.21", - "date": "2025-07-17T04:46:25Z" - }, { "name": "morpheus65535/bazarr", "version": "v1.5.3-beta.10", @@ -84,26 +149,11 @@ "version": "v0.22.0", "date": "2025-07-30T00:09:03Z" }, - { - "name": "ollama/ollama", - "version": "v0.10.0-rc4", - "date": "2025-07-29T23:41:25Z" - }, { "name": "OliveTin/OliveTin", "version": "2025.7.29", "date": "2025-07-29T22:20:13Z" }, - { - "name": "mongodb/mongo", - "version": "r8.2.0-rc1", - "date": "2025-07-29T20:59:27Z" - }, - { - "name": "influxdata/influxdb", - "version": "v3.3.0", - "date": "2025-07-29T20:49:38Z" - }, { "name": "netbox-community/netbox", "version": "v4.3.5", @@ -144,11 +194,6 @@ "version": "4.1.0", "date": "2025-07-29T15:15:26Z" }, - { - "name": "zwave-js/zwave-js-ui", - "version": "v10.11.0", - "date": "2025-07-29T14:06:44Z" - }, { "name": "keycloak/keycloak", "version": "26.3.2", @@ -224,11 +269,6 @@ "version": "v2.3.0p35", "date": "2025-07-28T08:32:54Z" }, - { - "name": "home-assistant/core", - "version": "2025.7.4", - "date": "2025-07-28T08:15:50Z" - }, { "name": "PrivateBin/PrivateBin", "version": "2.0.0", @@ -259,11 +299,6 @@ "version": "v1.18.4", "date": "2025-06-25T00:06:56Z" }, - { - "name": "benjaminjonard/koillection", - "version": "1.6.16", - "date": "2025-07-27T14:48:37Z" - }, { "name": "project-zot/zot", "version": "v2.1.6", @@ -284,11 +319,6 @@ "version": "v0.12.1", "date": "2025-07-25T23:53:12Z" }, - { - "name": "gtsteffaniak/filebrowser", - "version": "v0.7.17-beta", - "date": "2025-07-25T22:03:43Z" - }, { "name": "homarr-labs/homarr", "version": "v1.30.1", @@ -374,11 +404,6 @@ "version": "v12.1.0", "date": "2025-07-23T19:35:52Z" }, - { - "name": "semaphoreui/semaphore", - "version": "v2.16.0-beta6", - "date": "2025-07-23T19:18:14Z" - }, { "name": "fallenbagel/jellyseerr", "version": "preview-plex-home-profile", @@ -404,6 +429,11 @@ "version": "343", "date": "2025-07-23T11:21:34Z" }, + { + "name": "neo4j/neo4j", + "version": "2025.07.0", + "date": "2025-07-23T10:13:43Z" + }, { "name": "jhuckaby/Cronicle", "version": "v0.9.85", @@ -434,21 +464,11 @@ "version": "v0.7.3", "date": "2025-07-22T14:39:54Z" }, - { - "name": "element-hq/synapse", - "version": "v1.134.0", - "date": "2025-07-15T13:43:39Z" - }, { "name": "goauthentik/authentik", "version": "version/2025.4.4", "date": "2025-07-22T13:08:15Z" }, - { - "name": "crowdsecurity/crowdsec", - "version": "v1.6.11", - "date": "2025-07-22T12:11:38Z" - }, { "name": "lazy-media/Reactive-Resume", "version": "v1.2.2", @@ -554,11 +574,6 @@ "version": "2.0.7", "date": "2025-07-17T15:33:14Z" }, - { - "name": "oauth2-proxy/oauth2-proxy", - "version": "v7.10.0", - "date": "2025-07-17T12:08:40Z" - }, { "name": "icereed/paperless-gpt", "version": "v0.22.0", @@ -649,21 +664,11 @@ "version": "v10.10.7", "date": "2025-04-05T19:14:59Z" }, - { - "name": "leiweibau/Pi.Alert", - "version": "v2025-07-12", - "date": "2025-07-12T07:53:52Z" - }, { "name": "eclipse-mosquitto/mosquitto", "version": "v2.0.22", "date": "2025-07-11T21:34:20Z" }, - { - "name": "neo4j/neo4j", - "version": "2025.06.2", - "date": "2025-07-11T18:03:51Z" - }, { "name": "FlowiseAI/Flowise", "version": "flowise@3.0.4", @@ -844,11 +849,6 @@ "version": "v1.3.8", "date": "2025-06-29T07:41:53Z" }, - { - "name": "gristlabs/grist-core", - "version": "v1.6.1", - "date": "2025-06-25T21:19:25Z" - }, { "name": "arunavo4/gitea-mirror", "version": "v2.18.0", From d71c3efecd634e9ee9bf5c5a2d55d40d331f0394 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, 31 Jul 2025 00:14:04 +0000 Subject: [PATCH 076/148] Update CHANGELOG.md (#6412) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a30046855..f414af79a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-07-31 + ## 2025-07-30 ### 🚀 Updated Scripts From 9d3250a82d96b96640b956eb10e5accef733d732 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 31 Jul 2025 07:30:34 +0200 Subject: [PATCH 077/148] Update (#6409) --- install/openobserve-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/openobserve-install.sh b/install/openobserve-install.sh index fb7dd0f41..149072b94 100644 --- a/install/openobserve-install.sh +++ b/install/openobserve-install.sh @@ -16,7 +16,7 @@ update_os msg_info "Installing OpenObserve" mkdir -p /opt/openobserve/data LATEST=$(curl -fsSL https://api.github.com/repos/openobserve/openobserve/releases/latest | grep '"tag_name":' | cut -d'"' -f4) -$STD tar zxvf <(curl -fsSL https://github.com/openobserve/openobserve/releases/download/$LATEST/openobserve-${LATEST}-linux-amd64.tar.gz) -C /opt/openobserve +$STD tar zxvf <(curl -fsSL https://downloads.openobserve.ai/releases/openobserve/$LATEST/openobserve-$LATEST-linux-amd64.tar.gz) -C /opt/openobserve cat </opt/openobserve/data/.env ZO_ROOT_USER_EMAIL = "admin@example.com" From dd2defebafbabe050fb5aa9cd30507ec356a6385 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, 31 Jul 2025 05:30:53 +0000 Subject: [PATCH 078/148] Update CHANGELOG.md (#6413) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f414af79a..7c70737bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-07-31 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - OpenObserve: Fix release fetching [@tremor021](https://github.com/tremor021) ([#6409](https://github.com/community-scripts/ProxmoxVE/pull/6409)) + ## 2025-07-30 ### 🚀 Updated Scripts From 9e9bff2315529561316cc24c9abe3be5eb84b140 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 31 Jul 2025 13:58:48 +0200 Subject: [PATCH 079/148] Refactor (#6417) --- ct/myspeed.sh | 19 ++++++++----------- install/myspeed-install.sh | 11 +++-------- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/ct/myspeed.sh b/ct/myspeed.sh index 965c7f74d..43a08f8a8 100644 --- a/ct/myspeed.sh +++ b/ct/myspeed.sh @@ -28,31 +28,28 @@ function update_script() { exit fi RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5) - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - + if [[ ! -f ~/.myspeed ]] || [[ "${RELEASE}" != "$(cat ~/.myspeed)" ]]; then msg_info "Stopping ${APP} Service" systemctl stop myspeed msg_ok "Stopped ${APP} Service" - msg_info "Updating ${APP} to ${RELEASE}" + msg_info "Creating backup" cd /opt rm -rf myspeed_bak mv myspeed myspeed_bak - curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o $(basename "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip") - $STD unzip MySpeed-$RELEASE.zip -d myspeed - cd myspeed + msg_ok "Backup created" + + fetch_and_deploy_gh_release "myspeed" "gnmyt/myspeed" "prebuild" "latest" "/opt/myspeed" "MySpeed-*.zip" + + msg_info "Updating ${APP} to ${RELEASE}" + cd /opt/myspeed $STD npm install - echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated ${APP} to ${RELEASE}" msg_info "Starting ${APP} Service" systemctl start myspeed msg_ok "Started ${APP} Service" - msg_info "Cleaning up" - rm -rf MySpeed-$RELEASE.zip - msg_ok "Cleaned" - msg_ok "Updated Successfully!\n" else msg_ok "No update required. ${APP} is already at ${RELEASE}" diff --git a/install/myspeed-install.sh b/install/myspeed-install.sh index 17bccfa64..b160abad2 100644 --- a/install/myspeed-install.sh +++ b/install/myspeed-install.sh @@ -20,15 +20,11 @@ $STD apt-get install -y \ msg_ok "Installed Dependencies" NODE_VERSION="22" setup_nodejs +fetch_and_deploy_gh_release "myspeed" "gnmyt/myspeed" "prebuild" "latest" "/opt/myspeed" "MySpeed-*.zip" -msg_info "Installing MySpeed" -RELEASE=$(curl -fsSL https://github.com/gnmyt/myspeed/releases/latest | grep "title>Release" | cut -d " " -f 5) -cd /opt -curl -fsSL "https://github.com/gnmyt/myspeed/releases/download/v$RELEASE/MySpeed-$RELEASE.zip" -o "MySpeed-$RELEASE.zip" -$STD unzip MySpeed-$RELEASE.zip -d myspeed -cd myspeed +msg_info "Configuring MySpeed" +cd /opt/myspeed $STD npm install -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Installed MySpeed" msg_info "Creating Service" @@ -56,6 +52,5 @@ customize msg_info "Cleaning up" $STD apt-get -y autoremove -rm -rf /opt/MySpeed-$RELEASE.zip $STD apt-get -y autoclean msg_ok "Cleaned" From 9b2b794f9c42e281b728ac743140b650f4725c75 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, 31 Jul 2025 11:59:09 +0000 Subject: [PATCH 080/148] Update CHANGELOG.md (#6426) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c70737bf..7f2adc77f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - OpenObserve: Fix release fetching [@tremor021](https://github.com/tremor021) ([#6409](https://github.com/community-scripts/ProxmoxVE/pull/6409)) + - #### 🔧 Refactor + + - Refactor: MySpeed [@tremor021](https://github.com/tremor021) ([#6417](https://github.com/community-scripts/ProxmoxVE/pull/6417)) + ## 2025-07-30 ### 🚀 Updated Scripts From c7a1334b29cb02819f4d728df2a1eb8612ecb8ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 31 Jul 2025 13:59:27 +0200 Subject: [PATCH 081/148] Refactor (#6422) --- ct/ombi.sh | 31 +++++++++++++++++++------------ frontend/public/json/ombi.json | 2 +- install/ombi-install.sh | 9 +-------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/ct/ombi.sh b/ct/ombi.sh index 645f96930..f86e4c361 100644 --- a/ct/ombi.sh +++ b/ct/ombi.sh @@ -27,22 +27,29 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - msg_info "Stopping ${APP}" + + RELEASE=$(curl -fsSL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat ~/.ombi)" ]] || [[ ! -f ~/.ombi ]]; then + msg_info "Stopping ${APP} service" systemctl stop ombi - msg_ok "Stopped ${APP}" + msg_ok "Stopped ${APP} service" - msg_info "Updating ${APP} to ${RELEASE}" - curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -o $(basename "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz") - tar -xzf linux-x64.tar.gz -C /opt/ombi - rm -rf linux-x64.tar.gz - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to ${RELEASE}" + msg_info "Creating backup" + [[ -f /opt/ombi/Ombi.db ]] && mv /opt/ombi/Ombi.db /opt + [[ -f /opt/ombi/OmbiExternal.db ]] && mv /opt/ombi/OmbiExternal.db /opt + [[ -f /opt/ombi/OmbiSettings.db ]] && mv /opt/ombi/OmbiSettings.db /opt + msg_ok "Backup created" - msg_info "Starting ${APP}" + rm -rf /opt/ombi + fetch_and_deploy_gh_release "ombi" "Ombi-app/Ombi" "prebuild" "latest" "/opt/ombi" "linux-x64.tar.gz" + [[ -f /opt/Ombi.db ]] && mv /opt/Ombi.db /opt/ombi + [[ -f /opt/OmbiExternal.db ]] && mv /opt/OmbiExternal.db /opt/ombi + [[ -f /opt/OmbiSettings.db ]] && mv /opt/OmbiSettings.db /opt/ombi + + msg_info "Starting ${APP} service" systemctl start ombi - msg_ok "Started ${APP}" + msg_ok "Started ${APP} service" + msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} ia already at ${RELEASE}." diff --git a/frontend/public/json/ombi.json b/frontend/public/json/ombi.json index 1f10a7f5f..a1ab86780 100644 --- a/frontend/public/json/ombi.json +++ b/frontend/public/json/ombi.json @@ -6,7 +6,7 @@ ], "date_created": "2024-05-02", "type": "ct", - "updateable": false, + "updateable": true, "privileged": false, "interface_port": 5000, "documentation": "https://docs.ombi.app/", diff --git a/install/ombi-install.sh b/install/ombi-install.sh index 87595d523..43445107a 100644 --- a/install/ombi-install.sh +++ b/install/ombi-install.sh @@ -13,14 +13,7 @@ setting_up_container network_check update_os -msg_info "Installing Ombi" -RELEASE=$(curl -fsSL https://api.github.com/repos/Ombi-app/Ombi/releases/latest | grep '"tag_name":' | cut -d'"' -f4) -curl -fsSL "https://github.com/Ombi-app/Ombi/releases/download/${RELEASE}/linux-x64.tar.gz" -o "linux-x64.tar.gz" -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -mkdir -p /opt/ombi -tar -xzf linux-x64.tar.gz -C /opt/ombi -rm -rf linux-x64.tar.gz -msg_ok "Installed Ombi" +fetch_and_deploy_gh_release "ombi" "Ombi-app/Ombi" "prebuild" "latest" "/opt/ombi" "linux-x64.tar.gz" msg_info "Creating Service" cat </etc/systemd/system/ombi.service From 709fb03305777d73429d981f19f891e7e6b29c41 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, 31 Jul 2025 11:59:47 +0000 Subject: [PATCH 082/148] Update CHANGELOG.md (#6427) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f2adc77f..8fe8c027e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Ombi [@tremor021](https://github.com/tremor021) ([#6422](https://github.com/community-scripts/ProxmoxVE/pull/6422)) - Refactor: MySpeed [@tremor021](https://github.com/tremor021) ([#6417](https://github.com/community-scripts/ProxmoxVE/pull/6417)) ## 2025-07-30 From 5b67c8a42618093a03c720fc2576ebf409f9d09b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 31 Jul 2025 13:59:52 +0200 Subject: [PATCH 083/148] Refactor (#6423) --- ct/opengist.sh | 29 +++++++++++------------------ frontend/public/json/opengist.json | 2 +- install/opengist-install.sh | 14 ++------------ 3 files changed, 14 insertions(+), 31 deletions(-) diff --git a/ct/opengist.sh b/ct/opengist.sh index e19bebe89..57b54f17b 100644 --- a/ct/opengist.sh +++ b/ct/opengist.sh @@ -27,34 +27,27 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + RELEASE=$(curl -fsSL https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ ! -f ~/.opengist ]] || [[ "${RELEASE}" != "$(cat ~/.opengist)" ]]; then msg_info "Stopping Service" - systemctl stop opengist.service + systemctl stop opengist msg_ok "Stopped Service" - msg_info "Updating ${APP} to v${RELEASE}" - $STD apt-get update - $STD apt-get -y upgrade - cd /opt + msg_info "Creating backup" mv /opt/opengist /opt/opengist-backup - curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -o $(basename "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz") - tar -xzf opengist${RELEASE}-linux-amd64.tar.gz + msg_ok "Backup created" + + fetch_and_deploy_gh_release "opengist" "thomiceli/opengist" "prebuild" "latest" "/opt/opengist" "opengist*linux-amd64.tar.gz" + + msg_info "Configuring ${APP}" mv /opt/opengist-backup/config.yml /opt/opengist/config.yml - chmod +x /opt/opengist/opengist - echo "${RELEASE}" >"/opt/${APP}_version.txt" - msg_ok "Updated ${APP} LXC" + msg_ok "Configured ${APP}" msg_info "Starting Service" - systemctl start opengist.service + systemctl start opengist msg_ok "Started Service" - msg_info "Cleaning up" - rm -rf /opt/opengist${RELEASE}-linux-amd64.tar.gz - rm -rf /opt/opengist-backup - $STD apt-get -y autoremove - $STD apt-get -y autoclean - msg_ok "Cleaned" msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at v${RELEASE}." diff --git a/frontend/public/json/opengist.json b/frontend/public/json/opengist.json index 8d29583a9..80db5e445 100644 --- a/frontend/public/json/opengist.json +++ b/frontend/public/json/opengist.json @@ -9,7 +9,7 @@ "updateable": true, "privileged": false, "interface_port": 6157, - "documentation": null, + "documentation": "https://opengist.io/docs/", "website": "https://opengist.io/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/opengist.webp", "config_path": "/opt/opengist/config.yml", diff --git a/install/opengist-install.sh b/install/opengist-install.sh index ebfd615f5..2c8efa439 100644 --- a/install/opengist-install.sh +++ b/install/opengist-install.sh @@ -17,20 +17,11 @@ msg_info "Installing Dependencies" $STD apt-get install -y git msg_ok "Installed Dependencies" -msg_info "Install Opengist" -RELEASE=$(curl -fsSL https://api.github.com/repos/thomiceli/opengist/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -curl -fsSL "https://github.com/thomiceli/opengist/releases/download/v${RELEASE}/opengist${RELEASE}-linux-amd64.tar.gz" -o "opengist${RELEASE}-linux-amd64.tar.gz" -$STD tar -xzf opengist${RELEASE}-linux-amd64.tar.gz -mv opengist /opt/opengist -chmod +x /opt/opengist/opengist +fetch_and_deploy_gh_release "opengist" "thomiceli/opengist" "prebuild" "latest" "/opt/opengist" "opengist*linux-amd64.tar.gz" mkdir -p /opt/opengist-data -msg_ok "Installed Opengist" - -msg_info "Creating Service" - sed -i 's|opengist-home:.*|opengist-home: /opt/opengist-data|' /opt/opengist/config.yml +msg_info "Creating Service" cat </etc/systemd/system/opengist.service [Unit] Description=Opengist server to manage your Gists @@ -52,7 +43,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf /opengist${RELEASE}-linux-amd64.tar.gz $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From dd30ad5fa3af11cc58ddaf0c615dbd4aba30b36e 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, 31 Jul 2025 12:00:11 +0000 Subject: [PATCH 084/148] Update CHANGELOG.md (#6428) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fe8c027e..82a789a58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Opengist [@tremor021](https://github.com/tremor021) ([#6423](https://github.com/community-scripts/ProxmoxVE/pull/6423)) - Refactor: Ombi [@tremor021](https://github.com/tremor021) ([#6422](https://github.com/community-scripts/ProxmoxVE/pull/6422)) - Refactor: MySpeed [@tremor021](https://github.com/tremor021) ([#6417](https://github.com/community-scripts/ProxmoxVE/pull/6417)) From 30fed5b1bceacceddebe84c5b9c7401d3b9101be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 31 Jul 2025 14:00:31 +0200 Subject: [PATCH 085/148] Refactor (#6415) --- ct/memos.sh | 43 +++++++++++++++------------------ frontend/public/json/memos.json | 6 ++--- install/memos-install.sh | 23 +----------------- 3 files changed, 24 insertions(+), 48 deletions(-) diff --git a/ct/memos.sh b/ct/memos.sh index ea923a64f..893af104b 100644 --- a/ct/memos.sh +++ b/ct/memos.sh @@ -7,9 +7,9 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV APP="Memos" var_tags="${var_tags:-notes}" -var_cpu="${var_cpu:-2}" -var_ram="${var_ram:-3072}" -var_disk="${var_disk:-7}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-1024}" +var_disk="${var_disk:-3}" var_os="${var_os:-debian}" var_version="${var_version:-12}" var_unprivileged="${var_unprivileged:-1}" @@ -27,26 +27,23 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - msg_info "Updating $APP (Patience)" - cd /opt/memos - git reset --hard HEAD - output=$(git pull --no-rebase) - if echo "$output" | grep -q "Already up to date."; then - msg_ok "$APP is already up to date." - exit + + RELEASE=$(curl -fsSL https://api.github.com/repos/usememos/memos/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat ~/.memos 2>/dev/null)" ]] || [[ ! -f ~/.memos ]]; then + msg_info "Stopping service" + systemctl stop memos + msg_ok "Service stopped" + + fetch_and_deploy_gh_release "memos" "usememos/memos" "prebuild" "latest" "/opt/memos" "memos*linux_amd64.tar.gz" + + msg_info "Starting service" + systemctl start memos + msg_ok "Service started" + + msg_ok "Updated successfully" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" fi - systemctl stop memos - export NODE_OPTIONS="--max-old-space-size=2048" - cd /opt/memos/web - $STD pnpm i --frozen-lockfile - $STD pnpm build - cd /opt/memos - mkdir -p /opt/memos/server/dist - cp -r web/dist/* /opt/memos/server/dist/ - cp -r web/dist/* /opt/memos/server/router/frontend/dist/ - $STD go build -o /opt/memos/memos -tags=embed bin/memos/main.go - systemctl start memos - msg_ok "Updated $APP" exit } @@ -57,4 +54,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9030${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9030${CL}" diff --git a/frontend/public/json/memos.json b/frontend/public/json/memos.json index ac9400c0f..0d5bcf0b5 100644 --- a/frontend/public/json/memos.json +++ b/frontend/public/json/memos.json @@ -19,9 +19,9 @@ "type": "default", "script": "ct/memos.sh", "resources": { - "cpu": 2, - "ram": 3072, - "hdd": 7, + "cpu": 1, + "ram": 1024, + "hdd": 3, "os": "debian", "version": "12" } diff --git a/install/memos-install.sh b/install/memos-install.sh index 12d6573f2..6060d6bc3 100644 --- a/install/memos-install.sh +++ b/install/memos-install.sh @@ -14,29 +14,8 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y \ - build-essential \ - git \ - tzdata -msg_ok "Installed Dependencies" - -NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs -setup_go - -msg_info "Installing Memos (Patience)" +fetch_and_deploy_gh_release "memos" "usememos/memos" "prebuild" "latest" "/opt/memos" "memos*linux_amd64.tar.gz" mkdir -p /opt/memos_data -export NODE_OPTIONS="--max-old-space-size=2048" -$STD git clone https://github.com/usememos/memos.git /opt/memos -cd /opt/memos/web -$STD pnpm i --frozen-lockfile -$STD pnpm build -cd /opt/memos -mkdir -p /opt/memos/server/dist -cp -r web/dist/* /opt/memos/server/dist/ -cp -r web/dist/* /opt/memos/server/router/frontend/dist/ -$STD go build -o /opt/memos/memos -tags=embed bin/memos/main.go -msg_ok "Installed Memos" msg_info "Creating Service" cat </etc/systemd/system/memos.service From b5b59342bd5bc59ba65babe4295814fb57451399 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, 31 Jul 2025 12:00:51 +0000 Subject: [PATCH 086/148] Update CHANGELOG.md (#6429) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82a789a58..9f2c1eb9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Memos [@tremor021](https://github.com/tremor021) ([#6415](https://github.com/community-scripts/ProxmoxVE/pull/6415)) - Refactor: Opengist [@tremor021](https://github.com/tremor021) ([#6423](https://github.com/community-scripts/ProxmoxVE/pull/6423)) - Refactor: Ombi [@tremor021](https://github.com/tremor021) ([#6422](https://github.com/community-scripts/ProxmoxVE/pull/6422)) - Refactor: MySpeed [@tremor021](https://github.com/tremor021) ([#6417](https://github.com/community-scripts/ProxmoxVE/pull/6417)) From 492be65aecd6b2f2c9df100355ef1910479928e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 31 Jul 2025 14:00:57 +0200 Subject: [PATCH 087/148] Refactor (#6416) --- ct/monica.sh | 19 ++++++++++--------- install/monica-install.sh | 23 ++++++----------------- 2 files changed, 16 insertions(+), 26 deletions(-) diff --git a/ct/monica.sh b/ct/monica.sh index 871c95a93..35aa7c91e 100644 --- a/ct/monica.sh +++ b/ct/monica.sh @@ -27,18 +27,20 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ ! -f ~/.monica ]] || [[ "${RELEASE}" != "$(cat ~/.monica)" ]]; then msg_info "Stopping Service" systemctl stop apache2 msg_ok "Stopped Service" - msg_info "Updating ${APP} to v${RELEASE}" - cd /opt + msg_info "Creating backup" mv /opt/monica/ /opt/monica-backup - curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -o $(basename "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2") - tar -xjf "monica-v${RELEASE}.tar.bz2" - mv "/opt/monica-v${RELEASE}" /opt/monica + msg_ok "Backup created" + + fetch_and_deploy_gh_release "monica" "monicahq/monica" "prebuild" "latest" "/opt/monica" "monica-v*.tar.bz2" + + msg_info "Configuring monica" cd /opt/monica/ cp -r /opt/monica-backup/.env /opt/monica cp -r /opt/monica-backup/storage/* /opt/monica/storage/ @@ -48,17 +50,16 @@ function update_script() { $STD php artisan monica:update --force chown -R www-data:www-data /opt/monica chmod -R 775 /opt/monica/storage - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated $APP to v${RELEASE}" + msg_ok "Configured monica" msg_info "Starting Service" systemctl start apache2 msg_ok "Started Service" msg_info "Cleaning up" - rm -r "/opt/monica-v${RELEASE}.tar.bz2" rm -r /opt/monica-backup msg_ok "Cleaned" + msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at v${RELEASE}" diff --git a/install/monica-install.sh b/install/monica-install.sh index 1f9ab9154..41a00d5da 100644 --- a/install/monica-install.sh +++ b/install/monica-install.sh @@ -13,14 +13,8 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y \ - apache2 \ - libapache2-mod-php \ - php-{bcmath,curl,dom,gd,gmp,iconv,intl,json,mbstring,mysqli,opcache,pdo-mysql,redis,tokenizer,xml,zip} \ - composer -msg_ok "Installed Dependencies" - +PHP_VERSION="8.2" PHP_APACHE="YES" PHP_MODULE="dom,gmp,iconv,mysqli,pdo-mysql,redis,tokenizer" setup_php +setup_composer setup_mariadb NODE_VERSION="20" NODE_MODULE="yarn@latest" setup_nodejs @@ -39,12 +33,9 @@ $STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUS } >>~/monica.creds msg_ok "Set up MariaDB" -msg_info "Installing monica" -RELEASE=$(curl -fsSL https://api.github.com/repos/monicahq/monica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -cd /opt -curl -fsSL "https://github.com/monicahq/monica/releases/download/v${RELEASE}/monica-v${RELEASE}.tar.bz2" -o "monica-v${RELEASE}.tar.bz2" -tar -xjf "monica-v${RELEASE}.tar.bz2" -mv "/opt/monica-v${RELEASE}" /opt/monica +fetch_and_deploy_gh_release "monica" "monicahq/monica" "prebuild" "latest" "/opt/monica" "monica-v*.tar.bz2" + +msg_info "Configuring monica" cd /opt/monica cp /opt/monica/.env.example /opt/monica/.env HASH_SALT=$(openssl rand -base64 32) @@ -59,8 +50,7 @@ $STD php artisan key:generate $STD php artisan setup:production --email=admin@helper-scripts.com --password=helper-scripts.com --force chown -R www-data:www-data /opt/monica chmod -R 775 /opt/monica/storage -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Installed monica" +msg_ok "Configured monica" msg_info "Creating Service" cat </etc/apache2/sites-available/monica.conf @@ -87,7 +77,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf "/opt/monica-v${RELEASE}.tar.bz2" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From e7c7b6384a7cc5b4f491517fe7a05a033c9bc2f3 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, 31 Jul 2025 12:01:16 +0000 Subject: [PATCH 088/148] Update CHANGELOG.md (#6430) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f2c1eb9c..f370760ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Monica [@tremor021](https://github.com/tremor021) ([#6416](https://github.com/community-scripts/ProxmoxVE/pull/6416)) - Refactor: Memos [@tremor021](https://github.com/tremor021) ([#6415](https://github.com/community-scripts/ProxmoxVE/pull/6415)) - Refactor: Opengist [@tremor021](https://github.com/tremor021) ([#6423](https://github.com/community-scripts/ProxmoxVE/pull/6423)) - Refactor: Ombi [@tremor021](https://github.com/tremor021) ([#6422](https://github.com/community-scripts/ProxmoxVE/pull/6422)) From dcd979e00c35bc53294014bcec7f51934c9b33f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 31 Jul 2025 14:02:42 +0200 Subject: [PATCH 089/148] Refactor (#6418) --- ct/neo4j.sh | 11 +---------- frontend/public/json/neo4j.json | 4 ++-- install/neo4j-install.sh | 12 +----------- 3 files changed, 4 insertions(+), 23 deletions(-) diff --git a/ct/neo4j.sh b/ct/neo4j.sh index 129f0e50d..45daa907c 100644 --- a/ct/neo4j.sh +++ b/ct/neo4j.sh @@ -28,16 +28,7 @@ function update_script() { exit fi if ! dpkg -l | grep -q temurin-21-jre; then - msg_info "Installing Adoptium JDK" - $STD apt-get install -y \ - gnupg2 \ - lsb-release - mkdir -p /etc/apt/keyrings - curl -fsSL https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg - echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" >/etc/apt/sources.list.d/adoptium.list - $STD apt-get update - $STD apt-get install -y temurin-21-jre - msg_ok "Adoptium JDK installed" + JAVA_VERSION="21" setup_java fi msg_info "Updating ${APP}" $STD apt-get update diff --git a/frontend/public/json/neo4j.json b/frontend/public/json/neo4j.json index dabebbe4f..3c2e7a3ea 100644 --- a/frontend/public/json/neo4j.json +++ b/frontend/public/json/neo4j.json @@ -6,10 +6,10 @@ ], "date_created": "2024-10-20", "type": "ct", - "updateable": false, + "updateable": true, "privileged": false, "interface_port": 7474, - "documentation": null, + "documentation": "https://neo4j.com/docs/", "website": "https://neo4j.com/product/neo4j-graph-database/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/neo4j.webp", "config_path": "/etc/neo4j/neo4j.conf", diff --git a/install/neo4j-install.sh b/install/neo4j-install.sh index dc253097f..5799cfaa3 100644 --- a/install/neo4j-install.sh +++ b/install/neo4j-install.sh @@ -14,22 +14,12 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y \ - lsb-release -msg_ok "Installed Dependencies" - -msg_info "Setting up Adoptium Repository" -mkdir -p /etc/apt/keyrings -curl -fsSL "https://packages.adoptium.net/artifactory/api/gpg/key/public" | gpg --dearmor >/etc/apt/trusted.gpg.d/adoptium.gpg -echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" >/etc/apt/sources.list.d/adoptium.list -msg_ok "Set up Adoptium Repository" +JAVA_VERSION="21" setup_java msg_info "Installing Neo4j (patience)" curl -fsSL "https://debian.neo4j.com/neotechnology.gpg.key" | gpg --dearmor -o /etc/apt/keyrings/neotechnology.gpg echo 'deb [signed-by=/etc/apt/keyrings/neotechnology.gpg] https://debian.neo4j.com stable latest' >/etc/apt/sources.list.d/neo4j.list $STD apt-get update -$STD apt-get install -y temurin-21-jre $STD apt-get install -y neo4j sed -i '/server.default_listen_address/s/^#//' /etc/neo4j/neo4j.conf systemctl enable -q --now neo4j From 7f07395ab104be472dd917d55366275b74650073 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, 31 Jul 2025 12:03:00 +0000 Subject: [PATCH 090/148] Update CHANGELOG.md (#6431) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f370760ec..d1da75f4e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Neo4j [@tremor021](https://github.com/tremor021) ([#6418](https://github.com/community-scripts/ProxmoxVE/pull/6418)) - Refactor: Monica [@tremor021](https://github.com/tremor021) ([#6416](https://github.com/community-scripts/ProxmoxVE/pull/6416)) - Refactor: Memos [@tremor021](https://github.com/tremor021) ([#6415](https://github.com/community-scripts/ProxmoxVE/pull/6415)) - Refactor: Opengist [@tremor021](https://github.com/tremor021) ([#6423](https://github.com/community-scripts/ProxmoxVE/pull/6423)) From 5acca4975cd9e95e6aed4855219d0bae885fb7c4 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, 31 Jul 2025 14:05:40 +0200 Subject: [PATCH 091/148] Update versions.json (#6432) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 120 ++++++++++++++--------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 317826b84..c402bc524 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,19 +1,74 @@ [ + { + "name": "Paymenter/Paymenter", + "version": "v1.2.7", + "date": "2025-07-31T09:50:54Z" + }, + { + "name": "apache/cassandra", + "version": "5.0.5-tentative", + "date": "2025-07-31T09:40:54Z" + }, + { + "name": "meilisearch/meilisearch", + "version": "prototype-arroy-becomes-hannoy-7", + "date": "2025-07-31T09:40:15Z" + }, + { + "name": "redis/redis", + "version": "8.2-int", + "date": "2025-07-31T09:01:24Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.21", + "date": "2025-07-17T04:46:25Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2213", + "date": "2025-07-31T05:56:37Z" + }, + { + "name": "ollama/ollama", + "version": "v0.10.1", + "date": "2025-07-31T04:39:49Z" + }, + { + "name": "coder/code-server", + "version": "v4.102.3", + "date": "2025-07-31T03:41:16Z" + }, + { + "name": "mongodb/mongo", + "version": "r7.0.23-rc0", + "date": "2025-07-31T01:24:14Z" + }, + { + "name": "hyperion-project/hyperion.ng", + "version": "2.1.1", + "date": "2025-06-14T17:45:06Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" + }, { "name": "gtsteffaniak/filebrowser", "version": "v0.7.18-beta", "date": "2025-07-30T21:26:00Z" }, + { + "name": "keycloak/keycloak", + "version": "26.3.2", + "date": "2025-07-24T10:14:27Z" + }, { "name": "benjaminjonard/koillection", "version": "1.6.17", "date": "2025-07-30T20:24:17Z" }, - { - "name": "mongodb/mongo", - "version": "r8.3.0-alpha0", - "date": "2025-07-30T20:23:07Z" - }, { "name": "gristlabs/grist-core", "version": "v1.7.0", @@ -39,16 +94,6 @@ "version": "v2025-07-30", "date": "2025-07-30T17:13:40Z" }, - { - "name": "ollama/ollama", - "version": "v0.10.0-rc4", - "date": "2025-07-29T23:41:25Z" - }, - { - "name": "meilisearch/meilisearch", - "version": "prototype-arroy-becomes-hannoy-6", - "date": "2025-07-30T15:24:55Z" - }, { "name": "home-assistant/core", "version": "2025.7.4", @@ -69,11 +114,6 @@ "version": "v1.134.0", "date": "2025-07-15T13:43:39Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.21", - "date": "2025-07-17T04:46:25Z" - }, { "name": "bunkerity/bunkerweb", "version": "v1.6.2", @@ -129,21 +169,11 @@ "version": "v1.5.3-beta.10", "date": "2025-07-15T06:07:03Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2208", - "date": "2025-07-30T05:56:51Z" - }, { "name": "jenkinsci/jenkins", "version": "jenkins-2.521", "date": "2025-07-30T03:38:59Z" }, - { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" - }, { "name": "docmost/docmost", "version": "v0.22.0", @@ -194,16 +224,6 @@ "version": "4.1.0", "date": "2025-07-29T15:15:26Z" }, - { - "name": "keycloak/keycloak", - "version": "26.3.2", - "date": "2025-07-24T10:14:27Z" - }, - { - "name": "apache/cassandra", - "version": "5.0.5-tentative", - "date": "2025-07-29T10:00:00Z" - }, { "name": "rogerfar/rdt-client", "version": "v2.0.115", @@ -254,11 +274,6 @@ "version": "7.0.0-alpha.1", "date": "2025-07-28T11:28:22Z" }, - { - "name": "Paymenter/Paymenter", - "version": "v1.2.6", - "date": "2025-07-28T09:31:34Z" - }, { "name": "gotson/komga", "version": "1.23.0", @@ -354,11 +369,6 @@ "version": "v5.10.0", "date": "2025-07-24T23:33:09Z" }, - { - "name": "coder/code-server", - "version": "v4.102.2", - "date": "2025-07-24T22:42:01Z" - }, { "name": "linuxserver/Heimdall", "version": "v2.7.3", @@ -759,16 +769,6 @@ "version": "v1.17.2", "date": "2025-07-06T12:21:52Z" }, - { - "name": "redis/redis", - "version": "8.0.3", - "date": "2025-07-06T12:19:24Z" - }, - { - "name": "hyperion-project/hyperion.ng", - "version": "2.1.1", - "date": "2025-06-14T17:45:06Z" - }, { "name": "Kareadita/Kavita", "version": "v0.8.7", From bb664636f649f31e0cd78852e0c7d4990cee3a8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Thu, 31 Jul 2025 18:58:19 +0200 Subject: [PATCH 092/148] Refactor: listmonk (#6399) * Refactor * Update --- ct/listmonk.sh | 22 +++++----- frontend/public/json/listmonk.json | 66 +++++++++++++++--------------- install/listmonk-install.sh | 23 ++++------- 3 files changed, 52 insertions(+), 59 deletions(-) diff --git a/ct/listmonk.sh b/ct/listmonk.sh index 473844318..a800f9a00 100644 --- a/ct/listmonk.sh +++ b/ct/listmonk.sh @@ -27,31 +27,33 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + if ! command -v jq &>/dev/null; then + $STD apt-get install -y jq + fi - RELEASE=$(curl -fsSL https://api.github.com/repos/knadh/listmonk/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + RELEASE=$(curl -fsSL https://api.github.com/repos/knadh/listmonk/releases/latest | jq -r '.tag_name' | sed 's/^v//') + if [[ "${RELEASE}" != "$(cat ~/.listmonk)" ]] || [[ ! -f ~/.listmonk ]]; then msg_info "Stopping ${APP}" systemctl stop listmonk msg_ok "Stopped ${APP}" - msg_info "Updating ${APP} to v${RELEASE}" - cd /opt + msg_info "Backing up data" mv /opt/listmonk/ /opt/listmonk-backup - mkdir /opt/listmonk/ - curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -o $(basename "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz") - tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk + msg_ok "Backed up data" + + fetch_and_deploy_gh_release "listmonk" "knadh/listmonk" "prebuild" "latest" "/opt/listmonk" "listmonk*linux_amd64.tar.gz" + + msg_info "Configuring listmonk" mv /opt/listmonk-backup/config.toml /opt/listmonk/config.toml mv /opt/listmonk-backup/uploads /opt/listmonk/uploads $STD /opt/listmonk/listmonk --upgrade --yes --config /opt/listmonk/config.toml - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated $APP to v${RELEASE}" + msg_ok "Configured listmonk" msg_info "Starting ${APP}" systemctl start listmonk msg_ok "Started ${APP}" msg_info "Cleaning up" - rm -rf "/opt/listmonk_${RELEASE}_linux_amd64.tar.gz" rm -rf /opt/listmonk-backup/ msg_ok "Cleaned" diff --git a/frontend/public/json/listmonk.json b/frontend/public/json/listmonk.json index c216c6461..ba47075ff 100644 --- a/frontend/public/json/listmonk.json +++ b/frontend/public/json/listmonk.json @@ -1,35 +1,35 @@ { - "name": "listmonk", - "slug": "listmonk", - "categories": [ - 0 - ], - "date_created": "2024-11-22", - "type": "ct", - "updateable": true, - "privileged": false, - "interface_port": 9000, - "documentation": "https://listmonk.app/docs/", - "website": "https://listmonk.app/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/listmonk.webp", - "config_path": "/opt/listmonk/config.toml", - "description": "High performance, self-hosted, newsletter and mailing list manager with a modern dashboard.", - "install_methods": [ - { - "type": "default", - "script": "ct/listmonk.sh", - "resources": { - "cpu": 1, - "ram": 512, - "hdd": 4, - "os": "debian", - "version": "12" - } - } - ], - "default_credentials": { - "username": null, - "password": null - }, - "notes": [] + "name": "listmonk", + "slug": "listmonk", + "categories": [ + 0 + ], + "date_created": "2024-11-22", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 9000, + "documentation": "https://listmonk.app/docs/", + "website": "https://listmonk.app/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/listmonk.webp", + "config_path": "/opt/listmonk/config.toml", + "description": "High performance, self-hosted, newsletter and mailing list manager with a modern dashboard.", + "install_methods": [ + { + "type": "default", + "script": "ct/listmonk.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 4, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] } diff --git a/install/listmonk-install.sh b/install/listmonk-install.sh index 84f2cb669..49b97c1bd 100644 --- a/install/listmonk-install.sh +++ b/install/listmonk-install.sh @@ -13,11 +13,9 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y postgresql -msg_ok "Installed Dependencies" +PG_VERSION="17" setup_postgresql -msg_info "Setting up PostgreSQL" +msg_info "Configuring PostgreSQL" DB_NAME=listmonk DB_USER=listmonk DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13) @@ -29,22 +27,16 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMP echo -e "listmonk Database Password: \e[32m$DB_PASS\e[0m" echo -e "listmonk Database Name: \e[32m$DB_NAME\e[0m" } >>~/listmonk.creds -msg_ok "Set up PostgreSQL" +msg_ok "Configured PostgreSQL" -msg_info "Installing listmonk" -cd /opt -mkdir /opt/listmonk -mkdir /opt/listmonk/uploads -RELEASE=$(curl -fsSL https://api.github.com/repos/knadh/listmonk/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz" -o "listmonk_${RELEASE}_linux_amd64.tar.gz" -tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk +fetch_and_deploy_gh_release "listmonk" "knadh/listmonk" "prebuild" "latest" "/opt/listmonk" "listmonk*linux_amd64.tar.gz" +msg_info "Configuring listmonk" +mkdir -p /opt/listmonk/uploads $STD /opt/listmonk/listmonk --new-config --config /opt/listmonk/config.toml sed -i -e 's/address = "localhost:9000"/address = "0.0.0.0:9000"/' -e 's/^password = ".*"/password = "'"$DB_PASS"'"/' /opt/listmonk/config.toml $STD /opt/listmonk/listmonk --install --yes --config /opt/listmonk/config.toml - -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Installed listmonk" +msg_ok "Configured listmonk" msg_info "Creating Service" cat </etc/systemd/system/listmonk.service @@ -70,7 +62,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf "/opt/listmonk_${RELEASE}_linux_amd64.tar.gz" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 3c889430ed8bfe074d94075788d465008d787c85 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, 31 Jul 2025 16:58:42 +0000 Subject: [PATCH 093/148] Update CHANGELOG.md (#6436) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1da75f4e..1e5e7c8a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: listmonk [@tremor021](https://github.com/tremor021) ([#6399](https://github.com/community-scripts/ProxmoxVE/pull/6399)) - Refactor: Neo4j [@tremor021](https://github.com/tremor021) ([#6418](https://github.com/community-scripts/ProxmoxVE/pull/6418)) - Refactor: Monica [@tremor021](https://github.com/tremor021) ([#6416](https://github.com/community-scripts/ProxmoxVE/pull/6416)) - Refactor: Memos [@tremor021](https://github.com/tremor021) ([#6415](https://github.com/community-scripts/ProxmoxVE/pull/6415)) From 6f096b04fe4324ed1b38f32df262f93bdc8bf5c5 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 31 Jul 2025 20:14:18 +0200 Subject: [PATCH 094/148] Remove temp. Tandoor during Install & Update Issues (#6438) * Tandoor: Remove update & from website until breaking * remove json --- ct/tandoor.sh | 40 +++++++++---------- .../json/{tandoor.json => tandoor.json.bak} | 0 2 files changed, 20 insertions(+), 20 deletions(-) rename frontend/public/json/{tandoor.json => tandoor.json.bak} (100%) diff --git a/ct/tandoor.sh b/ct/tandoor.sh index 085b28f17..dab75cb37 100644 --- a/ct/tandoor.sh +++ b/ct/tandoor.sh @@ -27,27 +27,27 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - if ! [[ $(dpkg -s python3-xmlsec 2>/dev/null) ]]; then - $STD apt-get update - $STD apt-get install -y python3-xmlsec - fi - if cd /opt/tandoor && git pull | grep -q 'Already up to date'; then + #if ! [[ $(dpkg -s python3-xmlsec 2>/dev/null) ]]; then + #$STD apt-get update + #$STD apt-get install -y python3-xmlsec + #fi + #if cd /opt/tandoor && git pull | grep -q 'Already up to date'; then msg_ok "There is currently no update available." - else - msg_info "Updating ${APP} (Patience)" - export $(cat /opt/tandoor/.env | grep "^[^#]" | xargs) - cd /opt/tandoor/ - $STD pip3 install -r requirements.txt - $STD /usr/bin/python3 /opt/tandoor/manage.py migrate - $STD /usr/bin/python3 /opt/tandoor/manage.py collectstatic --no-input - $STD /usr/bin/python3 /opt/tandoor/manage.py collectstatic_js_reverse - cd /opt/tandoor/vue - $STD yarn install - $STD yarn build - cd /opt/tandoor - $STD python3 version.py - systemctl restart gunicorn_tandoor - msg_ok "Updated ${APP}" + #else + #msg_info "Updating ${APP} (Patience)" + #export $(cat /opt/tandoor/.env | grep "^[^#]" | xargs) + #cd /opt/tandoor/ + #$STD pip3 install -r requirements.txt + #$STD /usr/bin/python3 /opt/tandoor/manage.py migrate + #$STD /usr/bin/python3 /opt/tandoor/manage.py collectstatic --no-input + #$STD /usr/bin/python3 /opt/tandoor/manage.py collectstatic_js_reverse + #cd /opt/tandoor/vue + #$STD yarn install + #$STD yarn build + #cd /opt/tandoor + #$STD python3 version.py + #systemctl restart gunicorn_tandoor + #msg_ok "Updated ${APP}" fi exit } diff --git a/frontend/public/json/tandoor.json b/frontend/public/json/tandoor.json.bak similarity index 100% rename from frontend/public/json/tandoor.json rename to frontend/public/json/tandoor.json.bak From 296bcbf56fa5f7a0a8bd9ce66fc7bca29ab1ec61 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, 31 Jul 2025 18:14:42 +0000 Subject: [PATCH 095/148] Update CHANGELOG.md (#6439) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e5e7c8a7..c76abd03d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - OpenObserve: Fix release fetching [@tremor021](https://github.com/tremor021) ([#6409](https://github.com/community-scripts/ProxmoxVE/pull/6409)) + - #### 💥 Breaking Changes + + - Remove temp. Tandoor during Install & Update Issues [@MickLesk](https://github.com/MickLesk) ([#6438](https://github.com/community-scripts/ProxmoxVE/pull/6438)) + - #### 🔧 Refactor - Refactor: listmonk [@tremor021](https://github.com/tremor021) ([#6399](https://github.com/community-scripts/ProxmoxVE/pull/6399)) From 38cb85d9c46f07eade063d7ebec66bd5e9809006 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 02:16:49 +0200 Subject: [PATCH 096/148] Update versions.json (#6444) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 160 ++++++++++++++--------------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index c402bc524..93ee00ee8 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,79 @@ [ + { + "name": "immich-app/immich", + "version": "v1.137.1", + "date": "2025-07-31T23:19:24Z" + }, + { + "name": "gristlabs/grist-core", + "version": "v1.7.1", + "date": "2025-07-31T22:26:54Z" + }, + { + "name": "zitadel/zitadel", + "version": "v4.0.0", + "date": "2025-07-31T20:05:45Z" + }, + { + "name": "lazy-media/Reactive-Resume", + "version": "v1.2.3", + "date": "2025-07-31T19:18:36Z" + }, + { + "name": "apache/tomcat", + "version": "9.0.108", + "date": "2025-07-31T18:24:50Z" + }, + { + "name": "Suwayomi/Suwayomi-Server", + "version": "v2.1.1867", + "date": "2025-07-31T18:08:43Z" + }, + { + "name": "TandoorRecipes/recipes", + "version": "2.0.1", + "date": "2025-07-31T17:29:38Z" + }, + { + "name": "home-assistant/core", + "version": "2025.7.4", + "date": "2025-07-28T08:15:50Z" + }, + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.21", + "date": "2025-07-17T04:46:25Z" + }, + { + "name": "meilisearch/meilisearch", + "version": "prototype-sharding-split-docs-1", + "date": "2025-07-31T15:32:45Z" + }, + { + "name": "TryGhost/Ghost-CLI", + "version": "v1.28.2", + "date": "2025-07-31T15:02:56Z" + }, + { + "name": "NodeBB/NodeBB", + "version": "v3.12.8", + "date": "2025-07-31T14:00:13Z" + }, + { + "name": "fuma-nama/fumadocs", + "version": "fumadocs-mdx@11.7.3", + "date": "2025-07-31T13:53:15Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.104.2", + "date": "2025-07-31T13:14:26Z" + }, + { + "name": "Stirling-Tools/Stirling-PDF", + "version": "v1.1.1", + "date": "2025-07-31T12:16:54Z" + }, { "name": "Paymenter/Paymenter", "version": "v1.2.7", @@ -9,21 +84,11 @@ "version": "5.0.5-tentative", "date": "2025-07-31T09:40:54Z" }, - { - "name": "meilisearch/meilisearch", - "version": "prototype-arroy-becomes-hannoy-7", - "date": "2025-07-31T09:40:15Z" - }, { "name": "redis/redis", "version": "8.2-int", "date": "2025-07-31T09:01:24Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.21", - "date": "2025-07-17T04:46:25Z" - }, { "name": "Jackett/Jackett", "version": "v0.22.2213", @@ -64,16 +129,16 @@ "version": "26.3.2", "date": "2025-07-24T10:14:27Z" }, + { + "name": "fallenbagel/jellyseerr", + "version": "preview-fix-invalid-blacklisttag", + "date": "2025-07-30T20:30:29Z" + }, { "name": "benjaminjonard/koillection", "version": "1.6.17", "date": "2025-07-30T20:24:17Z" }, - { - "name": "gristlabs/grist-core", - "version": "v1.7.0", - "date": "2025-07-30T20:19:50Z" - }, { "name": "semaphoreui/semaphore", "version": "v2.16.0-beta6", @@ -94,11 +159,6 @@ "version": "v2025-07-30", "date": "2025-07-30T17:13:40Z" }, - { - "name": "home-assistant/core", - "version": "2025.7.4", - "date": "2025-07-28T08:15:50Z" - }, { "name": "zwave-js/zwave-js-ui", "version": "v11.0.0", @@ -129,11 +189,6 @@ "version": "0.50.8", "date": "2025-07-30T11:33:00Z" }, - { - "name": "fuma-nama/fumadocs", - "version": "create-fumadocs-app@15.6.7", - "date": "2025-07-30T11:07:48Z" - }, { "name": "mattermost/mattermost", "version": "server/public/v0.1.16", @@ -204,21 +259,11 @@ "version": "v1.24.8", "date": "2025-07-29T17:40:35Z" }, - { - "name": "zitadel/zitadel", - "version": "v2.70.14", - "date": "2025-07-15T15:27:51Z" - }, { "name": "caddyserver/xcaddy", "version": "v0.4.5", "date": "2025-07-29T16:39:18Z" }, - { - "name": "TandoorRecipes/recipes", - "version": "1.5.35", - "date": "2025-06-22T08:30:10Z" - }, { "name": "node-red/node-red", "version": "4.1.0", @@ -259,11 +304,6 @@ "version": "2025-07-27", "date": "2025-07-28T15:57:09Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.103.2", - "date": "2025-07-22T11:22:26Z" - }, { "name": "booklore-app/BookLore", "version": "v0.35.0", @@ -299,11 +339,6 @@ "version": "v12.0.2", "date": "2025-07-28T03:34:53Z" }, - { - "name": "TryGhost/Ghost-CLI", - "version": "v1.28.1", - "date": "2025-07-28T01:39:35Z" - }, { "name": "umami-software/umami", "version": "v2.19.0", @@ -379,21 +414,11 @@ "version": "v2.39.1", "date": "2025-07-24T17:02:01Z" }, - { - "name": "immich-app/immich", - "version": "v1.136.0", - "date": "2025-07-24T16:42:30Z" - }, { "name": "grokability/snipe-it", "version": "v8.2.1", "date": "2025-07-24T14:37:54Z" }, - { - "name": "Stirling-Tools/Stirling-PDF", - "version": "v1.1.0", - "date": "2025-07-24T14:08:58Z" - }, { "name": "glpi-project/glpi", "version": "10.0.19", @@ -414,11 +439,6 @@ "version": "v12.1.0", "date": "2025-07-23T19:35:52Z" }, - { - "name": "fallenbagel/jellyseerr", - "version": "preview-plex-home-profile", - "date": "2025-07-23T16:40:31Z" - }, { "name": "traefik/traefik", "version": "v3.5.0", @@ -479,11 +499,6 @@ "version": "version/2025.4.4", "date": "2025-07-22T13:08:15Z" }, - { - "name": "lazy-media/Reactive-Resume", - "version": "v1.2.2", - "date": "2025-07-22T03:12:54Z" - }, { "name": "ellite/Wallos", "version": "v4.0.0", @@ -804,11 +819,6 @@ "version": "2.5.1", "date": "2025-07-02T19:38:06Z" }, - { - "name": "apache/tomcat", - "version": "9.0.107", - "date": "2025-07-02T07:12:09Z" - }, { "name": "qbittorrent/qBittorrent", "version": "release-5.1.2", @@ -894,11 +904,6 @@ "version": "v1.11.11", "date": "2025-06-18T18:04:50Z" }, - { - "name": "NodeBB/NodeBB", - "version": "v3.12.7", - "date": "2025-06-18T14:22:53Z" - }, { "name": "Bubka/2FAuth", "version": "v5.6.0", @@ -1129,11 +1134,6 @@ "version": "v4.1.2", "date": "2024-05-04T08:06:50Z" }, - { - "name": "Suwayomi/Suwayomi-Server", - "version": "v2.0.1727", - "date": "2025-04-21T17:53:05Z" - }, { "name": "caddyserver/caddy", "version": "v2.10.0", From 82ff5f587e4c02bde53a31b9359efc197227a353 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 00:17:10 +0000 Subject: [PATCH 097/148] Update CHANGELOG.md (#6445) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c76abd03d..64f2587b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-08-01 + ## 2025-07-31 ### 🚀 Updated Scripts From 3bb787d74650864f2bb8f661da31f057142e8c47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:23:27 +0200 Subject: [PATCH 098/148] Refactor (#6434) --- ct/owncast.sh | 23 ++++++++++++++++++----- frontend/public/json/owncast.json | 2 +- install/owncast-install.sh | 8 +------- 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/ct/owncast.sh b/ct/owncast.sh index ffc3f3c98..4cbc786d4 100644 --- a/ct/owncast.sh +++ b/ct/owncast.sh @@ -27,10 +27,23 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated $APP LXC" + + RELEASE=$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ ! -f ~/.owncast ]] || [[ "${RELEASE}" != "$(cat ~/.owncast)" ]]; then + msg_info "Stopping ${APP}" + systemctl stop owncast + msg_ok "Stopped ${APP}" + + fetch_and_deploy_gh_release "owncast" "owncast/owncast" "prebuild" "latest" "/opt/owncast" "owncast*linux-64bit.zip" + + msg_info "Starting ${APP}" + systemctl start owncast + msg_ok "Started ${APP}" + + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}." + fi exit } @@ -41,4 +54,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/admin${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/admin${CL}" diff --git a/frontend/public/json/owncast.json b/frontend/public/json/owncast.json index 230064726..55fc27334 100644 --- a/frontend/public/json/owncast.json +++ b/frontend/public/json/owncast.json @@ -6,7 +6,7 @@ ], "date_created": "2024-05-02", "type": "ct", - "updateable": false, + "updateable": true, "privileged": false, "interface_port": 8080, "documentation": "https://owncast.online/docs/", diff --git a/install/owncast-install.sh b/install/owncast-install.sh index 4976f296c..efb181cb3 100644 --- a/install/owncast-install.sh +++ b/install/owncast-install.sh @@ -17,13 +17,7 @@ msg_info "Installing Dependencies (Patience)" $STD apt-get install -y ffmpeg msg_ok "Installed Dependencies" -msg_info "Installing Owncast" -mkdir /opt/owncast -cd /opt/owncast -curl -fsSL "$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/owncast/owncast/releases/latest | grep download | grep linux-64bit | cut -d\" -f4)") -$STD unzip owncast*.zip -rm owncast*.zip -msg_ok "Installed Owncast" +fetch_and_deploy_gh_release "owncast" "owncast/owncast" "prebuild" "latest" "/opt/owncast" "owncast*linux-64bit.zip" msg_info "Creating Service" cat </etc/systemd/system/owncast.service From ae7fe6e3e134971f55c3dc675b5500115643bed7 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 05:23:50 +0000 Subject: [PATCH 099/148] Update CHANGELOG.md (#6446) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64f2587b8..dac9365a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-08-01 +### 🚀 Updated Scripts + + - Refactor: Owncast [@tremor021](https://github.com/tremor021) ([#6434](https://github.com/community-scripts/ProxmoxVE/pull/6434)) + ## 2025-07-31 ### 🚀 Updated Scripts From b6bd8a6de451fe643310d98d2f95a0eb95cfdd4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:23:52 +0200 Subject: [PATCH 100/148] Refactor (#6425) --- ct/overseerr.sh | 41 ++++++++++++++++++++++++------------ install/overseerr-install.sh | 10 ++++----- 2 files changed, 32 insertions(+), 19 deletions(-) diff --git a/ct/overseerr.sh b/ct/overseerr.sh index 4741f474e..7e5c9937e 100644 --- a/ct/overseerr.sh +++ b/ct/overseerr.sh @@ -27,20 +27,35 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - msg_info "Updating $APP" - systemctl stop overseerr - cd /opt/overseerr - output=$(git pull) - $STD git pull - if echo "$output" | grep -q "Already up to date."; then - msg_ok " $APP is already up to date." + + RELEASE=$(curl -fsSL https://api.github.com/repos/sct/overseerr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ ! -f ~/.overseerr ]] || [[ "${RELEASE}" != "$(cat ~/.overseerr)" ]]; then + msg_info "Stopping ${APP} service" + systemctl stop overseerr + msg_ok "Service stopped" + + msg_info "Creating backup" + mv /opt/overseerr/config /opt/config_backup + msg_ok "Backup created" + + fetch_and_deploy_gh_release "overseerr" "sct/overseerr" "tarball" + rm -rf /opt/overseerr/config + + msg_info "Configuring ${APP} (Patience)" + cd /opt/overseerr + $STD yarn install + $STD yarn build + mv /opt/config_backup /opt/overseerr/config + msg_ok "Configured ${APP}" + + msg_info "Starting ${APP} service" systemctl start overseerr - exit + msg_ok "Started ${APP} service" + + msg_ok "Updated successfully!" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" fi - $STD yarn install - $STD yarn build - systemctl start overseerr - msg_ok "Updated $APP" exit } @@ -51,4 +66,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5055${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5055${CL}" diff --git a/install/overseerr-install.sh b/install/overseerr-install.sh index 64679b3a7..a33682433 100644 --- a/install/overseerr-install.sh +++ b/install/overseerr-install.sh @@ -14,19 +14,17 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ - git \ - ca-certificates +$STD apt-get install -y ca-certificates msg_ok "Installed Dependencies" NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs +fetch_and_deploy_gh_release "overseerr" "sct/overseerr" "tarball" -msg_info "Installing Overseerr (Patience)" -git clone -q https://github.com/sct/overseerr.git /opt/overseerr +msg_info "Configuring Overseerr (Patience)" cd /opt/overseerr $STD yarn install $STD yarn build -msg_ok "Installed Overseerr" +msg_ok "Configured Overseerr" msg_info "Creating Service" cat </etc/systemd/system/overseerr.service From 654bd1f0d50fea3baa42410953ec5a601fe2e40b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:24:13 +0200 Subject: [PATCH 101/148] Refactor (#6424) --- ct/outline.sh | 20 ++++++++------------ install/outline-install.sh | 13 ++++--------- 2 files changed, 12 insertions(+), 21 deletions(-) diff --git a/ct/outline.sh b/ct/outline.sh index 2593c65f1..d186eb9e9 100644 --- a/ct/outline.sh +++ b/ct/outline.sh @@ -27,36 +27,32 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + RELEASE=$(curl -fsSL https://api.github.com/repos/outline/outline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ ! -f ~/.outline ]] || [[ "${RELEASE}" != "$(cat ~/.outline)" ]]; then msg_info "Stopping Services" systemctl stop outline msg_ok "Services Stopped" - msg_info "Updating ${APP} to ${RELEASE}" - temp_file=$(mktemp) + msg_info "Creating backup" cp /opt/outline/.env /opt - rm -rf /opt/outline - curl -fsSL "https://github.com/outline/outline/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" - tar zxf "$temp_file" - mv outline-"${RELEASE}" /opt/outline + msg_ok "Backup created" + + fetch_and_deploy_gh_release "outline" "outline/outline" "tarball" + + msg_info "Updating ${APP} to ${RELEASE}" cd /opt/outline export NODE_ENV=development export NODE_OPTIONS="--max-old-space-size=3584" $STD yarn install --frozen-lockfile $STD yarn build mv /opt/.env /opt/outline - echo "${RELEASE}" >/opt/${APP}_version.txt msg_ok "Updated ${APP}" msg_info "Starting Services" systemctl start outline msg_ok "Started Services" - msg_info "Cleaning Up" - rm -rf "$temp_file" - rm -rf "$HOME"/outline-"${RELEASE}" - msg_ok "Cleaned" msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at ${RELEASE}" diff --git a/install/outline-install.sh b/install/outline-install.sh index 1d83d1c22..15ca3832a 100644 --- a/install/outline-install.sh +++ b/install/outline-install.sh @@ -40,14 +40,11 @@ $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';" } >>~/outline.creds msg_ok "Set up PostgreSQL Database" -msg_info "Setup Outline (Patience)" +fetch_and_deploy_gh_release "outline" "outline/outline" "tarball" + +msg_info "Configuring Outline (Patience)" SECRET_KEY="$(openssl rand -hex 32)" -temp_file=$(mktemp) LOCAL_IP="$(hostname -I | awk '{print $1}')" -RELEASE=$(curl -fsSL https://api.github.com/repos/outline/outline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/outline/outline/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" -tar zxf $temp_file -mv outline-${RELEASE} /opt/outline cd /opt/outline cp .env.sample .env export NODE_ENV=development @@ -62,8 +59,7 @@ export NODE_OPTIONS="--max-old-space-size=3584" $STD yarn build sed -i 's/NODE_ENV=development/NODE_ENV=production/g' /opt/outline/.env export NODE_ENV=production -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -msg_ok "Setup Outline" +msg_ok "Configured Outline" msg_info "Creating Service" cat </etc/systemd/system/outline.service @@ -89,7 +85,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -rf $temp_file $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 47ab850e5bec05290557afe1064a4a4216d7add0 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 05:24:15 +0000 Subject: [PATCH 102/148] Update CHANGELOG.md (#6447) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index dac9365a3..d2ecc959b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - Refactor: Owncast [@tremor021](https://github.com/tremor021) ([#6434](https://github.com/community-scripts/ProxmoxVE/pull/6434)) + - #### 🔧 Refactor + + - Refactor: Overseerr [@tremor021](https://github.com/tremor021) ([#6425](https://github.com/community-scripts/ProxmoxVE/pull/6425)) + ## 2025-07-31 ### 🚀 Updated Scripts From afd577db9e849376984103b0b626e72ee9b642c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:24:33 +0200 Subject: [PATCH 103/148] Refactor (#6421) --- ct/oauth2-proxy.sh | 22 +++++++--------------- install/oauth2-proxy-install.sh | 16 +--------------- 2 files changed, 8 insertions(+), 30 deletions(-) diff --git a/ct/oauth2-proxy.sh b/ct/oauth2-proxy.sh index f6cfe77dc..0e0dd2c47 100644 --- a/ct/oauth2-proxy.sh +++ b/ct/oauth2-proxy.sh @@ -30,26 +30,18 @@ function update_script() { fi RELEASE=$(curl -fsSL https://api.github.com/repos/oauth2-proxy/oauth2-proxy/releases/latest | jq -r .tag_name | sed 's/^v//') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if [[ ! -f ~/.oauth2-proxy ]] || [[ "${RELEASE}" != "$(cat ~/.oauth2-proxy)" ]]; then msg_info "Stopping ${APP} services" systemctl stop oauth2-proxy - msg_ok "Stopped ${APP}" + msg_ok "Stopped ${APP} service" - msg_info "Updating $APP to ${RELEASE}" - rm -f /opt/oauth2-proxy/oauth2-proxy - curl -fsSL "https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v${RELEASE}/oauth2-proxy-v${RELEASE}.linux-amd64.tar.gz" -o /opt/oauth2-proxy.tar.gz - tar -xzf /opt/oauth2-proxy.tar.gz - mv /opt/oauth2-proxy-v${RELEASE}.linux-amd64/oauth2-proxy /opt/oauth2-proxy + fetch_and_deploy_gh_release "oauth2-proxy" "oauth2-proxy/oauth2-proxy" "prebuild" "latest" "/opt/oauth2-proxy" "oauth2-proxy*linux-amd64.tar.gz" + + msg_info "Starting ${APP} service" systemctl start oauth2-proxy - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to ${RELEASE}" + msg_ok "Started ${APP} service" - msg_info "Cleaning up" - rm -f "/opt/oauth2-proxy.tar.gz" - rm -rf "/opt/oauth2-proxy-v${RELEASE}.linux-amd64" - $STD apt-get -y autoremove - $STD apt-get -y autoclean - msg_ok "Cleaned" + msg_ok "Updated successfully!\n" else msg_ok "${APP} is already up to date (${RELEASE})" fi diff --git a/install/oauth2-proxy-install.sh b/install/oauth2-proxy-install.sh index 3ed3fecea..45ee11481 100644 --- a/install/oauth2-proxy-install.sh +++ b/install/oauth2-proxy-install.sh @@ -13,20 +13,8 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y \ - jq -msg_ok "Installed Dependencies" - -msg_info "Setup OAuth2-Proxy" -RELEASE=$(curl -fsSL https://api.github.com/repos/oauth2-proxy/oauth2-proxy/releases/latest | jq -r .tag_name | sed 's/^v//') -mkdir -p /opt/oauth2-proxy -curl -fsSL "https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v${RELEASE}/oauth2-proxy-v${RELEASE}.linux-amd64.tar.gz" -o /opt/oauth2-proxy.tar.gz -tar -xzf /opt/oauth2-proxy.tar.gz -C /opt -mv /opt/oauth2-proxy-v${RELEASE}.linux-amd64/oauth2-proxy /opt/oauth2-proxy +fetch_and_deploy_gh_release "oauth2-proxy" "oauth2-proxy/oauth2-proxy" "prebuild" "latest" "/opt/oauth2-proxy" "oauth2-proxy*linux-amd64.tar.gz" touch /opt/oauth2-proxy/config.toml -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Setup OAuth2-Proxy" msg_info "Creating Service" cat </etc/systemd/system/oauth2-proxy.service @@ -51,8 +39,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -f "/opt/oauth2-proxy.tar.gz" -rm -rf "/opt/oauth2-proxy-v${RELEASE}.linux-amd64" $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From f80c7008a85c89f3c5dc379003c51979765a6818 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 05:24:39 +0000 Subject: [PATCH 104/148] Update CHANGELOG.md (#6448) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2ecc959b..cf4538cce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Outline [@tremor021](https://github.com/tremor021) ([#6424](https://github.com/community-scripts/ProxmoxVE/pull/6424)) - Refactor: Overseerr [@tremor021](https://github.com/tremor021) ([#6425](https://github.com/community-scripts/ProxmoxVE/pull/6425)) ## 2025-07-31 From da217bb3e0fa855bb32d93b60214d515e6d20be2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:25:00 +0200 Subject: [PATCH 105/148] Refactor: NodeBB (#6419) --- ct/nodebb.sh | 9 +++++---- install/nodebb-install.sh | 17 ++++++----------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/ct/nodebb.sh b/ct/nodebb.sh index 0fae92fe3..e806e3609 100644 --- a/ct/nodebb.sh +++ b/ct/nodebb.sh @@ -32,7 +32,7 @@ function update_script() { fi RELEASE=$(curl -fsSL https://api.github.com/repos/NodeBB/NodeBB/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + if [[ "${RELEASE}" != "$(cat ~/.nodebb)" ]] || [[ ! -f ~/.nodebb ]]; then msg_info "Stopping ${APP}" systemctl stop nodebb msg_ok "Stopped ${APP}" @@ -40,13 +40,14 @@ function update_script() { msg_info "Updating ${APP} to v${RELEASE}" cd /opt/nodebb $STD ./nodebb upgrade - echo "${RELEASE}" >/opt/${APP}_version.txt + echo "${RELEASE}" > ~/.nodebb msg_ok "Updated ${APP} to v${RELEASE}" msg_info "Starting ${APP}" systemctl start nodebb msg_ok "Started ${APP}" - msg_ok "Updated Successfully" + + msg_ok "Updated Successfully\n" else msg_ok "No update required. ${APP} is already at v${RELEASE}." fi @@ -60,4 +61,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4567${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4567${CL}" diff --git a/install/nodebb-install.sh b/install/nodebb-install.sh index 92c54c30d..016302525 100644 --- a/install/nodebb-install.sh +++ b/install/nodebb-install.sh @@ -24,7 +24,7 @@ msg_ok "Installed Dependencies" setup_mongodb NODE_VERSION="22" setup_nodejs -msg_info "Configure MongoDB" +msg_info "Configuring MongoDB" MONGO_ADMIN_USER="admin" MONGO_ADMIN_PWD="$(openssl rand -base64 18 | cut -c1-13)" NODEBB_USER="nodebb" @@ -63,14 +63,11 @@ sed -i 's/bindIp: 127.0.0.1/bindIp: 0.0.0.0/' /etc/mongod.conf sed -i '/security:/d' /etc/mongod.conf bash -c 'echo -e "\nsecurity:\n authorization: enabled" >> /etc/mongod.conf' systemctl restart mongod -msg_ok "MongoDB successfully configurated" +msg_ok "MongoDB configured" -msg_info "Install NodeBB" -cd /opt -RELEASE=$(curl -fsSL https://api.github.com/repos/NodeBB/NodeBB/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/NodeBB/NodeBB/archive/refs/tags/v${RELEASE}.zip" -o "/opt/v${RELEASE}.zip" -$STD unzip v${RELEASE}.zip -mv NodeBB-${RELEASE} /opt/nodebb +fetch_and_deploy_gh_release "nodebb" "NodeBB/NodeBB" "tarball" + +msg_info "Configuring NodeBB" cd /opt/nodebb touch pidfile expect </dev/null 2>&1 @@ -107,8 +104,7 @@ expect "Confirm Password" { } expect eof EOF -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -msg_ok "Installed NodeBB" +msg_ok "Configured NodeBB" msg_info "Creating Services" cat </etc/systemd/system/nodebb.service @@ -136,7 +132,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -R /opt/v${RELEASE}.zip $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 6de8d509694160e6550e7a8b3e155767c415df58 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 05:25:05 +0000 Subject: [PATCH 106/148] Update CHANGELOG.md (#6449) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf4538cce..c8ff28a8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: oauth2-proxy [@tremor021](https://github.com/tremor021) ([#6421](https://github.com/community-scripts/ProxmoxVE/pull/6421)) - Refactor: Outline [@tremor021](https://github.com/tremor021) ([#6424](https://github.com/community-scripts/ProxmoxVE/pull/6424)) - Refactor: Overseerr [@tremor021](https://github.com/tremor021) ([#6425](https://github.com/community-scripts/ProxmoxVE/pull/6425)) From 6f56655ad62a100d4b00115a470b5ef8d7e518d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:25:23 +0200 Subject: [PATCH 107/148] Refactor: Meilisearch (#6407) --- ct/meilisearch.sh | 26 +++++++------------------- install/meilisearch-install.sh | 30 ++++++++++-------------------- 2 files changed, 17 insertions(+), 39 deletions(-) diff --git a/ct/meilisearch.sh b/ct/meilisearch.sh index bb7096a37..949b69d80 100644 --- a/ct/meilisearch.sh +++ b/ct/meilisearch.sh @@ -24,7 +24,7 @@ function update_script() { check_container_storage check_container_resources - if [[ ! -f /opt/Meilisearch_version.txt ]]; then + if [[ ! -d /opt/meilisearch ]]; then msg_error "No Meilisearch Installation Found!" exit fi @@ -38,13 +38,7 @@ function update_script() { systemctl stop meilisearch msg_ok "Stopped Meilisearch" - msg_info "Updating Meilisearch" - tmp_file=$(mktemp) - RELEASE=$(curl -s https://api.github.com/repos/meilisearch/meilisearch/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - curl -fsSL https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb -o $tmp_file - $STD dpkg -i $tmp_file - echo "$RELEASE" >/opt/meilisearch_version.txt - msg_ok "Updated Meilisearch" + fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary" msg_info "Starting Meilisearch" systemctl start meilisearch @@ -53,7 +47,7 @@ function update_script() { fi if [ "$UPD" == "2" ]; then - if [[ ! -f /opt/Meilisearch-ui_version.txt ]]; then + if [[ ! -d /opt/meilisearch-ui ]]; then msg_error "No Meilisearch-UI Installation Found!" exit fi @@ -61,22 +55,16 @@ function update_script() { systemctl stop meilisearch-ui msg_ok "Stopped Meilisearch-UI" - msg_info "Updating Meilisearch-UI" - tmp_file=$(mktemp) - tmp_dir=$(mktemp -d) - RELEASE_UI=$(curl -s https://api.github.com/repos/riccox/meilisearch-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') cp /opt/meilisearch-ui/.env.local /tmp/.env.local.bak rm -rf /opt/meilisearch-ui - mkdir -p /opt/meilisearch-ui - curl -fsSL "https://github.com/riccox/meilisearch-ui/archive/refs/tags/${RELEASE_UI}.zip" -o $tmp_file - $STD unzip "$tmp_file" -d "$tmp_dir" - mv "$tmp_dir"/*/* /opt/meilisearch-ui/ + fetch_and_deploy_gh_release "meilisearch-ui" "riccox/meilisearch-ui" "tarball" + + msg_info "Configuring Meilisearch-UI" cd /opt/meilisearch-ui sed -i 's|const hash = execSync("git rev-parse HEAD").toString().trim();|const hash = "unknown";|' /opt/meilisearch-ui/vite.config.ts mv /tmp/.env.local.bak /opt/meilisearch-ui/.env.local $STD pnpm install - echo "$RELEASE_UI" >/opt/meilisearch-ui_version.txt - msg_ok "Updated Meilisearch-UI" + msg_ok "Configured Meilisearch-UI" msg_info "Starting Meilisearch-UI" systemctl start meilisearch-ui diff --git a/install/meilisearch-install.sh b/install/meilisearch-install.sh index ecfc071d9..9c8c226a7 100644 --- a/install/meilisearch-install.sh +++ b/install/meilisearch-install.sh @@ -13,11 +13,10 @@ setting_up_container network_check update_os -msg_info "Setup ${APPLICATION}" -tmp_file=$(mktemp) -RELEASE=$(curl -s https://api.github.com/repos/meilisearch/meilisearch/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL https://github.com/meilisearch/meilisearch/releases/latest/download/meilisearch.deb -o $tmp_file -$STD dpkg -i $tmp_file +fetch_and_deploy_gh_release "meilisearch" "meilisearch/meilisearch" "binary" + +msg_info "Configuring ${APPLICATION}" +cd /opt/meilisearch curl -fsSL https://raw.githubusercontent.com/meilisearch/meilisearch/latest/config.toml -o /etc/meilisearch.toml MASTER_KEY=$(openssl rand -base64 12) LOCAL_IP="$(hostname -I | awk '{print $1}')" @@ -30,21 +29,14 @@ sed -i \ -e 's|^# no_analytics = true|no_analytics = true|' \ -e 's|^http_addr =.*|http_addr = "0.0.0.0:7700"|' \ /etc/meilisearch.toml -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Setup ${APPLICATION}" +msg_ok "Configured ${APPLICATION}" read -r -p "${TAB3}Do you want add meilisearch-ui? [y/n]: " prompt if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs + fetch_and_deploy_gh_release "meilisearch-ui" "riccox/meilisearch-ui" "tarball" - msg_info "Setup ${APPLICATION}-ui" - tmp_file=$(mktemp) - tmp_dir=$(mktemp -d) - mkdir -p /opt/meilisearch-ui - RELEASE_UI=$(curl -s https://api.github.com/repos/riccox/meilisearch-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - curl -fsSL "https://github.com/riccox/meilisearch-ui/archive/refs/tags/${RELEASE_UI}.zip" -o "$tmp_file" - $STD unzip "$tmp_file" -d "$tmp_dir" - mv "$tmp_dir"/*/* /opt/meilisearch-ui/ + msg_info "Configuring ${APPLICATION}-ui" cd /opt/meilisearch-ui sed -i 's|const hash = execSync("git rev-parse HEAD").toString().trim();|const hash = "unknown";|' /opt/meilisearch-ui/vite.config.ts $STD pnpm install @@ -53,11 +45,10 @@ VITE_SINGLETON_MODE=true VITE_SINGLETON_HOST=http://${LOCAL_IP}:7700 VITE_SINGLETON_API_KEY=${MASTER_KEY} EOF - echo "${RELEASE_UI}" >/opt/${APPLICATION}-ui_version.txt - msg_ok "Setup ${APPLICATION}-ui" + msg_ok "Configured ${APPLICATION}-ui" fi -msg_info "Setting up Services" +msg_info "Creating service" cat </etc/systemd/system/meilisearch.service [Unit] Description=Meilisearch @@ -94,8 +85,7 @@ WantedBy=multi-user.target EOF systemctl enable -q --now meilisearch-ui fi - -msg_ok "Set up Services" +msg_ok "Service created" motd_ssh customize From a0502e00dbd570ffe4fe2351064e649df38c3dab Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 05:25:25 +0000 Subject: [PATCH 108/148] Update CHANGELOG.md (#6450) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c8ff28a8f..3251203c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: NodeBB [@tremor021](https://github.com/tremor021) ([#6419](https://github.com/community-scripts/ProxmoxVE/pull/6419)) - Refactor: oauth2-proxy [@tremor021](https://github.com/tremor021) ([#6421](https://github.com/community-scripts/ProxmoxVE/pull/6421)) - Refactor: Outline [@tremor021](https://github.com/tremor021) ([#6424](https://github.com/community-scripts/ProxmoxVE/pull/6424)) - Refactor: Overseerr [@tremor021](https://github.com/tremor021) ([#6425](https://github.com/community-scripts/ProxmoxVE/pull/6425)) From 3c7c5405762b99ccb42525b644d023b2230755ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:25:45 +0200 Subject: [PATCH 109/148] Refactor (#6406) --- ct/mediamtx.sh | 39 ++++++++++++++++++++++-------- frontend/public/json/mediamtx.json | 2 +- install/mediamtx-install.sh | 9 +------ 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/ct/mediamtx.sh b/ct/mediamtx.sh index 1d60f358c..6987291b0 100644 --- a/ct/mediamtx.sh +++ b/ct/mediamtx.sh @@ -20,15 +20,34 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/mediamtx/ ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_error "Currently we don't provide an update function for this ${APP}." - exit + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/mediamtx/ ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + if ! command -v jq &>/dev/null; then + $STD apt-get install -y jq + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/bluenviron/mediamtx/releases/latest | jq -r '.tag_name' | sed 's/^v//') + if [[ "${RELEASE}" != "$(cat ~/.mediamtx)" ]] || [[ ! -f ~/.mediamtx ]]; then + msg_info "Stopping service" + systemctl stop mediamtx + msg_ok "Service stopped" + + fetch_and_deploy_gh_release "mediamtx" "bluenviron/mediamtx" "prebuild" "latest" "/opt/mediamtx" "mediamtx*linux_amd64.tar.gz" + + msg_info "Starting service" + systemctl start mediamtx + msg_ok "Service started" + + msg_ok "Updated successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start @@ -36,4 +55,4 @@ build_container description msg_ok "Completed Successfully!\n" -echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" \ No newline at end of file +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" diff --git a/frontend/public/json/mediamtx.json b/frontend/public/json/mediamtx.json index afe9d7aff..89bb8c41a 100644 --- a/frontend/public/json/mediamtx.json +++ b/frontend/public/json/mediamtx.json @@ -6,7 +6,7 @@ ], "date_created": "2024-05-02", "type": "ct", - "updateable": false, + "updateable": true, "privileged": false, "interface_port": null, "documentation": "https://github.com/bluenviron/mediamtx/blob/main/README.md", diff --git a/install/mediamtx-install.sh b/install/mediamtx-install.sh index 9f55bc2d1..4261c65f1 100644 --- a/install/mediamtx-install.sh +++ b/install/mediamtx-install.sh @@ -17,14 +17,7 @@ msg_info "Installing Dependencies" $STD apt-get install -y ffmpeg msg_ok "Installed Dependencies" -msg_info "Installing MediaMTX" -RELEASE=$(curl -fsSL https://api.github.com/repos/bluenviron/mediamtx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -mkdir -p /opt/mediamtx -cd /opt/mediamtx -curl -fsSL "https://github.com/bluenviron/mediamtx/releases/download/${RELEASE}/mediamtx_${RELEASE}_linux_amd64.tar.gz" -o "mediamtx_${RELEASE}_linux_amd64.tar.gz" -tar xzf mediamtx_${RELEASE}_linux_amd64.tar.gz -rm -rf mediamtx_${RELEASE}_linux_amd64.tar.gz -msg_ok "Installed MediaMTX" +fetch_and_deploy_gh_release "mediamtx" "bluenviron/mediamtx" "prebuild" "latest" "/opt/mediamtx" "mediamtx*linux_amd64.tar.gz" msg_info "Creating Service" cat </etc/systemd/system/mediamtx.service From 46523385361033cffcf8182a9915079a5f3fd8ba Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 05:25:48 +0000 Subject: [PATCH 110/148] Update CHANGELOG.md (#6451) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3251203c2..3ddd03e6e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Meilisearch [@tremor021](https://github.com/tremor021) ([#6407](https://github.com/community-scripts/ProxmoxVE/pull/6407)) - Refactor: NodeBB [@tremor021](https://github.com/tremor021) ([#6419](https://github.com/community-scripts/ProxmoxVE/pull/6419)) - Refactor: oauth2-proxy [@tremor021](https://github.com/tremor021) ([#6421](https://github.com/community-scripts/ProxmoxVE/pull/6421)) - Refactor: Outline [@tremor021](https://github.com/tremor021) ([#6424](https://github.com/community-scripts/ProxmoxVE/pull/6424)) From b9408ef06fc1d9cc245b81da6e5d84c2fb81dcc7 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 05:26:07 +0000 Subject: [PATCH 111/148] Update CHANGELOG.md (#6452) 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 3ddd03e6e..b83753bbb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts - - Refactor: Owncast [@tremor021](https://github.com/tremor021) ([#6434](https://github.com/community-scripts/ProxmoxVE/pull/6434)) + - Refactor: MediaMTX [@tremor021](https://github.com/tremor021) ([#6406](https://github.com/community-scripts/ProxmoxVE/pull/6406)) +- Refactor: Owncast [@tremor021](https://github.com/tremor021) ([#6434](https://github.com/community-scripts/ProxmoxVE/pull/6434)) - #### 🔧 Refactor From 52e08e547407fb2468ad9963b725fc5dbcadbb53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:26:11 +0200 Subject: [PATCH 112/148] Refactor: Manage My Damn Life (#6403) --- ct/managemydamnlife.sh | 32 ++++++++++++----------------- install/managemydamnlife-install.sh | 14 ++++--------- 2 files changed, 17 insertions(+), 29 deletions(-) diff --git a/ct/managemydamnlife.sh b/ct/managemydamnlife.sh index ee198b3d4..34eda87da 100644 --- a/ct/managemydamnlife.sh +++ b/ct/managemydamnlife.sh @@ -28,39 +28,33 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi + if ! command -v jq &>/dev/null; then + $STD apt-get install -y jq + fi - RELEASE=$(curl -fsSL https://api.github.com/repos/intri-in/manage-my-damn-life-nextjs/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ "${RELEASE}" != "$(cat /opt/mmdl_version.txt)" ]] || [[ ! -f /opt/mmdl_version.txt ]]; then - msg_info "Stopping $APP" + RELEASE=$(curl -fsSL https://api.github.com/repos/intri-in/manage-my-damn-life-nextjs/releases/latest | jq -r '.tag_name' | sed 's/^v//') + if [[ "${RELEASE}" != "$(cat ~/.mmdl)" ]] || [[ ! -f ~/.mmdl ]]; then + msg_info "Stopping service" systemctl stop mmdl - msg_ok "Stopped $APP" + msg_ok "Stopped service" msg_info "Creating Backup" cp /opt/mmdl/.env /opt/mmdl.env msg_ok "Backup Created" - msg_info "Updating $APP to v${RELEASE}" - curl -fsSLO "https://github.com/intri-in/manage-my-damn-life-nextjs/archive/refs/tags/v${RELEASE}.zip" - rm -r /opt/mmdl - unzip -q v"$RELEASE".zip - mv manage-my-damn-life-nextjs-"$RELEASE"/ /opt/mmdl - mv /opt/mmdl.env /opt/mmdl/.env + fetch_and_deploy_gh_release "mmdl" "intri-in/manage-my-damn-life-nextjs" "tarball" + + msg_info "Configuring ${APP}" cd /opt/mmdl $STD npm install $STD npm run migrate $STD npm run build - msg_ok "Updated $APP to v${RELEASE}" + msg_ok "Configured ${APP}" - msg_info "Starting $APP" + msg_info "Starting service" systemctl start mmdl - msg_ok "Started $APP" + msg_ok "Started service" - msg_info "Cleaning Up" - rm -f ~/v"$RELEASE".zip - msg_ok "Cleanup Completed" - - # Last Action - echo "$RELEASE" >/opt/mmdl_version.txt msg_ok "Update Successful" else msg_ok "No update required. ${APP} is already at v${RELEASE}" diff --git a/install/managemydamnlife-install.sh b/install/managemydamnlife-install.sh index 1c1b1ccc0..81cb2cb85 100644 --- a/install/managemydamnlife-install.sh +++ b/install/managemydamnlife-install.sh @@ -31,13 +31,10 @@ $STD mysql -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH } >>~/mmdl.creds msg_ok "Set up Database" -msg_info "Installing ${APPLICATION}" -RELEASE=$(curl -fsSL https://api.github.com/repos/intri-in/manage-my-damn-life-nextjs/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSLO "https://github.com/intri-in/manage-my-damn-life-nextjs/archive/refs/tags/v${RELEASE}.zip" -unzip -q v"$RELEASE".zip -mv manage-my-damn-life-nextjs-"$RELEASE"/ /opt/mmdl -cp /opt/mmdl/sample.env.local /opt/mmdl/.env +fetch_and_deploy_gh_release "mmdl" "intri-in/manage-my-damn-life-nextjs" "tarball" +msg_info "Configuring ${APPLICATION}" +cp /opt/mmdl/sample.env.local /opt/mmdl/.env sed -i -e 's|db|localhost|' \ -e "s|myuser|${DB_USER}|" \ -e "s|mypassword|${DB_PASS}|" \ @@ -46,15 +43,13 @@ sed -i -e 's|db|localhost|' \ -e "s|sample_install_mmdm|${DB_NAME}|" \ -e "s|=PASSWORD|=$(openssl rand -base64 40 | tr -dc 'a-zA-Z0-9' | head -c40)|" \ /opt/mmdl/.env - cd /opt/mmdl export NEXT_TELEMETRY_DISABLE=1 export CI="true" $STD npm install $STD npm run migrate $STD npm run build -echo "${RELEASE}" >/opt/mmdl_version.txt -msg_ok "Installed ${APPLICATION}" +msg_ok "Configured ${APPLICATION}" msg_info "Creating Service" cat </etc/systemd/system/mmdl.service @@ -78,7 +73,6 @@ motd_ssh customize msg_info "Cleaning up" -rm -f ~/v${RELEASE}.zip $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 93b80362f65167fd3eb48bddc31b9c21bcd115e4 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 05:26:31 +0000 Subject: [PATCH 113/148] Update CHANGELOG.md (#6453) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b83753bbb..a6f231720 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: Manage My Damn Life [@tremor021](https://github.com/tremor021) ([#6403](https://github.com/community-scripts/ProxmoxVE/pull/6403)) - Refactor: Meilisearch [@tremor021](https://github.com/tremor021) ([#6407](https://github.com/community-scripts/ProxmoxVE/pull/6407)) - Refactor: NodeBB [@tremor021](https://github.com/tremor021) ([#6419](https://github.com/community-scripts/ProxmoxVE/pull/6419)) - Refactor: oauth2-proxy [@tremor021](https://github.com/tremor021) ([#6421](https://github.com/community-scripts/ProxmoxVE/pull/6421)) From ff695fa4ea05242891bfdfee19cca7d12cba6ce1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:26:35 +0200 Subject: [PATCH 114/148] Refactor: MagicMirror (#6402) --- ct/magicmirror.sh | 31 ++++++++++++++----------------- install/magicmirror-install.sh | 14 ++++---------- 2 files changed, 18 insertions(+), 27 deletions(-) diff --git a/ct/magicmirror.sh b/ct/magicmirror.sh index 337a8a414..a9676834c 100644 --- a/ct/magicmirror.sh +++ b/ct/magicmirror.sh @@ -27,16 +27,17 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if ! command -v jq &>/dev/null; then + $STD apt-get install -y jq + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | jq -r '.tag_name' | sed 's/^v//') + if [[ ! -f ~/.magicmirror ]] || [[ "${RELEASE}" != "$(cat ~/.magicmirror)" ]]; then msg_info "Stopping Service" systemctl stop magicmirror msg_ok "Stopped Service" - msg_info "Updating ${APP} to v${RELEASE}" - $STD apt-get update - $STD apt-get upgrade -y + msg_info "Backing up data" rm -rf /opt/magicmirror-backup mkdir /opt/magicmirror-backup cp /opt/magicmirror/config/config.js /opt/magicmirror-backup @@ -44,27 +45,23 @@ function update_script() { cp /opt/magicmirror/css/custom.css /opt/magicmirror-backup fi cp -r /opt/magicmirror/modules /opt/magicmirror-backup - temp_file=$(mktemp) -curl -fsSL "https://github.com/MagicMirrorOrg/MagicMirror/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" - tar -xzf "$temp_file" - rm -rf /opt/magicmirror - mv MagicMirror-${RELEASE} /opt/magicmirror + msg_ok "Backed up data" + + fetch_and_deploy_gh_release "magicmirror" "MagicMirrorOrg/MagicMirror" "tarball" + + msg_info "Configuring MagicMirror" cd /opt/magicmirror $STD npm run install-mm cp /opt/magicmirror-backup/config.js /opt/magicmirror/config/ if [[ -f /opt/magicmirror-backup/custom.css ]]; then cp /opt/magicmirror-backup/custom.css /opt/magicmirror/css/ fi - echo "${RELEASE}" >"/opt/${APP}_version.txt" - msg_ok "Updated ${APP} to v${RELEASE}" + msg_ok "Configured MagicMirror" msg_info "Starting Service" systemctl start magicmirror msg_ok "Started Service" - msg_info "Cleaning up" - rm -f $temp_file - msg_ok "Cleaned" msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at v${RELEASE}." @@ -79,4 +76,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" \ No newline at end of file +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}" diff --git a/install/magicmirror-install.sh b/install/magicmirror-install.sh index d4f21a008..5b8301c27 100644 --- a/install/magicmirror-install.sh +++ b/install/magicmirror-install.sh @@ -14,13 +14,9 @@ network_check update_os NODE_VERSION="22" setup_nodejs +fetch_and_deploy_gh_release "magicmirror" "MagicMirrorOrg/MagicMirror" "tarball" -msg_info "Setup MagicMirror" -temp_file=$(mktemp) -RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/MagicMirrorOrg/MagicMirror/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file"" -tar -xzf "$temp_file" -mv MagicMirror-${RELEASE} /opt/magicmirror +msg_info "Configuring MagicMirror" cd /opt/magicmirror $STD npm run install-mm cat </opt/magicmirror/config/config.js @@ -112,8 +108,7 @@ let config = { /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") {module.exports = config;} EOF -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -msg_ok "Setup MagicMirror" +msg_ok "Configured MagicMirror" msg_info "Creating Service" cat </etc/systemd/system/magicmirror.service @@ -133,14 +128,13 @@ ExecStart=/usr/bin/npm run server [Install] WantedBy=multi-user.target EOF -systemctl enable --now magicmirror +systemctl enable -q --now magicmirror msg_ok "Created Service" motd_ssh customize msg_info "Cleaning up" -rm -rf $temp_file $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 3e1d43c29a49adb3bbce5ad8601786c53cf4860f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 05:26:54 +0000 Subject: [PATCH 115/148] Update CHANGELOG.md (#6454) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a6f231720..a78b1e9c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: MagicMirror [@tremor021](https://github.com/tremor021) ([#6402](https://github.com/community-scripts/ProxmoxVE/pull/6402)) - Refactor: Manage My Damn Life [@tremor021](https://github.com/tremor021) ([#6403](https://github.com/community-scripts/ProxmoxVE/pull/6403)) - Refactor: Meilisearch [@tremor021](https://github.com/tremor021) ([#6407](https://github.com/community-scripts/ProxmoxVE/pull/6407)) - Refactor: NodeBB [@tremor021](https://github.com/tremor021) ([#6419](https://github.com/community-scripts/ProxmoxVE/pull/6419)) From 0f29e5672c4d510722e0a0f8f47bfb1b00cb48d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:26:58 +0200 Subject: [PATCH 116/148] Refactor: LubeLogger (#6400) --- ct/lubelogger.sh | 24 ++++++++++++++---------- install/lubelogger-install.sh | 18 ++++-------------- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/ct/lubelogger.sh b/ct/lubelogger.sh index d4f0cf4d9..c899a4640 100644 --- a/ct/lubelogger.sh +++ b/ct/lubelogger.sh @@ -27,16 +27,17 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/hargata/lubelog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - RELEASE_TRIMMED=$(echo "${RELEASE}" | tr -d ".") - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + if ! command -v jq &>/dev/null; then + $STD apt-get install -y jq + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/hargata/lubelog/releases/latest | jq -r '.tag_name' | sed 's/^v//') + if [[ ! -f ~/.lubelogger ]] || [[ "${RELEASE}" != "$(cat ~/.lubelogger)" ]]; then msg_info "Stopping Service" systemctl stop lubelogger msg_ok "Stopped Service" - msg_info "Updating ${APP} to v${RELEASE}" - cd /opt - curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -o $(basename "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip") + msg_info "Backing up data" mkdir -p /tmp/lubeloggerData/data cp /opt/lubelogger/appsettings.json /tmp/lubeloggerData/appsettings.json cp -r /opt/lubelogger/data/ /tmp/lubeloggerData/ @@ -50,20 +51,23 @@ function update_script() { [[ -e /opt/lubelogger/wwwroot/temp ]] && cp -r /opt/lubelogger/wwwroot/temp /tmp/lubeloggerData/data/ [[ -e /opt/lubelogger/log ]] && cp -r /opt/lubelogger/log /tmp/lubeloggerData/ rm -rf /opt/lubelogger - $STD unzip LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip -d lubelogger + msg_ok "Backed up data" + + fetch_and_deploy_gh_release "lubelogger" "hargata/lubelog" "prebuild" "latest" "/opt/lubelogger" "LubeLogger*linux_x64.zip" + + msg_info "Configuring LubeLogger" chmod 700 /opt/lubelogger/CarCareTracker cp -rf /tmp/lubeloggerData/* /opt/lubelogger/ - echo "${RELEASE}" >"/opt/${APP}_version.txt" - msg_ok "Updated ${APP} to v${RELEASE}" + msg_ok "Configured LubeLogger" msg_info "Starting Service" systemctl start lubelogger msg_ok "Started Service" msg_info "Cleaning up" - rm -rf /opt/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip rm -rf /tmp/lubeloggerData msg_ok "Cleaned" + msg_ok "Updated Successfully" else msg_ok "No update required. ${APP} is already at v${RELEASE}." diff --git a/install/lubelogger-install.sh b/install/lubelogger-install.sh index d670f5856..5c22b2ec6 100644 --- a/install/lubelogger-install.sh +++ b/install/lubelogger-install.sh @@ -13,23 +13,14 @@ setting_up_container network_check update_os -msg_info "Installing Dependencies" -$STD apt-get install -y jq -msg_ok "Installed Dependencies" +fetch_and_deploy_gh_release "lubelogger" "hargata/lubelog" "prebuild" "latest" "/opt/lubelogger" "LubeLogger*linux_x64.zip" -msg_info "Installing LubeLogger" -cd /opt -mkdir -p /opt/lubelogger -RELEASE=$(curl -fsSL https://api.github.com/repos/hargata/lubelog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -RELEASE_TRIMMED=$(echo "${RELEASE}" | tr -d ".") +msg_info "Configuring LubeLogger" cd /opt/lubelogger -curl -fsSL "https://github.com/hargata/lubelog/releases/download/v${RELEASE}/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -o "LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip" -$STD unzip LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip chmod 700 /opt/lubelogger/CarCareTracker cp /opt/lubelogger/appsettings.json /opt/lubelogger/appsettings_bak.json jq '.Kestrel = {"Endpoints": {"Http": {"Url": "http://0.0.0.0:5000"}}}' /opt/lubelogger/appsettings_bak.json >/opt/lubelogger/appsettings.json -echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt" -msg_ok "Installed LubeLogger" +msg_ok "Configured LubeLogger" msg_info "Creating Service" cat </etc/systemd/system/lubelogger.service @@ -51,7 +42,7 @@ Restart=on-failure WantedBy=multi-user.target EOF -systemctl enable --now -q lubelogger.service +systemctl enable -q --now lubelogger msg_ok "Created Service" motd_ssh @@ -59,7 +50,6 @@ customize msg_info "Cleaning up" rm -rf /opt/lubelogger/appsettings_bak.json -rm -rf /opt/lubelogger/LubeLogger_v${RELEASE_TRIMMED}_linux_x64.zip $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 899e576426e413c808fabbdb8f5d073e45d6dac2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 05:27:13 +0000 Subject: [PATCH 117/148] Update CHANGELOG.md (#6455) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a78b1e9c1..b813deb20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Refactor: LubeLogger [@tremor021](https://github.com/tremor021) ([#6400](https://github.com/community-scripts/ProxmoxVE/pull/6400)) - Refactor: MagicMirror [@tremor021](https://github.com/tremor021) ([#6402](https://github.com/community-scripts/ProxmoxVE/pull/6402)) - Refactor: Manage My Damn Life [@tremor021](https://github.com/tremor021) ([#6403](https://github.com/community-scripts/ProxmoxVE/pull/6403)) - Refactor: Meilisearch [@tremor021](https://github.com/tremor021) ([#6407](https://github.com/community-scripts/ProxmoxVE/pull/6407)) From fad4d2e0d78ff8bd8cb613095efe79f8be29da4a Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 1 Aug 2025 09:49:42 +0200 Subject: [PATCH 118/148] pnpm nx run server:build --- ct/docmost.sh | 1 + install/docmost-install.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/ct/docmost.sh b/ct/docmost.sh index edb21b0ae..c9f99289f 100644 --- a/ct/docmost.sh +++ b/ct/docmost.sh @@ -49,6 +49,7 @@ function update_script() { mv /opt/.env /opt/docmost/.env mv /opt/data /opt/docmost/data $STD pnpm install --force + $STD pnpm nx run server:build # Dirty fix https://github.com/community-scripts/ProxmoxVE/issues/6377 $STD pnpm build msg_ok "Updated ${APP}" diff --git a/install/docmost-install.sh b/install/docmost-install.sh index 43c0a8ffb..1f27ca5b0 100644 --- a/install/docmost-install.sh +++ b/install/docmost-install.sh @@ -51,6 +51,7 @@ sed -i -e "s|APP_SECRET=.*|APP_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z /opt/docmost/.env export NODE_OPTIONS="--max-old-space-size=2048" $STD pnpm install +$STD pnpm nx run server:build # Dirty fix https://github.com/community-scripts/ProxmoxVE/issues/6377 $STD pnpm build msg_ok "Configured Docmost" From 12b904a0145ed9e82a88137e2839e90ce74562ce Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 07:50:18 +0000 Subject: [PATCH 119/148] Update CHANGELOG.md (#6461) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b813deb20..4f44bba2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,11 +14,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts - - Refactor: MediaMTX [@tremor021](https://github.com/tremor021) ([#6406](https://github.com/community-scripts/ProxmoxVE/pull/6406)) -- Refactor: Owncast [@tremor021](https://github.com/tremor021) ([#6434](https://github.com/community-scripts/ProxmoxVE/pull/6434)) - - #### 🔧 Refactor + - Refactor: Owncast [@tremor021](https://github.com/tremor021) ([#6434](https://github.com/community-scripts/ProxmoxVE/pull/6434)) + - Refactor: MediaMTX [@tremor021](https://github.com/tremor021) ([#6406](https://github.com/community-scripts/ProxmoxVE/pull/6406)) - Refactor: LubeLogger [@tremor021](https://github.com/tremor021) ([#6400](https://github.com/community-scripts/ProxmoxVE/pull/6400)) - Refactor: MagicMirror [@tremor021](https://github.com/tremor021) ([#6402](https://github.com/community-scripts/ProxmoxVE/pull/6402)) - Refactor: Manage My Damn Life [@tremor021](https://github.com/tremor021) ([#6403](https://github.com/community-scripts/ProxmoxVE/pull/6403)) From 29747ab8b81dcfcec50a74f3e34c0bda9aeba9a7 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 14:06:58 +0200 Subject: [PATCH 120/148] Update versions.json (#6466) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 104 ++++++++++++++--------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 93ee00ee8..794d20cc9 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,8 +1,53 @@ [ + { + "name": "firefly-iii/firefly-iii", + "version": "v6.2.21", + "date": "2025-07-17T04:46:25Z" + }, + { + "name": "inspircd/inspircd", + "version": "v4.7.0", + "date": "2025-03-29T03:50:50Z" + }, + { + "name": "crowdsecurity/crowdsec", + "version": "v1.6.11", + "date": "2025-07-22T12:11:38Z" + }, + { + "name": "zwave-js/zwave-js-ui", + "version": "v11.0.1", + "date": "2025-08-01T07:43:59Z" + }, + { + "name": "meilisearch/meilisearch", + "version": "prototype-arroy-becomes-hannoy-8", + "date": "2025-08-01T07:34:21Z" + }, + { + "name": "mattermost/mattermost", + "version": "server/public/v0.1.16", + "date": "2025-07-28T22:46:46Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2217", + "date": "2025-08-01T05:54:13Z" + }, + { + "name": "gotson/komga", + "version": "1.23.1", + "date": "2025-08-01T04:30:24Z" + }, { "name": "immich-app/immich", - "version": "v1.137.1", - "date": "2025-07-31T23:19:24Z" + "version": "v1.137.2", + "date": "2025-08-01T02:45:16Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" }, { "name": "gristlabs/grist-core", @@ -29,6 +74,11 @@ "version": "v2.1.1867", "date": "2025-07-31T18:08:43Z" }, + { + "name": "keycloak/keycloak", + "version": "26.3.2", + "date": "2025-07-24T10:14:27Z" + }, { "name": "TandoorRecipes/recipes", "version": "2.0.1", @@ -39,16 +89,6 @@ "version": "2025.7.4", "date": "2025-07-28T08:15:50Z" }, - { - "name": "firefly-iii/firefly-iii", - "version": "v6.2.21", - "date": "2025-07-17T04:46:25Z" - }, - { - "name": "meilisearch/meilisearch", - "version": "prototype-sharding-split-docs-1", - "date": "2025-07-31T15:32:45Z" - }, { "name": "TryGhost/Ghost-CLI", "version": "v1.28.2", @@ -89,11 +129,6 @@ "version": "8.2-int", "date": "2025-07-31T09:01:24Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2213", - "date": "2025-07-31T05:56:37Z" - }, { "name": "ollama/ollama", "version": "v0.10.1", @@ -114,21 +149,11 @@ "version": "2.1.1", "date": "2025-06-14T17:45:06Z" }, - { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" - }, { "name": "gtsteffaniak/filebrowser", "version": "v0.7.18-beta", "date": "2025-07-30T21:26:00Z" }, - { - "name": "keycloak/keycloak", - "version": "26.3.2", - "date": "2025-07-24T10:14:27Z" - }, { "name": "fallenbagel/jellyseerr", "version": "preview-fix-invalid-blacklisttag", @@ -159,11 +184,6 @@ "version": "v2025-07-30", "date": "2025-07-30T17:13:40Z" }, - { - "name": "zwave-js/zwave-js-ui", - "version": "v11.0.0", - "date": "2025-07-30T13:50:13Z" - }, { "name": "influxdata/influxdb", "version": "v3.3.0", @@ -179,21 +199,11 @@ "version": "v1.6.2", "date": "2025-07-08T13:52:33Z" }, - { - "name": "crowdsecurity/crowdsec", - "version": "v1.6.11", - "date": "2025-07-22T12:11:38Z" - }, { "name": "dgtlmoon/changedetection.io", "version": "0.50.8", "date": "2025-07-30T11:33:00Z" }, - { - "name": "mattermost/mattermost", - "version": "server/public/v0.1.16", - "date": "2025-07-28T22:46:46Z" - }, { "name": "evcc-io/evcc", "version": "0.206.0", @@ -314,11 +324,6 @@ "version": "7.0.0-alpha.1", "date": "2025-07-28T11:28:22Z" }, - { - "name": "gotson/komga", - "version": "1.23.0", - "date": "2025-07-28T08:44:47Z" - }, { "name": "Checkmk/checkmk", "version": "v2.3.0p35", @@ -1184,11 +1189,6 @@ "version": "1.5.0", "date": "2025-03-30T17:42:59Z" }, - { - "name": "inspircd/inspircd", - "version": "v4.7.0", - "date": "2025-03-29T03:50:50Z" - }, { "name": "grocy/grocy", "version": "v4.5.0", From b366ffac34753a451f8290f6761c06a3bac3f102 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 1 Aug 2025 14:45:25 +0200 Subject: [PATCH 121/148] remove wrong RELEASE var --- install/koillection-install.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/install/koillection-install.sh b/install/koillection-install.sh index e19ef3d50..b8e54b4cc 100644 --- a/install/koillection-install.sh +++ b/install/koillection-install.sh @@ -53,7 +53,6 @@ cd assets/ $STD yarn install $STD yarn build chown -R www-data:www-data /opt/koillection/public/uploads -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt msg_ok "Configured Koillection" msg_info "Creating Service" From 054a963ca2a3577cc6424f424ee88cda13a5aa5c Mon Sep 17 00:00:00 2001 From: Gerhard Burger Date: Fri, 1 Aug 2025 20:32:38 +0200 Subject: [PATCH 122/148] Update homepage.sh to use setup_nodejs (#6462) --- ct/homepage.sh | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/ct/homepage.sh b/ct/homepage.sh index 5aefb93e5..504cce7cc 100644 --- a/ct/homepage.sh +++ b/ct/homepage.sh @@ -27,14 +27,9 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then - if ! command -v npm >/dev/null 2>&1; then - echo "Installing NPM..." - $STD apt-get install -y npm - $STD npm install -g pnpm - echo "Installed NPM..." - fi - fi + + NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs + # ensure that jq is installed if ! command -v jq &>/dev/null; then $STD msg_info "Installing jq..." From 084ceae9d964fc662eac4e5511df986a79ffca10 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 18:33:01 +0000 Subject: [PATCH 123/148] Update CHANGELOG.md (#6475) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f44bba2d..32b815592 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🔧 Refactor + - Update homepage.sh to use setup_nodejs [@burgerga](https://github.com/burgerga) ([#6462](https://github.com/community-scripts/ProxmoxVE/pull/6462)) - Refactor: Owncast [@tremor021](https://github.com/tremor021) ([#6434](https://github.com/community-scripts/ProxmoxVE/pull/6434)) - Refactor: MediaMTX [@tremor021](https://github.com/tremor021) ([#6406](https://github.com/community-scripts/ProxmoxVE/pull/6406)) - Refactor: LubeLogger [@tremor021](https://github.com/tremor021) ([#6400](https://github.com/community-scripts/ProxmoxVE/pull/6400)) From 61fb45a0b8181c83f9dc819d7fb3e51b49a9e2ff Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 1 Aug 2025 21:05:16 +0200 Subject: [PATCH 124/148] Re-Add: Suwayomi-Server (#6458) --- ct/suwayomiserver.sh | 20 ++---------- frontend/public/json/suwayomi-server.json | 40 +++++++++++++++++++++++ install/suwayomiserver-install.sh | 10 +----- 3 files changed, 44 insertions(+), 26 deletions(-) create mode 100644 frontend/public/json/suwayomi-server.json diff --git a/ct/suwayomiserver.sh b/ct/suwayomiserver.sh index ce64e1da8..733c71803 100644 --- a/ct/suwayomiserver.sh +++ b/ct/suwayomiserver.sh @@ -28,34 +28,20 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - if dpkg -l | grep -q "openjdk-17-jre"; then - $STD apt-get remove -y openjdk-17-jre - fi - JAVA_VERSION=21 setup_java RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ "${RELEASE}" != "$(cat /opt/suwayomi-server_version.txt)" ]] || [[ ! -f /opt/suwayomi-server_version.txt ]]; then - msg_info "Updating $APP" + if [[ "${RELEASE}" != "$(cat ~/.suwayomi-server 2>/dev/null)" ]] || [[ ! -f ~/.suwayomi-server ]]; then + JAVA_VERSION=21 setup_java msg_info "Stopping $APP" systemctl stop suwayomi-server msg_ok "Stopped $APP" - msg_info "Updating $APP to v${RELEASE}" - temp_file=$(mktemp) - RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - curl -fsSL "https://github.com/Suwayomi/Suwayomi-Server/releases/download/${RELEASE}/Suwayomi-Server-${RELEASE}-debian-all.deb" -o "$temp_file" - $STD dpkg -i "$temp_file" - msg_ok "Updated $APP to v${RELEASE}" + fetch_and_deploy_gh_release "suwayomi-server" "Suwayomi/Suwayomi-Server" "binary" msg_info "Starting $APP" systemctl start suwayomi-server msg_ok "Started $APP" - msg_info "Cleaning Up" - rm -f "$temp_file" - msg_ok "Cleanup Completed" - - echo "${RELEASE}" >/opt/suwayomi-server_version.txt.txt msg_ok "Update Successful" else msg_ok "No update required. ${APP} is already at v${RELEASE}" diff --git a/frontend/public/json/suwayomi-server.json b/frontend/public/json/suwayomi-server.json new file mode 100644 index 000000000..f84ef1f96 --- /dev/null +++ b/frontend/public/json/suwayomi-server.json @@ -0,0 +1,40 @@ +{ + "name": "Suwayomi-Server", + "slug": "suwayomi-server", + "categories": [ + 13 + ], + "date_created": "2025-02-07", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 4567, + "documentation": "https://github.com/Suwayomi/Suwayomi-Server/wiki", + "website": "https://github.com/Suwayomi/Suwayomi-Server", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/suwayomi.webp", + "config_path": "", + "description": "A free and open source manga reader server that runs extensions built for Mihon (Tachiyomi).", + "install_methods": [ + { + "type": "default", + "script": "ct/suwayomiserver.sh", + "resources": { + "cpu": 1, + "ram": 1024, + "hdd": 4, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "This application can be conflicting with Kaspersky products. You maybe need to disable Kaspersky in order to use this application.", + "type": "info" + } + ] +} diff --git a/install/suwayomiserver-install.sh b/install/suwayomiserver-install.sh index ffe7485c1..86d929d70 100644 --- a/install/suwayomiserver-install.sh +++ b/install/suwayomiserver-install.sh @@ -18,14 +18,7 @@ $STD apt-get install -y libc++-dev msg_ok "Installed Dependencies" JAVA_VERSION=21 setup_java - -msg_info "Settting up Suwayomi-Server" -temp_file=$(mktemp) -RELEASE=$(curl -fsSL https://api.github.com/repos/Suwayomi/Suwayomi-Server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') -curl -fsSL "https://github.com/Suwayomi/Suwayomi-Server/releases/download/${RELEASE}/Suwayomi-Server-${RELEASE}-debian-all.deb" -o "$temp_file" -$STD dpkg -i "$temp_file" -echo "${RELEASE}" >/opt/suwayomi-server_version.txt -msg_ok "Done setting up Suwayomi-Server" +fetch_and_deploy_gh_release "suwayomi-server" "Suwayomi/Suwayomi-Server" "binary" msg_info "Creating Service" cat </etc/systemd/system/suwayomi-server.service @@ -47,7 +40,6 @@ 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 e5c673df44c991fb5e6994dce38fee722eac14f1 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 19:05:37 +0000 Subject: [PATCH 125/148] Update date in json (#6476) Co-authored-by: GitHub Actions --- frontend/public/json/suwayomi-server.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/suwayomi-server.json b/frontend/public/json/suwayomi-server.json index f84ef1f96..dba29be78 100644 --- a/frontend/public/json/suwayomi-server.json +++ b/frontend/public/json/suwayomi-server.json @@ -4,7 +4,7 @@ "categories": [ 13 ], - "date_created": "2025-02-07", + "date_created": "2025-08-01", "type": "ct", "updateable": true, "privileged": false, From f07b273be3cd1abbd86fc9847e2be56fc874591f Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 19:05:56 +0000 Subject: [PATCH 126/148] Update CHANGELOG.md (#6477) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32b815592..8a19c9d94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts + - #### ✨ New Features + + - Re-Add: Suwayomi-Server [@MickLesk](https://github.com/MickLesk) ([#6458](https://github.com/community-scripts/ProxmoxVE/pull/6458)) + - #### 🔧 Refactor - Update homepage.sh to use setup_nodejs [@burgerga](https://github.com/burgerga) ([#6462](https://github.com/community-scripts/ProxmoxVE/pull/6462)) From 30172379cd87fe315b55bfeb4b64cbe023e09841 Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 1 Aug 2025 15:06:03 -0400 Subject: [PATCH 127/148] Immich: v1.137.3 (#6443) --- ct/immich.sh | 32 +++++++++++++++++++++++++++----- install/immich-install.sh | 26 ++++++++++++++++++-------- 2 files changed, 45 insertions(+), 13 deletions(-) diff --git a/ct/immich.sh b/ct/immich.sh index 3244a20d4..84511782f 100644 --- a/ct/immich.sh +++ b/ct/immich.sh @@ -58,7 +58,7 @@ function update_script() { done msg_ok "Image-processing libraries updated" fi - RELEASE="1.136.0" + RELEASE="1.137.3" #RELEASE=$(curl -fsSL https://api.github.com/repos/immich-app/immich/releases?per_page=1 | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') if [[ -f ~/.immich && "$RELEASE" == "$(cat ~/.immich)" ]]; then msg_ok "No update required. ${APP} is already at v${RELEASE}" @@ -99,11 +99,25 @@ function update_script() { fi cp "$ML_DIR"/ml_start.sh "$INSTALL_DIR" + if grep -qs "set -a" "$APP_DIR"/bin/start.sh; then + cp "$APP_DIR"/bin/start.sh "$INSTALL_DIR" + else + cat <"$INSTALL_DIR"/start.sh +#!/usr/bin/env bash + +set -a +. "$INSTALL_DIR"/.env +set +a + +/usr/bin/node "$APP_DIR"/dist/main.js "\$@" +EOF + chmod +x "$INSTALL_DIR"/start.sh + fi rm -rf "${APP_DIR:?}"/* mkdir -p "$ML_DIR" rm -rf "$SRC_DIR" - fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.136.0" "$SRC_DIR" + fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v${RELEASE}" "$SRC_DIR" msg_info "Updating ${APP} web and microservices" cd "$SRC_DIR"/server @@ -114,6 +128,10 @@ function update_script() { $STD npm ci $STD npm run build $STD npm prune --omit=dev --omit=optional + cp -a {bin,dist,node_modules,resources,package*.json} "$APP_DIR"/ + cp package.json "$APP_DIR"/bin + mv "$INSTALL_DIR"/start.sh "$APP_DIR"/bin + sed -i 's|^start|./start|' "$APP_DIR"/bin/immich-admin cd "$SRC_DIR"/open-api/typescript-sdk $STD npm ci $STD npm run build @@ -121,7 +139,6 @@ function update_script() { $STD npm ci $STD npm run build cd "$SRC_DIR" - cp -a server/{node_modules,dist,bin,resources,package.json,package-lock.json,bin/start.sh} "$APP_DIR"/ cp -a web/build "$APP_DIR"/www cp LICENSE "$APP_DIR" cd "$APP_DIR" @@ -151,8 +168,8 @@ function update_script() { fi ln -sf "$APP_DIR"/resources "$INSTALL_DIR" cd "$APP_DIR" - grep -Rl /usr/src | xargs -n1 sed -i "s|\/usr/src|$INSTALL_DIR|g" - grep -RlE "'/build'" | xargs -n1 sed -i "s|'/build'|'$APP_DIR'|g" + grep -rl /usr/src | xargs -n1 sed -i "s|\/usr/src|$INSTALL_DIR|g" + grep -rlE "'/build'" | xargs -n1 sed -i "s|'/build'|'$APP_DIR'|g" sed -i "s@\"/cache\"@\"$INSTALL_DIR/cache\"@g" "$ML_DIR"/immich_ml/config.py ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$APP_DIR"/upload ln -s "${UPLOAD_DIR:-/opt/immich/upload}" "$ML_DIR"/upload @@ -214,6 +231,7 @@ function compile_libjxl() { $STD make clean cd "$STAGING_DIR" rm -rf "$SOURCE"/{build,third_party} + sed -i "s/libjxl: .*$/libjxl: $LIBJXL_REVISION/" ~/.immich_library_revisions msg_ok "Recompiled libjxl" fi } @@ -248,6 +266,7 @@ function compile_libheif() { $STD make clean cd "$STAGING_DIR" rm -rf "$SOURCE"/build + sed -i "s/libheif: .*$/libheif: $LIBHEIF_REVISION/" ~/.immich_library_revisions msg_ok "Recompiled libheif" fi } @@ -269,6 +288,7 @@ function compile_libraw() { ldconfig /usr/local/lib $STD make clean cd "$STAGING_DIR" + sed -i "s/libraw: .*$/libraw: $LIBRAW_REVISION/" ~/.immich_library_revisions msg_ok "Recompiled libraw" fi } @@ -288,6 +308,7 @@ function compile_imagemagick() { ldconfig /usr/local/lib $STD make clean cd "$STAGING_DIR" + sed -i "s/imagemagick: .*$/imagemagick: $IMAGEMAGICK_REVISION/" ~/.immich_library_revisions msg_ok "Recompiled ImageMagick" fi } @@ -308,6 +329,7 @@ function compile_libvips() { ldconfig /usr/local/lib cd "$STAGING_DIR" rm -rf "$SOURCE"/build + sed -i "s/libvips: .*$/libvips: $LIBVIPS_REVISION/" ~/.immich_library_revisions msg_ok "Recompiled libvips" fi } diff --git a/install/immich-install.sh b/install/immich-install.sh index 67338c873..b7487d044 100644 --- a/install/immich-install.sh +++ b/install/immich-install.sh @@ -283,7 +283,7 @@ GEO_DIR="${INSTALL_DIR}/geodata" mkdir -p "$INSTALL_DIR" mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${ML_DIR}","${INSTALL_DIR}"/cache} -fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.136.0" "$SRC_DIR" +fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.137.3" "$SRC_DIR" msg_info "Installing ${APPLICATION} (more patience please)" @@ -292,21 +292,22 @@ $STD npm install -g node-gyp node-pre-gyp $STD npm ci $STD npm run build $STD npm prune --omit=dev --omit=optional +cp -a {bin,dist,node_modules,resources,package*.json} "$APP_DIR"/ +cp package.json "$APP_DIR"/bin +sed -i 's|^start|./start|' "$APP_DIR"/bin/immich-admin cd "$SRC_DIR"/open-api/typescript-sdk $STD npm ci $STD npm run build cd "$SRC_DIR"/web $STD npm ci $STD npm run build -cd "$SRC_DIR" -cp -a server/{node_modules,dist,bin,resources,package.json,package-lock.json,bin/start.sh} "$APP_DIR"/ -cp -a web/build "$APP_DIR"/www +cp -a web "$APP_DIR"/www cp LICENSE "$APP_DIR" cd "$APP_DIR" export SHARP_FORCE_GLOBAL_LIBVIPS=true $STD npm install sharp rm -rf "$APP_DIR"/node_modules/@img/sharp-{libvips*,linuxmusl-x64} -msg_ok "Installed Immich Web Components" +msg_ok "Installed Immich Server and Web Components" cd "$SRC_DIR"/machine-learning export VIRTUAL_ENV="${ML_DIR}/ml-venv" @@ -329,8 +330,8 @@ fi ln -sf "$APP_DIR"/resources "$INSTALL_DIR" cd "$APP_DIR" -grep -Rl /usr/src | xargs -n1 sed -i "s|\/usr/src|$INSTALL_DIR|g" -grep -RlE "'/build'" | xargs -n1 sed -i "s|'/build'|'$APP_DIR'|g" +grep -rl /usr/src | xargs -n1 sed -i "s|\/usr/src|$INSTALL_DIR|g" +grep -rlE "'/build'" | xargs -n1 sed -i "s|'/build'|'$APP_DIR'|g" sed -i "s@\"/cache\"@\"$INSTALL_DIR/cache\"@g" "$ML_DIR"/immich_ml/config.py ln -s "$UPLOAD_DIR" "$APP_DIR"/upload ln -s "$UPLOAD_DIR" "$ML_DIR"/upload @@ -394,7 +395,16 @@ set +a python3 -m immich_ml EOF -chmod +x "$ML_DIR"/ml_start.sh +cat <"$APP_DIR"/bin/start.sh +#!/usr/bin/env bash + +set -a +. "$INSTALL_DIR"/.env +set +a + +/usr/bin/node "$APP_DIR"/dist/main.js "\$@" +EOF +chmod +x "$ML_DIR"/ml_start.sh "$APP_DIR"/bin/start.sh cat </etc/systemd/system/"${APPLICATION}"-web.service [Unit] Description=${APPLICATION} Web Service From 750397e1af8c53d0912596799aa7afcef9784e83 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 19:06:16 +0000 Subject: [PATCH 128/148] Update CHANGELOG.md (#6478) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a19c9d94..2f8e36262 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts + - #### 🐞 Bug Fixes + + - Immich: Fix immich-admin script; other fixes | pin to v.137.3 [@vhsdream](https://github.com/vhsdream) ([#6443](https://github.com/community-scripts/ProxmoxVE/pull/6443)) + - #### ✨ New Features - Re-Add: Suwayomi-Server [@MickLesk](https://github.com/MickLesk) ([#6458](https://github.com/community-scripts/ProxmoxVE/pull/6458)) From ca8cddb788fd7f7f1cb552d0b2ba688bd63722fa Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 19:06:26 +0000 Subject: [PATCH 129/148] Update CHANGELOG.md (#6479) Co-authored-by: github-actions[bot] From 3068ae1383c6a646f6088e92d8a8d25db817588c Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 1 Aug 2025 21:06:36 +0200 Subject: [PATCH 130/148] Fumadocs: add git as dependency (#6459) --- ct/fumadocs.sh | 3 +++ install/fumadocs-install.sh | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ct/fumadocs.sh b/ct/fumadocs.sh index a4da269a8..fe5c57599 100644 --- a/ct/fumadocs.sh +++ b/ct/fumadocs.sh @@ -43,6 +43,9 @@ function update_script() { msg_error "Project directory does not exist: $PROJECT_DIR" exit 1 fi + if ! command -v git &>/dev/null; then + $STD apt-get install -y git + fi msg_info "Stopping service $SERVICE_NAME" systemctl stop "$SERVICE_NAME" diff --git a/install/fumadocs-install.sh b/install/fumadocs-install.sh index beef80e3e..c3bc2034a 100644 --- a/install/fumadocs-install.sh +++ b/install/fumadocs-install.sh @@ -14,7 +14,8 @@ update_os msg_info "Installing Dependencies" $STD apt-get install -y \ - ca-certificates + ca-certificates \ + git msg_ok "Installed Dependencies" NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs From ecf01637a5b808ad83ac53874c67e70e22be5488 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 19:06:45 +0000 Subject: [PATCH 131/148] Update CHANGELOG.md (#6480) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f8e36262..a0cd943e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - Fumadocs: add git as dependency [@MickLesk](https://github.com/MickLesk) ([#6459](https://github.com/community-scripts/ProxmoxVE/pull/6459)) - Immich: Fix immich-admin script; other fixes | pin to v.137.3 [@vhsdream](https://github.com/vhsdream) ([#6443](https://github.com/community-scripts/ProxmoxVE/pull/6443)) - #### ✨ New Features From 7c41c51bfe60738ea7abd756fa3ccedf605dc503 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 19:06:58 +0000 Subject: [PATCH 132/148] Update CHANGELOG.md (#6481) Co-authored-by: github-actions[bot] From 88483b7dabdb8945b363404122c139712413e7fb Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Fri, 1 Aug 2025 22:07:33 +0200 Subject: [PATCH 133/148] Magicmirror: add git dependency --- install/magicmirror-install.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/install/magicmirror-install.sh b/install/magicmirror-install.sh index 5b8301c27..69c4a0da3 100644 --- a/install/magicmirror-install.sh +++ b/install/magicmirror-install.sh @@ -13,6 +13,10 @@ setting_up_container network_check update_os +msg_info "Setup Dependencies" +$STD apt-get install -y git +msg_ok "Setup Dependencies" + NODE_VERSION="22" setup_nodejs fetch_and_deploy_gh_release "magicmirror" "MagicMirrorOrg/MagicMirror" "tarball" From 1c2ccf81d29e31f7d4c4574e4aa4fd8fc2d0ef43 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 2 Aug 2025 02:13:28 +0200 Subject: [PATCH 134/148] Update versions.json (#6485) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 144 ++++++++++++++--------------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 794d20cc9..89d25303b 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,9 +1,79 @@ [ + { + "name": "docmost/docmost", + "version": "v0.22.2", + "date": "2025-08-01T23:27:06Z" + }, + { + "name": "influxdata/influxdb", + "version": "v1.12.2rc0", + "date": "2025-08-01T21:48:30Z" + }, + { + "name": "homarr-labs/homarr", + "version": "v1.31.0", + "date": "2025-08-01T19:18:16Z" + }, + { + "name": "MediaBrowser/Emby.Releases", + "version": "4.9.1.2", + "date": "2025-06-26T22:08:00Z" + }, + { + "name": "mongodb/mongo", + "version": "r8.0.13-rc0", + "date": "2025-08-01T18:05:23Z" + }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.21", "date": "2025-07-17T04:46:25Z" }, + { + "name": "Koenkk/zigbee2mqtt", + "version": "2.6.0", + "date": "2025-08-01T15:42:21Z" + }, + { + "name": "immich-app/immich", + "version": "v1.137.3", + "date": "2025-08-01T15:06:36Z" + }, + { + "name": "Luligu/matterbridge", + "version": "3.2.0", + "date": "2025-08-01T14:49:29Z" + }, + { + "name": "documenso/documenso", + "version": "v1.12.2-rc.3", + "date": "2025-08-01T14:46:22Z" + }, + { + "name": "alexta69/metube", + "version": "2025.07.31", + "date": "2025-08-01T14:44:48Z" + }, + { + "name": "n8n-io/n8n", + "version": "n8n@1.104.2", + "date": "2025-07-31T13:14:26Z" + }, + { + "name": "element-hq/synapse", + "version": "v1.135.0", + "date": "2025-08-01T12:43:17Z" + }, + { + "name": "evcc-io/evcc", + "version": "0.206.1", + "date": "2025-08-01T11:48:40Z" + }, + { + "name": "keycloak/keycloak", + "version": "26.0.14", + "date": "2025-08-01T11:29:12Z" + }, { "name": "inspircd/inspircd", "version": "v4.7.0", @@ -39,11 +109,6 @@ "version": "1.23.1", "date": "2025-08-01T04:30:24Z" }, - { - "name": "immich-app/immich", - "version": "v1.137.2", - "date": "2025-08-01T02:45:16Z" - }, { "name": "steveiliop56/tinyauth", "version": "v3.6.2", @@ -74,11 +139,6 @@ "version": "v2.1.1867", "date": "2025-07-31T18:08:43Z" }, - { - "name": "keycloak/keycloak", - "version": "26.3.2", - "date": "2025-07-24T10:14:27Z" - }, { "name": "TandoorRecipes/recipes", "version": "2.0.1", @@ -104,11 +164,6 @@ "version": "fumadocs-mdx@11.7.3", "date": "2025-07-31T13:53:15Z" }, - { - "name": "n8n-io/n8n", - "version": "n8n@1.104.2", - "date": "2025-07-31T13:14:26Z" - }, { "name": "Stirling-Tools/Stirling-PDF", "version": "v1.1.1", @@ -139,11 +194,6 @@ "version": "v4.102.3", "date": "2025-07-31T03:41:16Z" }, - { - "name": "mongodb/mongo", - "version": "r7.0.23-rc0", - "date": "2025-07-31T01:24:14Z" - }, { "name": "hyperion-project/hyperion.ng", "version": "2.1.1", @@ -184,16 +234,6 @@ "version": "v2025-07-30", "date": "2025-07-30T17:13:40Z" }, - { - "name": "influxdata/influxdb", - "version": "v3.3.0", - "date": "2025-07-30T13:27:54Z" - }, - { - "name": "element-hq/synapse", - "version": "v1.134.0", - "date": "2025-07-15T13:43:39Z" - }, { "name": "bunkerity/bunkerweb", "version": "v1.6.2", @@ -204,11 +244,6 @@ "version": "0.50.8", "date": "2025-07-30T11:33:00Z" }, - { - "name": "evcc-io/evcc", - "version": "0.206.0", - "date": "2025-07-30T09:39:42Z" - }, { "name": "dani-garcia/vaultwarden", "version": "1.34.3", @@ -226,8 +261,8 @@ }, { "name": "wazuh/wazuh", - "version": "coverity-w30-4.13.0", - "date": "2025-07-18T12:05:26Z" + "version": "coverity-w31-4.13.0", + "date": "2025-07-30T08:30:15Z" }, { "name": "morpheus65535/bazarr", @@ -239,11 +274,6 @@ "version": "jenkins-2.521", "date": "2025-07-30T03:38:59Z" }, - { - "name": "docmost/docmost", - "version": "v0.22.0", - "date": "2025-07-30T00:09:03Z" - }, { "name": "OliveTin/OliveTin", "version": "2025.7.29", @@ -259,11 +289,6 @@ "version": "v1.86.2", "date": "2025-07-29T19:16:24Z" }, - { - "name": "MediaBrowser/Emby.Releases", - "version": "4.9.1.2", - "date": "2025-06-26T22:08:00Z" - }, { "name": "msgbyte/tianji", "version": "v1.24.8", @@ -284,11 +309,6 @@ "version": "v2.0.115", "date": "2025-07-29T04:38:35Z" }, - { - "name": "Luligu/matterbridge", - "version": "3.1.8", - "date": "2025-07-28T21:28:33Z" - }, { "name": "diced/zipline", "version": "v4.2.1", @@ -309,11 +329,6 @@ "version": "v0.107.64", "date": "2025-07-28T14:24:56Z" }, - { - "name": "alexta69/metube", - "version": "2025-07-27", - "date": "2025-07-28T15:57:09Z" - }, { "name": "booklore-app/BookLore", "version": "v0.35.0", @@ -374,11 +389,6 @@ "version": "v0.12.1", "date": "2025-07-25T23:53:12Z" }, - { - "name": "homarr-labs/homarr", - "version": "v1.30.1", - "date": "2025-07-25T19:18:09Z" - }, { "name": "openobserve/openobserve", "version": "v0.15.0-rc4", @@ -554,11 +564,6 @@ "version": "sdk/v0.26.0", "date": "2025-07-20T13:26:30Z" }, - { - "name": "documenso/documenso", - "version": "v1.12.2-rc.2", - "date": "2025-07-20T07:05:19Z" - }, { "name": "linkwarden/linkwarden", "version": "v2.11.5", @@ -819,11 +824,6 @@ "version": "v25.7.1", "date": "2025-07-03T01:03:18Z" }, - { - "name": "Koenkk/zigbee2mqtt", - "version": "2.5.1", - "date": "2025-07-02T19:38:06Z" - }, { "name": "qbittorrent/qBittorrent", "version": "release-5.1.2", From 00a69678c0d42bb88cb320608ef3c4b80d071cb4 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 2 Aug 2025 00:13:46 +0000 Subject: [PATCH 135/148] Update CHANGELOG.md (#6486) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0cd943e9..e15077544 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-08-02 + ## 2025-08-01 ### 🚀 Updated Scripts From e1669c22dec131561c05ea0aa404722836e878a9 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 2 Aug 2025 14:06:09 +0200 Subject: [PATCH 136/148] Update versions.json (#6491) 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 89d25303b..458f13ca2 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,54 @@ [ + { + "name": "fuma-nama/fumadocs", + "version": "fumadocs-core@15.6.8", + "date": "2025-08-02T09:44:14Z" + }, + { + "name": "inspircd/inspircd", + "version": "v4.8.0", + "date": "2025-08-02T09:12:10Z" + }, + { + "name": "evcc-io/evcc", + "version": "0.207.0", + "date": "2025-08-02T09:09:08Z" + }, + { + "name": "donaldzou/WGDashboard", + "version": "v4.2.5", + "date": "2025-08-02T08:58:21Z" + }, + { + "name": "theonedev/onedev", + "version": "v12.0.3", + "date": "2025-08-02T08:16:46Z" + }, + { + "name": "Jackett/Jackett", + "version": "v0.22.2219", + "date": "2025-08-02T06:00:23Z" + }, + { + "name": "pocketbase/pocketbase", + "version": "v0.29.1", + "date": "2025-08-02T05:51:37Z" + }, + { + "name": "henrygd/beszel", + "version": "v0.12.2", + "date": "2025-08-02T01:12:52Z" + }, + { + "name": "steveiliop56/tinyauth", + "version": "v3.6.2", + "date": "2025-07-17T12:08:03Z" + }, + { + "name": "mongodb/mongo", + "version": "r8.2.0-rc2", + "date": "2025-08-01T23:31:28Z" + }, { "name": "docmost/docmost", "version": "v0.22.2", @@ -19,11 +69,6 @@ "version": "4.9.1.2", "date": "2025-06-26T22:08:00Z" }, - { - "name": "mongodb/mongo", - "version": "r8.0.13-rc0", - "date": "2025-08-01T18:05:23Z" - }, { "name": "firefly-iii/firefly-iii", "version": "v6.2.21", @@ -44,6 +89,11 @@ "version": "3.2.0", "date": "2025-08-01T14:49:29Z" }, + { + "name": "keycloak/keycloak", + "version": "26.0.14", + "date": "2025-08-01T11:29:12Z" + }, { "name": "documenso/documenso", "version": "v1.12.2-rc.3", @@ -64,21 +114,6 @@ "version": "v1.135.0", "date": "2025-08-01T12:43:17Z" }, - { - "name": "evcc-io/evcc", - "version": "0.206.1", - "date": "2025-08-01T11:48:40Z" - }, - { - "name": "keycloak/keycloak", - "version": "26.0.14", - "date": "2025-08-01T11:29:12Z" - }, - { - "name": "inspircd/inspircd", - "version": "v4.7.0", - "date": "2025-03-29T03:50:50Z" - }, { "name": "crowdsecurity/crowdsec", "version": "v1.6.11", @@ -99,21 +134,11 @@ "version": "server/public/v0.1.16", "date": "2025-07-28T22:46:46Z" }, - { - "name": "Jackett/Jackett", - "version": "v0.22.2217", - "date": "2025-08-01T05:54:13Z" - }, { "name": "gotson/komga", "version": "1.23.1", "date": "2025-08-01T04:30:24Z" }, - { - "name": "steveiliop56/tinyauth", - "version": "v3.6.2", - "date": "2025-07-17T12:08:03Z" - }, { "name": "gristlabs/grist-core", "version": "v1.7.1", @@ -159,11 +184,6 @@ "version": "v3.12.8", "date": "2025-07-31T14:00:13Z" }, - { - "name": "fuma-nama/fumadocs", - "version": "fumadocs-mdx@11.7.3", - "date": "2025-07-31T13:53:15Z" - }, { "name": "Stirling-Tools/Stirling-PDF", "version": "v1.1.1", @@ -236,8 +256,8 @@ }, { "name": "bunkerity/bunkerweb", - "version": "v1.6.2", - "date": "2025-07-08T13:52:33Z" + "version": "testing", + "date": "2025-07-30T11:09:03Z" }, { "name": "dgtlmoon/changedetection.io", @@ -354,11 +374,6 @@ "version": "2025.7.4", "date": "2025-07-28T07:33:36Z" }, - { - "name": "theonedev/onedev", - "version": "v12.0.2", - "date": "2025-07-28T03:34:53Z" - }, { "name": "umami-software/umami", "version": "v2.19.0", @@ -384,11 +399,6 @@ "version": "v0.14.1", "date": "2024-08-29T22:32:51Z" }, - { - "name": "henrygd/beszel", - "version": "v0.12.1", - "date": "2025-07-25T23:53:12Z" - }, { "name": "openobserve/openobserve", "version": "v0.15.0-rc4", @@ -589,11 +599,6 @@ "version": "v5.6.0", "date": "2025-07-19T13:34:36Z" }, - { - "name": "pocketbase/pocketbase", - "version": "v0.29.0", - "date": "2025-07-19T08:54:54Z" - }, { "name": "cross-seed/cross-seed", "version": "v6.13.1", @@ -919,11 +924,6 @@ "version": "2.0.0-pre3", "date": "2025-06-18T08:01:24Z" }, - { - "name": "donaldzou/WGDashboard", - "version": "v4.2.4", - "date": "2025-06-17T05:37:06Z" - }, { "name": "webmin/webmin", "version": "2.402", From 7862d23866ec9f739d2f6b56a4feee9769f88624 Mon Sep 17 00:00:00 2001 From: Chris Date: Sat, 2 Aug 2025 09:12:42 -0400 Subject: [PATCH 137/148] chore: BookLore repo change (#6493) --- ct/booklore.sh | 8 ++++---- frontend/public/json/booklore.json | 4 ++-- install/booklore-install.sh | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ct/booklore.sh b/ct/booklore.sh index 59dd81c30..c0d4b8540 100644 --- a/ct/booklore.sh +++ b/ct/booklore.sh @@ -3,7 +3,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV # 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/adityachandelgit/BookLore +# Source: https://github.com/booklore-app/BookLore APP="BookLore" var_tags="${var_tags:-books;library}" @@ -29,13 +29,13 @@ function update_script() { exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/adityachandelgit/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//') + RELEASE=$(curl -fsSL https://api.github.com/repos/booklore-app/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//') if [[ "${RELEASE}" != "$(cat ~/.booklore 2>/dev/null)" ]] || [[ ! -f ~/.booklore ]]; then msg_info "Stopping $APP" systemctl stop booklore msg_ok "Stopped $APP" - fetch_and_deploy_gh_release "booklore" "adityachandelgit/BookLore" + fetch_and_deploy_gh_release "booklore" "booklore-app/BookLore" msg_info "Building Frontend" cd /opt/booklore/booklore-ui @@ -45,7 +45,7 @@ function update_script() { msg_info "Building Backend" cd /opt/booklore/booklore-api - APP_VERSION=$(curl -fsSL https://api.github.com/repos/adityachandelgit/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//') + APP_VERSION=$(curl -fsSL https://api.github.com/repos/booklore-app/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//') yq eval ".app.version = \"${APP_VERSION}\"" -i src/main/resources/application.yaml $STD ./gradlew clean build --no-daemon mkdir -p /opt/booklore/dist diff --git a/frontend/public/json/booklore.json b/frontend/public/json/booklore.json index 9ccc8eff8..d92e987e8 100644 --- a/frontend/public/json/booklore.json +++ b/frontend/public/json/booklore.json @@ -9,8 +9,8 @@ "updateable": true, "privileged": false, "interface_port": 6060, - "documentation": "https://github.com/adityachandelgit/BookLore", - "website": "https://github.com/adityachandelgit/BookLore", + "documentation": "https://booklore-app.github.io/booklore-docs/docs/getting-started", + "website": "https://github.com/booklore-app/booklore", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/booklore.webp", "config_path": "/opt/booklore_storage/.env", "description": "BookLore is a self-hosted digital library for managing and reading books, offering a beautiful interface and support for metadata management. Built with a modern tech stack, it provides support for importing, organizing, and reading EPUBs and PDFs, while also managing cover images and book metadata.", diff --git a/install/booklore-install.sh b/install/booklore-install.sh index aee215d39..1fd49cf6e 100644 --- a/install/booklore-install.sh +++ b/install/booklore-install.sh @@ -3,7 +3,7 @@ # 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/adityachandelgit/BookLore +# Source: https://github.com/booklore-app/BookLore source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" color @@ -17,7 +17,7 @@ msg_info "Installing Dependencies" $STD apt-get install -y nginx msg_ok "Installed Dependencies" -fetch_and_deploy_gh_release "booklore" "adityachandelgit/BookLore" +fetch_and_deploy_gh_release "booklore" "booklore-app/BookLore" JAVA_VERSION="21" setup_java NODE_VERSION="22" setup_nodejs setup_mariadb @@ -59,7 +59,7 @@ msg_ok "Created Environment" msg_info "Building Backend" cd /opt/booklore/booklore-api -APP_VERSION=$(curl -fsSL https://api.github.com/repos/adityachandelgit/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//') +APP_VERSION=$(curl -fsSL https://api.github.com/repos/booklore-app/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//') yq eval ".app.version = \"${APP_VERSION}\"" -i src/main/resources/application.yaml $STD ./gradlew clean build --no-daemon mkdir -p /opt/booklore/dist From 7c0869e29bf7c1efd28747b4431c9a5e723505cb Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 2 Aug 2025 13:13:02 +0000 Subject: [PATCH 138/148] Update CHANGELOG.md (#6494) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e15077544..2c4ed6f66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ## 2025-08-02 +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - chore: BookLore repo change [@vhsdream](https://github.com/vhsdream) ([#6493](https://github.com/community-scripts/ProxmoxVE/pull/6493)) + ## 2025-08-01 ### 🚀 Updated Scripts From 074bb615e7951e8dba191d03f878ab21648a9195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 2 Aug 2025 15:13:21 +0200 Subject: [PATCH 139/148] VictoriaMetrics: Make VictoriaLogs optional add-on (#6489) * Make Logs optional * Update json --- ct/victoriametrics.sh | 7 +++++-- frontend/public/json/victoriametrics.json | 7 ++++++- install/victoriametrics-install.sh | 18 ++++++++++++------ 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/ct/victoriametrics.sh b/ct/victoriametrics.sh index 04e6f8b67..bf66dfeea 100644 --- a/ct/victoriametrics.sh +++ b/ct/victoriametrics.sh @@ -37,8 +37,11 @@ function update_script() { fetch_and_deploy_gh_release "victoriametrics" "VictoriaMetrics/VictoriaMetrics" "prebuild" "latest" "/opt/victoriametrics" "victoria-metrics-linux-amd64-v+([0-9.]).tar.gz" fetch_and_deploy_gh_release "vmutils" "VictoriaMetrics/VictoriaMetrics" "prebuild" "latest" "/opt/victoriametrics" "vmutils-linux-amd64-v+([0-9.]).tar.gz" - fetch_and_deploy_gh_release "victorialogs" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "victoria-logs-linux-amd64*.tar.gz" - fetch_and_deploy_gh_release "vlutils" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "vlutils-linux-amd64*.tar.gz" + + if [[ -f /etc/systemd/system/victoriametrics-logs.service ]]; then + fetch_and_deploy_gh_release "victorialogs" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "victoria-logs-linux-amd64*.tar.gz" + fetch_and_deploy_gh_release "vlutils" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "vlutils-linux-amd64*.tar.gz" + fi chmod +x /opt/victoriametrics/* msg_info "Starting $APP" diff --git a/frontend/public/json/victoriametrics.json b/frontend/public/json/victoriametrics.json index 4798d372e..77371cd73 100644 --- a/frontend/public/json/victoriametrics.json +++ b/frontend/public/json/victoriametrics.json @@ -31,5 +31,10 @@ "username": null, "password": null }, - "notes": [] + "notes": [ + { + "text": "Included option to install VictoriaLogs.", + "type": "info" + } + ] } diff --git a/install/victoriametrics-install.sh b/install/victoriametrics-install.sh index 3fd59a5ef..63843d3f9 100644 --- a/install/victoriametrics-install.sh +++ b/install/victoriametrics-install.sh @@ -15,8 +15,13 @@ update_os fetch_and_deploy_gh_release "victoriametrics" "VictoriaMetrics/VictoriaMetrics" "prebuild" "latest" "/opt/victoriametrics" "victoria-metrics-linux-amd64-v+([0-9.]).tar.gz" fetch_and_deploy_gh_release "vmutils" "VictoriaMetrics/VictoriaMetrics" "prebuild" "latest" "/opt/victoriametrics" "vmutils-linux-amd64-v+([0-9.]).tar.gz" -fetch_and_deploy_gh_release "victorialogs" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "victoria-logs-linux-amd64*.tar.gz" -fetch_and_deploy_gh_release "vlutils" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "vlutils-linux-amd64*.tar.gz" + +read -r -p "${TAB3}Would you like to add VictoriaLogs? " prompt + +if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then + fetch_and_deploy_gh_release "victorialogs" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "victoria-logs-linux-amd64*.tar.gz" + fetch_and_deploy_gh_release "vlutils" "VictoriaMetrics/VictoriaLogs" "prebuild" "latest" "/opt/victoriametrics" "vlutils-linux-amd64*.tar.gz" +fi msg_info "Setup VictoriaMetrics" mkdir -p /opt/victoriametrics/data @@ -38,8 +43,10 @@ ExecStart=/opt/victoriametrics/victoria-metrics-prod --storageDataPath="/opt/vic [Install] WantedBy=multi-user.target EOF +systemctl enable -q --now victoriametrics -cat </etc/systemd/system/victoriametrics-logs.service +if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then + cat </etc/systemd/system/victoriametrics-logs.service [Unit] Description=VictoriaMetrics Service @@ -53,15 +60,14 @@ ExecStart=/opt/victoriametrics/victoria-logs-prod [Install] WantedBy=multi-user.target EOF -systemctl enable -q --now victoriametrics -systemctl enable -q --now victoriametrics-logs + systemctl enable -q --now victoriametrics-logs +fi msg_ok "Created Service" motd_ssh customize msg_info "Cleaning up" -rm -rf $temp_dir $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned" From 4eaffda82d168fdbc2d4608e09ec6ce638d933a2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 2 Aug 2025 13:13:43 +0000 Subject: [PATCH 140/148] Update CHANGELOG.md (#6495) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c4ed6f66..c5089b4c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - chore: BookLore repo change [@vhsdream](https://github.com/vhsdream) ([#6493](https://github.com/community-scripts/ProxmoxVE/pull/6493)) + - #### ✨ New Features + + - VictoriaMetrics: Make VictoriaLogs optional add-on [@tremor021](https://github.com/tremor021) ([#6489](https://github.com/community-scripts/ProxmoxVE/pull/6489)) + ## 2025-08-01 ### 🚀 Updated Scripts From 158bdfc88e50a0a2d0d0092e61c0706e68927b5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Sat, 2 Aug 2025 17:23:32 +0200 Subject: [PATCH 141/148] MagicMirror: Fix install process (#6492) --- ct/magicmirror.sh | 1 + install/magicmirror-install.sh | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/ct/magicmirror.sh b/ct/magicmirror.sh index a9676834c..60c567390 100644 --- a/ct/magicmirror.sh +++ b/ct/magicmirror.sh @@ -51,6 +51,7 @@ function update_script() { msg_info "Configuring MagicMirror" cd /opt/magicmirror + sed -i -E 's/("postinstall": )".*"/\1""/; s/("prepare": )".*"/\1""/' package.json $STD npm run install-mm cp /opt/magicmirror-backup/config.js /opt/magicmirror/config/ if [[ -f /opt/magicmirror-backup/custom.css ]]; then diff --git a/install/magicmirror-install.sh b/install/magicmirror-install.sh index 69c4a0da3..7f88e8057 100644 --- a/install/magicmirror-install.sh +++ b/install/magicmirror-install.sh @@ -13,15 +13,12 @@ setting_up_container network_check update_os -msg_info "Setup Dependencies" -$STD apt-get install -y git -msg_ok "Setup Dependencies" - NODE_VERSION="22" setup_nodejs fetch_and_deploy_gh_release "magicmirror" "MagicMirrorOrg/MagicMirror" "tarball" msg_info "Configuring MagicMirror" cd /opt/magicmirror +sed -i -E 's/("postinstall": )".*"/\1""/; s/("prepare": )".*"/\1""/' package.json $STD npm run install-mm cat </opt/magicmirror/config/config.js let config = { From df504635a505ba47e577dfa6c540702d1143d2a0 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 2 Aug 2025 15:23:54 +0000 Subject: [PATCH 142/148] Update CHANGELOG.md (#6499) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5089b4c3..5edcdc67b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - MagicMirror: Fix install process [@tremor021](https://github.com/tremor021) ([#6492](https://github.com/community-scripts/ProxmoxVE/pull/6492)) - chore: BookLore repo change [@vhsdream](https://github.com/vhsdream) ([#6493](https://github.com/community-scripts/ProxmoxVE/pull/6493)) - #### ✨ New Features From b8bdf5629782886988d60eef3b7c3731e49406c2 Mon Sep 17 00:00:00 2001 From: Chris Date: Sat, 2 Aug 2025 11:50:36 -0400 Subject: [PATCH 143/148] Immich: fix copy error during install (#6497) --- install/immich-install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install/immich-install.sh b/install/immich-install.sh index b7487d044..f8c8bf3c2 100644 --- a/install/immich-install.sh +++ b/install/immich-install.sh @@ -301,7 +301,8 @@ $STD npm run build cd "$SRC_DIR"/web $STD npm ci $STD npm run build -cp -a web "$APP_DIR"/www +cd "$SRC_DIR" +cp -a web/build "$APP_DIR"/www cp LICENSE "$APP_DIR" cd "$APP_DIR" export SHARP_FORCE_GLOBAL_LIBVIPS=true From dde882f9e51beb1df0493a8c7c75a763608b60dd Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 2 Aug 2025 15:50:59 +0000 Subject: [PATCH 144/148] Update CHANGELOG.md (#6500) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5edcdc67b..4f1fb4f28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - Immich: fix copy error during install [@vhsdream](https://github.com/vhsdream) ([#6497](https://github.com/community-scripts/ProxmoxVE/pull/6497)) - MagicMirror: Fix install process [@tremor021](https://github.com/tremor021) ([#6492](https://github.com/community-scripts/ProxmoxVE/pull/6492)) - chore: BookLore repo change [@vhsdream](https://github.com/vhsdream) ([#6493](https://github.com/community-scripts/ProxmoxVE/pull/6493)) From 7433f7df0c1886ba3ea11cfb9dee40385ad6c74a Mon Sep 17 00:00:00 2001 From: Mariano D'Agostino Date: Sat, 2 Aug 2025 12:52:21 -0300 Subject: [PATCH 145/148] Alternative connectivity checks for LXC (#6472) --- misc/build.func | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/misc/build.func b/misc/build.func index 1945677e6..79bb6d51d 100644 --- a/misc/build.func +++ b/misc/build.func @@ -1286,6 +1286,10 @@ EOF msg_ok "Network in LXC is reachable" break fi + if pct exec "$CTID" -- curl -fsSIL --max-time 10 deb.debian.org >/dev/null 2>&1; then + msg_ok "Network in LXC is reachable" + break + fi if [ "$i" -lt 10 ]; then msg_warn "No network yet in LXC (try $i/10) – waiting..." sleep 3 From 201782552cc22a259e0f7588f4b33d9247d284a5 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sat, 2 Aug 2025 15:52:47 +0000 Subject: [PATCH 146/148] Update CHANGELOG.md (#6501) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f1fb4f28..f5aa348a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts + - Alternative connectivity checks for LXC [@mariano-dagostino](https://github.com/mariano-dagostino) ([#6472](https://github.com/community-scripts/ProxmoxVE/pull/6472)) + - #### 🐞 Bug Fixes - Immich: fix copy error during install [@vhsdream](https://github.com/vhsdream) ([#6497](https://github.com/community-scripts/ProxmoxVE/pull/6497)) From 8efcab38a479aa157ea6acab8df3cfec998bd054 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 3 Aug 2025 02:16:32 +0200 Subject: [PATCH 147/148] Update versions.json (#6506) Co-authored-by: GitHub Actions[bot] --- frontend/public/json/versions.json | 64 +++++++++++++++--------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/frontend/public/json/versions.json b/frontend/public/json/versions.json index 458f13ca2..94e825fab 100644 --- a/frontend/public/json/versions.json +++ b/frontend/public/json/versions.json @@ -1,4 +1,34 @@ [ + { + "name": "advplyr/audiobookshelf", + "version": "v2.27.0", + "date": "2025-08-02T23:35:37Z" + }, + { + "name": "gethomepage/homepage", + "version": "v1.4.2", + "date": "2025-08-02T22:52:30Z" + }, + { + "name": "TwiN/gatus", + "version": "v5.21.0", + "date": "2025-08-02T18:56:03Z" + }, + { + "name": "linuxserver/Heimdall", + "version": "v2.7.4", + "date": "2025-08-02T16:51:19Z" + }, + { + "name": "msgbyte/tianji", + "version": "v1.24.9", + "date": "2025-08-02T16:46:17Z" + }, + { + "name": "actualbudget/actual", + "version": "v25.8.0", + "date": "2025-08-02T16:17:45Z" + }, { "name": "fuma-nama/fumadocs", "version": "fumadocs-core@15.6.8", @@ -256,8 +286,8 @@ }, { "name": "bunkerity/bunkerweb", - "version": "testing", - "date": "2025-07-30T11:09:03Z" + "version": "v1.6.2", + "date": "2025-07-08T13:52:33Z" }, { "name": "dgtlmoon/changedetection.io", @@ -309,11 +339,6 @@ "version": "v1.86.2", "date": "2025-07-29T19:16:24Z" }, - { - "name": "msgbyte/tianji", - "version": "v1.24.8", - "date": "2025-07-29T17:40:35Z" - }, { "name": "caddyserver/xcaddy", "version": "v0.4.5", @@ -429,11 +454,6 @@ "version": "v5.10.0", "date": "2025-07-24T23:33:09Z" }, - { - "name": "linuxserver/Heimdall", - "version": "v2.7.3", - "date": "2025-07-24T18:07:21Z" - }, { "name": "docker/compose", "version": "v2.39.1", @@ -449,11 +469,6 @@ "version": "10.0.19", "date": "2025-07-16T09:45:14Z" }, - { - "name": "advplyr/audiobookshelf", - "version": "v2.26.3", - "date": "2025-07-23T23:16:46Z" - }, { "name": "minio/minio", "version": "RELEASE.2025-07-23T15-54-02Z", @@ -639,11 +654,6 @@ "version": "v2.1.1", "date": "2025-07-15T22:38:01Z" }, - { - "name": "gethomepage/homepage", - "version": "v1.4.0", - "date": "2025-07-15T16:43:28Z" - }, { "name": "WordPress/WordPress", "version": "6.8.2", @@ -769,11 +779,6 @@ "version": "mysql-cluster-9.4.0", "date": "2025-07-09T08:35:30Z" }, - { - "name": "TwiN/gatus", - "version": "v5.20.0", - "date": "2025-07-08T16:27:11Z" - }, { "name": "photoprism/photoprism", "version": "250707-d28b3101e", @@ -824,11 +829,6 @@ "version": "v4.1.2", "date": "2025-07-03T16:59:29Z" }, - { - "name": "actualbudget/actual", - "version": "v25.7.1", - "date": "2025-07-03T01:03:18Z" - }, { "name": "qbittorrent/qBittorrent", "version": "release-5.1.2", From 77c37a5552ece93d4133ebd7052db4380a901891 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Sun, 3 Aug 2025 00:16:51 +0000 Subject: [PATCH 148/148] Update CHANGELOG.md (#6507) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f5aa348a6..6b1392df9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ > [!CAUTION] Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. +## 2025-08-03 + ## 2025-08-02 ### 🚀 Updated Scripts