diff --git a/ct/alpine.sh b/ct/alpine.sh index 11972a3c..ea946a60 100644 --- a/ct/alpine.sh +++ b/ct/alpine.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE @@ -20,18 +20,18 @@ color catch_errors function update_script() { - header_info - #check_container_storage - #check_container_resources - UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \ - "1" "Check for Alpine Updates" ON \ - 3>&1 1>&2 2>&3) + header_info + #check_container_storage + #check_container_resources + UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \ + "1" "Check for Alpine Updates" ON \ + 3>&1 1>&2 2>&3) - header_info - if [ "$UPD" == "1" ]; then - apk update && apk upgrade - exit - fi + header_info + if [ "$UPD" == "1" ]; then + apk update && apk upgrade + exit + fi } start diff --git a/ct/debian.sh b/ct/debian.sh index c525e5e2..4bcf91d6 100644 --- a/ct/debian.sh +++ b/ct/debian.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE @@ -22,18 +22,18 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /var ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /var ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating $APP LXC" + $STD apt-get update + $STD apt-get -y upgrade + msg_ok "Updated $APP LXC" exit - fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated $APP LXC" - exit } start diff --git a/ct/deferred/alpine-homarr.sh b/ct/deferred/alpine-homarr.sh index fc87c907..c78398d6 100644 --- a/ct/deferred/alpine-homarr.sh +++ b/ct/deferred/alpine-homarr.sh @@ -21,22 +21,22 @@ color catch_errors function update_script() { - header_info - RELEASE=$(curl -fsSL https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + header_info + RELEASE=$(curl -fsSL https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Stopping Services (Patience)" - systemctl stop homarr - msg_ok "Services Stopped" + msg_info "Stopping Services (Patience)" + systemctl stop homarr + msg_ok "Services Stopped" - msg_info "Backup Data" - mkdir -p /opt/homarr-data-backup - cp /opt/homarr/.env /opt/homarr-data-backup/.env - msg_ok "Backup Data" + msg_info "Backup Data" + mkdir -p /opt/homarr-data-backup + cp /opt/homarr/.env /opt/homarr-data-backup/.env + msg_ok "Backup Data" - msg_info "Updating and rebuilding ${APP} to v${RELEASE} (Patience)" - rm /opt/run_homarr.sh - cat <<'EOF' >/opt/run_homarr.sh + msg_info "Updating and rebuilding ${APP} to v${RELEASE} (Patience)" + rm /opt/run_homarr.sh + cat <<'EOF' >/opt/run_homarr.sh #!/bin/bash set -a source /opt/homarr/.env @@ -58,50 +58,50 @@ node apps/websocket/wssServer.cjs & node apps/nextjs/server.js & PID=$! wait $PID EOF - chmod +x /opt/run_homarr.sh - NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]') - NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')" - install_node_and_modules - rm -rf /opt/homarr - fetch_and_deploy_gh_release "homarr-labs/homarr" - mv /opt/homarr-data-backup/.env /opt/homarr/.env - cd /opt/homarr - echo "test2" - export NODE_ENV="" - $STD pnpm install --recursive --frozen-lockfile --shamefully-hoist - $STD pnpm build - cp /opt/homarr/apps/nextjs/next.config.ts . - cp /opt/homarr/apps/nextjs/package.json . - cp -r /opt/homarr/packages/db/migrations /opt/homarr_db/migrations - cp -r /opt/homarr/apps/nextjs/.next/standalone/* /opt/homarr - mkdir -p /appdata/redis - cp /opt/homarr/packages/redis/redis.conf /opt/homarr/redis.conf - rm /etc/nginx/nginx.conf - mkdir -p /etc/nginx/templates - cp /opt/homarr/nginx.conf /etc/nginx/templates/nginx.conf + chmod +x /opt/run_homarr.sh + NODE_VERSION=$(curl -fsSL https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]') + NODE_MODULE="pnpm@$(curl -fsSL https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')" + install_node_and_modules + rm -rf /opt/homarr + fetch_and_deploy_gh_release "homarr-labs/homarr" + mv /opt/homarr-data-backup/.env /opt/homarr/.env + cd /opt/homarr + echo "test2" + export NODE_ENV="" + $STD pnpm install --recursive --frozen-lockfile --shamefully-hoist + $STD pnpm build + cp /opt/homarr/apps/nextjs/next.config.ts . + cp /opt/homarr/apps/nextjs/package.json . + cp -r /opt/homarr/packages/db/migrations /opt/homarr_db/migrations + cp -r /opt/homarr/apps/nextjs/.next/standalone/* /opt/homarr + mkdir -p /appdata/redis + cp /opt/homarr/packages/redis/redis.conf /opt/homarr/redis.conf + rm /etc/nginx/nginx.conf + mkdir -p /etc/nginx/templates + cp /opt/homarr/nginx.conf /etc/nginx/templates/nginx.conf - mkdir -p /opt/homarr/apps/cli - cp /opt/homarr/packages/cli/cli.cjs /opt/homarr/apps/cli/cli.cjs - echo $'#!/bin/bash\ncd /opt/homarr/apps/cli && node ./cli.cjs "$@"' >/usr/bin/homarr - chmod +x /usr/bin/homarr + mkdir -p /opt/homarr/apps/cli + cp /opt/homarr/packages/cli/cli.cjs /opt/homarr/apps/cli/cli.cjs + echo $'#!/bin/bash\ncd /opt/homarr/apps/cli && node ./cli.cjs "$@"' >/usr/bin/homarr + chmod +x /usr/bin/homarr - mkdir /opt/homarr/build - cp ./node_modules/better-sqlite3/build/Release/better_sqlite3.node ./build/better_sqlite3.node - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP}" + mkdir /opt/homarr/build + cp ./node_modules/better-sqlite3/build/Release/better_sqlite3.node ./build/better_sqlite3.node + echo "${RELEASE}" >/opt/${APP}_version.txt + msg_ok "Updated ${APP}" - msg_info "Starting Services" - systemctl start homarr - msg_ok "Started Services" - msg_ok "Updated Successfully" - read -p "It's recommended to reboot the LXC after an update, would you like to reboot the LXC now ? (y/n): " choice - if [[ "$choice" =~ ^[Yy]$ ]]; then - reboot + msg_info "Starting Services" + systemctl start homarr + msg_ok "Started Services" + msg_ok "Updated Successfully" + read -p "It's recommended to reboot the LXC after an update, would you like to reboot the LXC now ? (y/n): " choice + if [[ "$choice" =~ ^[Yy]$ ]]; then + reboot + fi + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" fi - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - fi - exit + exit } start diff --git a/ct/deferred/ampache.sh b/ct/deferred/ampache.sh index 89bca190..ada18f09 100644 --- a/ct/deferred/ampache.sh +++ b/ct/deferred/ampache.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/deferred/ghostfolio.sh b/ct/deferred/ghostfolio.sh index 184841a1..56002d40 100644 --- a/ct/deferred/ghostfolio.sh +++ b/ct/deferred/ghostfolio.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/deferred/hoodik.sh b/ct/deferred/hoodik.sh index 0f84b513..0e7597b1 100644 --- a/ct/deferred/hoodik.sh +++ b/ct/deferred/hoodik.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -21,46 +21,46 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/hoodik ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - RELEASE=$(curl -s https://api.github.com/repos/hudikhq/hoodik/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Stopping Services" - systemctl stop hoodik - msg_ok "Services Stopped" - - msg_info "Updating ${APP} to ${RELEASE}" - cd /opt - if [ -d hoodik_bak ]; then - rm -rf hoodik_bak + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/hoodik ]]; then + msg_error "No ${APP} Installation Found!" + exit fi - mv hoodik hoodik_bak - curl -fsSL "https://github.com/hudikhq/hoodik/archive/refs/tags/${RELEASE}.zip" - unzip -q ${RELEASE}.zip - mv hoodik-${RELEASE} /opt/hoodik - cd /opt/hoodik - cargo update -q - cargo build -q --release - msg_ok "Updated Hoodik" + RELEASE=$(curl -fsSL https://api.github.com/repos/hudikhq/hoodik/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Stopping Services" + systemctl stop hoodik + msg_ok "Services Stopped" - msg_info "Starting Services" - systemctl start hoodik - msg_ok "Started Services" + msg_info "Updating ${APP} to ${RELEASE}" + cd /opt + if [ -d hoodik_bak ]; then + rm -rf hoodik_bak + fi + mv hoodik hoodik_bak + curl -fsSL "https://github.com/hudikhq/hoodik/archive/refs/tags/${RELEASE}.zip" + unzip -q ${RELEASE}.zip + mv hoodik-${RELEASE} /opt/hoodik + cd /opt/hoodik + cargo update -q + cargo build -q --release + msg_ok "Updated Hoodik" - msg_info "Cleaning Up" - rm -R /opt/${RELEASE}.zip - rm -R /opt/hoodik_bak - msg_ok "Cleaned" - msg_ok "Updated Successfully" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" - fi - exit + msg_info "Starting Services" + systemctl start hoodik + msg_ok "Started Services" + + msg_info "Cleaning Up" + rm -R /opt/${RELEASE}.zip + rm -R /opt/hoodik_bak + msg_ok "Cleaned" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit } start diff --git a/ct/deferred/koel.sh b/ct/deferred/koel.sh index 839ac536..a4b6ea7e 100644 --- a/ct/deferred/koel.sh +++ b/ct/deferred/koel.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,45 +20,45 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/koel ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/koel ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/koel/koel/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Stopping ${APP} Service" + systemctl stop nginx + msg_ok "Stopped ${APP} Service" + + msg_info "Updating ${APP} to v${RELEASE}" + cd /opt + curl -fsSL https://github.com/koel/koel/releases/download/${RELEASE}/koel-${RELEASE}.zip + unzip -q koel-${RELEASE}.zip + cd /opt/koel + composer update --no-interaction >/dev/null 2>&1 + composer install --no-interaction >/dev/null 2>&1 + php artisan migrate --force >/dev/null 2>&1 + php artisan cache:clear >/dev/null 2>&1 + php artisan config:clear >/dev/null 2>&1 + php artisan view:clear >/dev/null 2>&1 + php artisan koel:init --no-interaction >/dev/null 2>&1 + msg_ok "Updated ${APP} to v${RELEASE}" + + msg_info "Starting ${APP} Service" + systemctl start nginx + msg_ok "Started ${APP} Service" + + msg_info "Cleaning up" + rm -rf /opt/koel-${RELEASE}.zip + msg_ok "Cleaned" + msg_ok "Updated Successfully!\n" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi exit - fi - RELEASE=$(curl -s https://api.github.com/repos/koel/koel/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Stopping ${APP} Service" - systemctl stop nginx - msg_ok "Stopped ${APP} Service" - - msg_info "Updating ${APP} to v${RELEASE}" - cd /opt - curl -fsSL https://github.com/koel/koel/releases/download/${RELEASE}/koel-${RELEASE}.zip - unzip -q koel-${RELEASE}.zip - cd /opt/koel - composer update --no-interaction >/dev/null 2>&1 - composer install --no-interaction >/dev/null 2>&1 - php artisan migrate --force >/dev/null 2>&1 - php artisan cache:clear >/dev/null 2>&1 - php artisan config:clear >/dev/null 2>&1 - php artisan view:clear >/dev/null 2>&1 - php artisan koel:init --no-interaction >/dev/null 2>&1 - msg_ok "Updated ${APP} to v${RELEASE}" - - msg_info "Starting ${APP} Service" - systemctl start nginx - msg_ok "Started ${APP} Service" - - msg_info "Cleaning up" - rm -rf /opt/koel-${RELEASE}.zip - msg_ok "Cleaned" - msg_ok "Updated Successfully!\n" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - fi - exit } start diff --git a/ct/deferred/netbootxyz.sh b/ct/deferred/netbootxyz.sh index 4a3c009d..201073af 100644 --- a/ct/deferred/netbootxyz.sh +++ b/ct/deferred/netbootxyz.sh @@ -1,13 +1,13 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2023 tteck # Author: tteck (tteckster) # License: MIT # https://github.com/tteck/Proxmox/raw/main/LICENSE function header_info { -clear -cat <<"EOF" + clear + cat <<"EOF" __ __ __ ____ ___ / /_/ /_ ____ ____ / /_ _ ____ ______ / __ \/ _ \/ __/ __ \/ __ \/ __ \/ __/ | |/_/ / / /_ / @@ -29,58 +29,61 @@ color catch_errors function default_settings() { - CT_TYPE="1" - PW="" - CT_ID=$NEXTID - HN=$NSAPP - DISK_SIZE="$var_disk" - CORE_COUNT="$var_cpu" - RAM_SIZE="$var_ram" - BRG="vmbr0" - NET="dhcp" - GATE="" - DISABLEIP6="no" - MTU="" - SD="" - NS="" - MAC="" - VLAN="" - SSH="no" - VERB="no" - echo_default + CT_TYPE="1" + PW="" + CT_ID=$NEXTID + HN=$NSAPP + DISK_SIZE="$var_disk" + CORE_COUNT="$var_cpu" + RAM_SIZE="$var_ram" + BRG="vmbr0" + NET="dhcp" + GATE="" + DISABLEIP6="no" + MTU="" + SD="" + NS="" + MAC="" + VLAN="" + SSH="no" + VERB="no" + echo_default } function update_script() { -header_info -if [[ ! -d /opt/netboot.xyz ]]; then msg_error "No ${APP} Installation Found!"; exit; fi -msg_info "Stopping ${APP}" -systemctl disable netbootxyz.service &>/dev/null -systemctl stop netbootxyz -sleep 1 -msg_ok "Stopped ${APP}" + header_info + if [[ ! -d /opt/netboot.xyz ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Stopping ${APP}" + systemctl disable netbootxyz.service &>/dev/null + systemctl stop netbootxyz + sleep 1 + msg_ok "Stopped ${APP}" -msg_info "Backing up Data" -cp -R /opt/netboot.xyz/config config-backup -cp -R /opt/netboot.xyz/assets assets-backup -sleep 1 -msg_ok "Backed up Data" + msg_info "Backing up Data" + cp -R /opt/netboot.xyz/config config-backup + cp -R /opt/netboot.xyz/assets assets-backup + sleep 1 + msg_ok "Backed up Data" -RELEASE=$(curl -sX GET "https://api.github.com/repos/netbootxyz/netboot.xyz/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') -msg_info "Updating netboot.xyz to ${RELEASE}" -curl --silent -o ${RELEASE}.tar.gz -L "https://github.com/netbootxyz/netboot.xyz/archive/${RELEASE}.tar.gz" &>/dev/null -tar xvzf ${RELEASE}.tar.gz &>/dev/null -VER=$(curl -s https://api.github.com/repos/netbootxyz/netboot.xyz/releases/latest | - grep "tag_name" | - awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSLX GET "https://api.github.com/repos/netbootxyz/netboot.xyz/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]') + msg_info "Updating netboot.xyz to ${RELEASE}" + curl --silent -o ${RELEASE}.tar.gz -L "https://github.com/netbootxyz/netboot.xyz/archive/${RELEASE}.tar.gz" &>/dev/null + tar xvzf ${RELEASE}.tar.gz &>/dev/null + VER=$(curl -fsSL https://api.github.com/repos/netbootxyz/netboot.xyz/releases/latest | + grep "tag_name" | + awk '{print substr($2, 2, length($2)-3) }') -if [ ! -d "/opt/netboot.xyz" ]; then - mv netboot.xyz-${VER} /opt/netboot.xyz -else - cp -R netboot.xyz-${VER}/* /opt/netboot.xyz -fi + if [ ! -d "/opt/netboot.xyz" ]; then + mv netboot.xyz-${VER} /opt/netboot.xyz + else + cp -R netboot.xyz-${VER}/* /opt/netboot.xyz + fi -service_path="/etc/systemd/system/netbootxyz.service" -echo "[Unit] + service_path="/etc/systemd/system/netbootxyz.service" + echo "[Unit] Description=netboot.xyz After=network.target [Service] @@ -93,28 +96,28 @@ ExecStart="ansible-playbook" -i inventory site.yml TimeoutStopSec=30 [Install] WantedBy=multi-user.target" >$service_path -msg_ok "Updated netboot.xyz to ${RELEASE}" + msg_ok "Updated netboot.xyz to ${RELEASE}" -msg_info "Restoring Data" -cp -R config-backup/* /opt/netboot.xyz/config -cp -R assets-backup/* /opt/netboot.xyz/assets -sleep 1 -msg_ok "Restored Data" + msg_info "Restoring Data" + cp -R config-backup/* /opt/netboot.xyz/config + cp -R assets-backup/* /opt/netboot.xyz/assets + sleep 1 + msg_ok "Restored Data" -msg_info "Cleanup" -rm -rf ${RELEASE}.tar.gz -rm -rf netboot.xyz-${VER} -rm -rf config-backup -rm -rf assets-backup -sleep 1 -msg_ok "Cleaned" + msg_info "Cleanup" + rm -rf ${RELEASE}.tar.gz + rm -rf netboot.xyz-${VER} + rm -rf config-backup + rm -rf assets-backup + sleep 1 + msg_ok "Cleaned" -msg_info "Starting ${APP}" -systemctl enable --now netbootxyz.service &>/dev/null -sleep 2 -msg_ok "Started ${APP}" -msg_ok "Updated Successfully" -exit + msg_info "Starting ${APP}" + systemctl enable --now netbootxyz.service &>/dev/null + sleep 2 + msg_ok "Started ${APP}" + msg_ok "Updated Successfully" + exit } start diff --git a/ct/deferred/nginxproxymanager.sh b/ct/deferred/nginxproxymanager.sh index 6b75c62c..b1ff024d 100644 --- a/ct/deferred/nginxproxymanager.sh +++ b/ct/deferred/nginxproxymanager.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,103 +20,103 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -f /lib/systemd/system/npm.service ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - if ! command -v pnpm &>/dev/null; then - msg_info "Installing pnpm" - #export NODE_OPTIONS=--openssl-legacy-provider - $STD npm install -g pnpm@8.15 - msg_ok "Installed pnpm" - fi - RELEASE=$(curl -s https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest | - grep "tag_name" | - awk '{print substr($2, 3, length($2)-4) }') - msg_info "Stopping Services" - systemctl stop openresty - systemctl stop npm - msg_ok "Stopped Services" + header_info + check_container_storage + check_container_resources + if [[ ! -f /lib/systemd/system/npm.service ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + if ! command -v pnpm &>/dev/null; then + msg_info "Installing pnpm" + #export NODE_OPTIONS=--openssl-legacy-provider + $STD npm install -g pnpm@8.15 + msg_ok "Installed pnpm" + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest | + grep "tag_name" | + awk '{print substr($2, 3, length($2)-4) }') + msg_info "Stopping Services" + systemctl stop openresty + systemctl stop npm + msg_ok "Stopped Services" - msg_info "Cleaning Old Files" - rm -rf /app \ - /var/www/html \ - /etc/nginx \ - /var/log/nginx \ - /var/lib/nginx \ - $STD /var/cache/nginx - msg_ok "Cleaned Old Files" + msg_info "Cleaning Old Files" + rm -rf /app \ + /var/www/html \ + /etc/nginx \ + /var/log/nginx \ + /var/lib/nginx \ + $STD /var/cache/nginx + msg_ok "Cleaned Old Files" - msg_info "Downloading NPM v${RELEASE}" - curl -fsSL https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE} -o - | tar -xz - cd nginx-proxy-manager-${RELEASE} - msg_ok "Downloaded NPM v${RELEASE}" + msg_info "Downloading NPM v${RELEASE}" + curl -fsSL https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE} -o - | tar -xz + cd nginx-proxy-manager-${RELEASE} + msg_ok "Downloaded NPM v${RELEASE}" - msg_info "Setting up Enviroment" - ln -sf /usr/bin/python3 /usr/bin/python - ln -sf /usr/bin/certbot /opt/certbot/bin/certbot - ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx - ln -sf /usr/local/openresty/nginx/ /etc/nginx - sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json - sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json - sed -i 's|"fork-me": ".*"|"fork-me": "Proxmox VE Helper-Scripts"|' frontend/js/i18n/messages.json - sed -i "s|https://github.com.*source=nginx-proxy-manager|https://helper-scripts.com|g" frontend/js/app/ui/footer/main.ejs - sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf - NGINX_CONFS=$(find "$(pwd)" -type f -name "*.conf") - for NGINX_CONF in $NGINX_CONFS; do - sed -i 's+include conf.d+include /etc/nginx/conf.d+g' "$NGINX_CONF" - done - mkdir -p /var/www/html /etc/nginx/logs - cp -r docker/rootfs/var/www/html/* /var/www/html/ - cp -r docker/rootfs/etc/nginx/* /etc/nginx/ - cp docker/rootfs/etc/letsencrypt.ini /etc/letsencrypt.ini - cp docker/rootfs/etc/logrotate.d/nginx-proxy-manager /etc/logrotate.d/nginx-proxy-manager - ln -sf /etc/nginx/nginx.conf /etc/nginx/conf/nginx.conf - rm -f /etc/nginx/conf.d/dev.conf - mkdir -p /tmp/nginx/body \ - /run/nginx \ - /data/nginx \ - /data/custom_ssl \ - /data/logs \ - /data/access \ - /data/nginx/default_host \ - /data/nginx/default_www \ - /data/nginx/proxy_host \ - /data/nginx/redirection_host \ - /data/nginx/stream \ - /data/nginx/dead_host \ - /data/nginx/temp \ - /var/lib/nginx/cache/public \ - /var/lib/nginx/cache/private \ - /var/cache/nginx/proxy_temp - chmod -R 777 /var/cache/nginx - chown root /tmp/nginx - echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf);" >/etc/nginx/conf.d/include/resolvers.conf - if [ ! -f /data/nginx/dummycert.pem ] || [ ! -f /data/nginx/dummykey.pem ]; then - $STD openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/O=Nginx Proxy Manager/OU=Dummy Certificate/CN=localhost" -keyout /data/nginx/dummykey.pem -out /data/nginx/dummycert.pem - fi - mkdir -p /app/global /app/frontend/images - cp -r backend/* /app - cp -r global/* /app/global - $STD python3 -m pip install --no-cache-dir certbot-dns-cloudflare - msg_ok "Setup Enviroment" + msg_info "Setting up Enviroment" + ln -sf /usr/bin/python3 /usr/bin/python + ln -sf /usr/bin/certbot /opt/certbot/bin/certbot + ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx + ln -sf /usr/local/openresty/nginx/ /etc/nginx + sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" backend/package.json + sed -i "s|\"version\": \"0.0.0\"|\"version\": \"$RELEASE\"|" frontend/package.json + sed -i 's|"fork-me": ".*"|"fork-me": "Proxmox VE Helper-Scripts"|' frontend/js/i18n/messages.json + sed -i "s|https://github.com.*source=nginx-proxy-manager|https://helper-scripts.com|g" frontend/js/app/ui/footer/main.ejs + sed -i 's+^daemon+#daemon+g' docker/rootfs/etc/nginx/nginx.conf + NGINX_CONFS=$(find "$(pwd)" -type f -name "*.conf") + for NGINX_CONF in $NGINX_CONFS; do + sed -i 's+include conf.d+include /etc/nginx/conf.d+g' "$NGINX_CONF" + done + mkdir -p /var/www/html /etc/nginx/logs + cp -r docker/rootfs/var/www/html/* /var/www/html/ + cp -r docker/rootfs/etc/nginx/* /etc/nginx/ + cp docker/rootfs/etc/letsencrypt.ini /etc/letsencrypt.ini + cp docker/rootfs/etc/logrotate.d/nginx-proxy-manager /etc/logrotate.d/nginx-proxy-manager + ln -sf /etc/nginx/nginx.conf /etc/nginx/conf/nginx.conf + rm -f /etc/nginx/conf.d/dev.conf + mkdir -p /tmp/nginx/body \ + /run/nginx \ + /data/nginx \ + /data/custom_ssl \ + /data/logs \ + /data/access \ + /data/nginx/default_host \ + /data/nginx/default_www \ + /data/nginx/proxy_host \ + /data/nginx/redirection_host \ + /data/nginx/stream \ + /data/nginx/dead_host \ + /data/nginx/temp \ + /var/lib/nginx/cache/public \ + /var/lib/nginx/cache/private \ + /var/cache/nginx/proxy_temp + chmod -R 777 /var/cache/nginx + chown root /tmp/nginx + echo resolver "$(awk 'BEGIN{ORS=" "} $1=="nameserver" {print ($2 ~ ":")? "["$2"]": $2}' /etc/resolv.conf);" >/etc/nginx/conf.d/include/resolvers.conf + if [ ! -f /data/nginx/dummycert.pem ] || [ ! -f /data/nginx/dummykey.pem ]; then + $STD openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/O=Nginx Proxy Manager/OU=Dummy Certificate/CN=localhost" -keyout /data/nginx/dummykey.pem -out /data/nginx/dummycert.pem + fi + mkdir -p /app/global /app/frontend/images + cp -r backend/* /app + cp -r global/* /app/global + $STD python3 -m pip install --no-cache-dir certbot-dns-cloudflare + msg_ok "Setup Enviroment" - msg_info "Building Frontend" - cd ./frontend - $STD pnpm install - $STD pnpm upgrade - $STD pnpm run build - cp -r dist/* /app/frontend - cp -r app-images/* /app/frontend/images - msg_ok "Built Frontend" + msg_info "Building Frontend" + cd ./frontend + $STD pnpm install + $STD pnpm upgrade + $STD pnpm run build + cp -r dist/* /app/frontend + cp -r app-images/* /app/frontend/images + msg_ok "Built Frontend" - msg_info "Initializing Backend" - $STD rm -rf /app/config/default.json - if [ ! -f /app/config/production.json ]; then - cat <<'EOF' >/app/config/production.json + msg_info "Initializing Backend" + $STD rm -rf /app/config/default.json + if [ ! -f /app/config/production.json ]; then + cat <<'EOF' >/app/config/production.json { "database": { "engine": "knex-native", @@ -129,25 +129,25 @@ function update_script() { } } EOF - fi - cd /app - $STD pnpm install - msg_ok "Initialized Backend" + fi + cd /app + $STD pnpm install + msg_ok "Initialized Backend" - msg_info "Starting Services" - sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf - sed -i 's/su npm npm/su root root/g' /etc/logrotate.d/nginx-proxy-manager - sed -i 's/include-system-site-packages = false/include-system-site-packages = true/g' /opt/certbot/pyvenv.cfg - systemctl enable -q --now openresty - systemctl enable -q --now npm - msg_ok "Started Services" + msg_info "Starting Services" + sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf + sed -i 's/su npm npm/su root root/g' /etc/logrotate.d/nginx-proxy-manager + sed -i 's/include-system-site-packages = false/include-system-site-packages = true/g' /opt/certbot/pyvenv.cfg + systemctl enable -q --now openresty + systemctl enable -q --now npm + msg_ok "Started Services" - msg_info "Cleaning up" - rm -rf ~/nginx-proxy-manager-* - msg_ok "Cleaned" + msg_info "Cleaning up" + rm -rf ~/nginx-proxy-manager-* + msg_ok "Cleaned" - msg_ok "Updated Successfully" - exit + msg_ok "Updated Successfully" + exit } start diff --git a/ct/deferred/ocis.sh b/ct/deferred/ocis.sh index b28a1a36..167b4593 100644 --- a/ct/deferred/ocis.sh +++ b/ct/deferred/ocis.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE @@ -20,18 +20,18 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /var ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /var ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating $APP LXC" + $STD apt-get update + $STD apt-get -y upgrade + msg_ok "Updated $APP LXC" exit - fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated $APP LXC" - exit } start @@ -42,4 +42,3 @@ 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}:9200${CL}" - diff --git a/ct/deferred/openwebui.sh b/ct/deferred/openwebui.sh index 96647a97..85341bd9 100644 --- a/ct/deferred/openwebui.sh +++ b/ct/deferred/openwebui.sh @@ -20,47 +20,47 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/open-webui ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi - - if [ -x "/usr/bin/ollama" ]; then - msg_info "Updating Ollama" - OLLAMA_VERSION=$(ollama -v | awk '{print $NF}') - RELEASE=$(curl -s https://api.github.com/repos/ollama/ollama/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') - if [ "$OLLAMA_VERSION" != "$RELEASE" ]; then - curl -fsSLO https://ollama.com/download/ollama-linux-amd64.tgz - tar -C /usr -xzf ollama-linux-amd64.tgz - rm -rf ollama-linux-amd64.tgz - msg_ok "Ollama updated to version $RELEASE" - else - msg_ok "Ollama is already up to date." + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/open-webui ]]; then + msg_error "No ${APP} Installation Found!" + exit fi - fi - msg_info "Updating ${APP} (Patience)" - systemctl stop open-webui.service - mkdir -p /opt/openwebui-backup - cp -rf /opt/openwebui/backend/data /opt/openwebui-backup - cp /opt/openwebui/.env /opt - rm -rf /opt/openwebui - fetch_and_deploy_gh_release "open-webui/open-webui" - cd /opt/openwebui - $STD npm install - export NODE_OPTIONS="--max-old-space-size=3584" - sed -i "s/git rev-parse HEAD/openssl rand -hex 20/g" /opt/openwebui/svelte.config.js - $STD npm run build - cd ./backend - $STD pip install -r requirements.txt -U - cp -rf /opt/openwebui-backup/* /opt/openwebui/backend - mv /opt/.env /opt/openwebui/ - systemctl start open-webui.service - msg_ok "Updated Successfully" - exit + if [ -x "/usr/bin/ollama" ]; then + msg_info "Updating Ollama" + OLLAMA_VERSION=$(ollama -v | awk '{print $NF}') + RELEASE=$(curl -fsSL https://api.github.com/repos/ollama/ollama/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}') + if [ "$OLLAMA_VERSION" != "$RELEASE" ]; then + curl -fsSLO https://ollama.com/download/ollama-linux-amd64.tgz + tar -C /usr -xzf ollama-linux-amd64.tgz + rm -rf ollama-linux-amd64.tgz + msg_ok "Ollama updated to version $RELEASE" + else + msg_ok "Ollama is already up to date." + fi + fi + + msg_info "Updating ${APP} (Patience)" + systemctl stop open-webui.service + mkdir -p /opt/openwebui-backup + cp -rf /opt/openwebui/backend/data /opt/openwebui-backup + cp /opt/openwebui/.env /opt + rm -rf /opt/openwebui + fetch_and_deploy_gh_release "open-webui/open-webui" + cd /opt/openwebui + $STD npm install + export NODE_OPTIONS="--max-old-space-size=3584" + sed -i "s/git rev-parse HEAD/openssl rand -hex 20/g" /opt/openwebui/svelte.config.js + $STD npm run build + cd ./backend + $STD pip install -r requirements.txt -U + cp -rf /opt/openwebui-backup/* /opt/openwebui/backend + mv /opt/.env /opt/openwebui/ + systemctl start open-webui.service + msg_ok "Updated Successfully" + exit } start diff --git a/ct/deferred/pixelfed.sh b/ct/deferred/pixelfed.sh index c053e079..8ddab519 100644 --- a/ct/deferred/pixelfed.sh +++ b/ct/deferred/pixelfed.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -19,21 +19,21 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/pixelfed ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/pixelfed ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/xxxx/xxxx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Updating ${APP} to ${RELEASE}" + cd /opt + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi exit - fi - RELEASE=$(curl -s https://api.github.com/repos/xxxx/xxxx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Updating ${APP} to ${RELEASE}" - cd /opt - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" - fi - exit } start diff --git a/ct/deferred/roundcubemail.sh b/ct/deferred/roundcubemail.sh index 4423aea5..75d0e3bc 100644 --- a/ct/deferred/roundcubemail.sh +++ b/ct/deferred/roundcubemail.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,39 +20,39 @@ color catch_errors function update_script() { - header_info - if [[ ! -d /opt/roundcubemail ]]; then - msg_error "No ${APP} Installation Found!" + header_info + if [[ ! -d /opt/roundcubemail ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + if (($(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80)); then + read -r -p "Warning: Storage is dangerously low, continue anyway? " prompt + [[ ${prompt,,} =~ ^(y|yes)$ ]] || exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/roundcube/roundcubemail/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Updating ${APP} to ${RELEASE}" + cd /opt + curl -fsSL "https://github.com/roundcube/roundcubemail/releases/download/${RELEASE}/roundcubemail-${RELEASE}-complete.tar.gz" + tar -xf roundcubemail-${RELEASE}-complete.tar.gz + mv roundcubemail-${RELEASE} /opt/roundcubemail + cd /opt/roundcubemail + COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev + chown -R www-data:www-data temp/ logs/ + msg_ok "Updated ${APP}" + + msg_info "Reload Apache2" + systemctl reload apache2 + msg_ok "Apache2 Reloaded" + + msg_info "Cleaning Up" + rm -rf /opt/roundcubemail-${RELEASE}-complete.tar.gz + msg_ok "Cleaned" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi exit - fi - if (($(df /boot | awk 'NR==2{gsub("%","",$5); print $5}') > 80)); then - read -r -p "Warning: Storage is dangerously low, continue anyway? " prompt - [[ ${prompt,,} =~ ^(y|yes)$ ]] || exit - fi - RELEASE=$(curl -s https://api.github.com/repos/roundcube/roundcubemail/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Updating ${APP} to ${RELEASE}" - cd /opt - curl -fsSL "https://github.com/roundcube/roundcubemail/releases/download/${RELEASE}/roundcubemail-${RELEASE}-complete.tar.gz" - tar -xf roundcubemail-${RELEASE}-complete.tar.gz - mv roundcubemail-${RELEASE} /opt/roundcubemail - cd /opt/roundcubemail - COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev - chown -R www-data:www-data temp/ logs/ - msg_ok "Updated ${APP}" - - msg_info "Reload Apache2" - systemctl reload apache2 - msg_ok "Apache2 Reloaded" - - msg_info "Cleaning Up" - rm -rf /opt/roundcubemail-${RELEASE}-complete.tar.gz - msg_ok "Cleaned" - msg_ok "Updated Successfully" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" - fi - exit } start diff --git a/ct/deferred/squirrelserversmanager.sh b/ct/deferred/squirrelserversmanager.sh index 9927d23c..4403ab5f 100644 --- a/ct/deferred/squirrelserversmanager.sh +++ b/ct/deferred/squirrelserversmanager.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/docspell.sh b/ct/docspell.sh index 3ff1cd3b..93eb6806 100644 --- a/ct/docspell.sh +++ b/ct/docspell.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/frigate.sh b/ct/frigate.sh index a5a5c7c7..479c6b98 100644 --- a/ct/frigate.sh +++ b/ct/frigate.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Authors: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,15 +20,15 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -f /etc/systemd/system/frigate.service ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -f /etc/systemd/system/frigate.service ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_error "To update Frigate, create a new container and transfer your configuration." exit - fi - msg_error "To update Frigate, create a new container and transfer your configuration." - exit } start diff --git a/ct/hanko.sh b/ct/hanko.sh index 2a8dda15..de3079c2 100644 --- a/ct/hanko.sh +++ b/ct/hanko.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE @@ -20,18 +20,18 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /var ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /var ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating $APP LXC" + $STD apt-get update + $STD apt-get -y upgrade + msg_ok "Updated $APP LXC" exit - fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated $APP LXC" - exit } start diff --git a/ct/healthchecks.sh b/ct/healthchecks.sh index 9c6f404c..8b55f7fd 100644 --- a/ct/healthchecks.sh +++ b/ct/healthchecks.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE diff --git a/ct/hortusfox.sh b/ct/hortusfox.sh index 63ea9db3..0936a87c 100644 --- a/ct/hortusfox.sh +++ b/ct/hortusfox.sh @@ -1,9 +1,9 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG -# Author: bvdberg01 +# Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE -# Source: https://github.com/manyfold3d/manyfold +# Source: https://github.com/danielbrendel/hortusfox-web APP="HortusFox" var_tags="${var_tags:-network}" @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/danielbrendel/hortusfox-web/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/danielbrendel/hortusfox-web/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping Service" systemctl stop apache2 diff --git a/ct/kanba.sh b/ct/kanba.sh index 7beb967a..270f5e00 100644 --- a/ct/kanba.sh +++ b/ct/kanba.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE @@ -20,18 +20,18 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /var ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /var ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating $APP LXC" + $STD apt-get update + $STD apt-get -y upgrade + msg_ok "Updated $APP LXC" exit - fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated $APP LXC" - exit } start diff --git a/ct/librenms.sh b/ct/librenms.sh index 84eb74b4..aaa71a1a 100644 --- a/ct/librenms.sh +++ b/ct/librenms.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: michelroegl-brunner # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE @@ -20,20 +20,20 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [ ! -d /opt/librenms ]; then - msg_error "No ${APP} Installation Found!" - exit - fi - msg_info "Updating ${APP} Installation" - su librenms - cd /opt/librenms - ./daily.sh - msg_ok "Updated ${APP} Installation" + header_info + check_container_storage + check_container_resources + if [ ! -d /opt/librenms ]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating ${APP} Installation" + su librenms + cd /opt/librenms + ./daily.sh + msg_ok "Updated ${APP} Installation" - exit + exit } start diff --git a/ct/manyfold.sh b/ct/manyfold.sh index b54ee9b1..2d782d55 100644 --- a/ct/manyfold.sh +++ b/ct/manyfold.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: bvdberg01 # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -27,7 +27,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -s https://api.github.com/repos/benjaminjonard/manyfold/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/benjaminjonard/manyfold/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then msg_info "Stopping Service" systemctl stop apache2 diff --git a/ct/maxun.sh b/ct/maxun.sh index ee0b3819..a5561dc5 100644 --- a/ct/maxun.sh +++ b/ct/maxun.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (Canbiz) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,47 +20,47 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/maxun ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/maxun ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/getmaxun/maxun/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then + msg_info "Stopping Services" + systemctl stop maxun minio redis + msg_ok "Services Stopped" + + msg_info "Updating ${APP} to v${RELEASE}" + mv /opt/maxun /opt/maxun_bak + cd /opt + curl -fsSL "https://github.com/getmaxun/maxun/archive/refs/tags/v${RELEASE}.zip" + unzip -q v${RELEASE}.zip + mv maxun-${RELEASE} /opt/maxun + mv /opt/maxun_bak/.env /opt/maxun/ + cd /opt/maxun + npm install --legacy-peer-deps + cd /opt/maxun/maxun-core + npm install --legacy-peer-deps + cd /opt/maxun + npx playwright install --with-deps chromium + npx playwright install-deps + "${RELEASE}" >/opt/${APP}_version.txt + + msg_info "Starting Services" + systemctl start minio redis maxun + msg_ok "Started Services" + + msg_info "Cleaning Up" + rm -rf /opt/v${RELEASE}.zip + msg_ok "Cleaned" + msg_ok "Updated Successfully" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi exit - fi - RELEASE=$(curl -s https://api.github.com/repos/getmaxun/maxun/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Stopping Services" - systemctl stop maxun minio redis - msg_ok "Services Stopped" - - msg_info "Updating ${APP} to v${RELEASE}" - mv /opt/maxun /opt/maxun_bak - cd /opt - curl -fsSL "https://github.com/getmaxun/maxun/archive/refs/tags/v${RELEASE}.zip" - unzip -q v${RELEASE}.zip - mv maxun-${RELEASE} /opt/maxun - mv /opt/maxun_bak/.env /opt/maxun/ - cd /opt/maxun - npm install --legacy-peer-deps - cd /opt/maxun/maxun-core - npm install --legacy-peer-deps - cd /opt/maxun - npx playwright install --with-deps chromium - npx playwright install-deps - "${RELEASE}" >/opt/${APP}_version.txt - - msg_info "Starting Services" - systemctl start minio redis maxun - msg_ok "Started Services" - - msg_info "Cleaning Up" - rm -rf /opt/v${RELEASE}.zip - msg_ok "Cleaned" - msg_ok "Updated Successfully" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - fi - exit } start diff --git a/ct/mediamanager.sh b/ct/mediamanager.sh index be6e41f9..5290a9b9 100644 --- a/ct/mediamanager.sh +++ b/ct/mediamanager.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: vhsdream # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,52 +20,52 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/mediamanager ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/mediamanager ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/maxdorninger/MediaManager/releases/latest | yq '.tag_name' | sed 's/^v//') + if [[ "${RELEASE}" != "$(cat ~/.mediamanager 2>/dev/null)" ]] || [[ ! -f ~/.mediamanager ]]; then + msg_info "Stopping Service" + systemctl stop mediamanager + msg_ok "Stopped Service" + + msg_info "Updating ${APP}" + fetch_and_deploy_gh_release "MediaManager" "maxdorninger/MediaManager" "tarball" "latest" "/opt/mediamanager" + MM_DIR="/opt/mm" + export CONFIG_DIR="${MM_DIR}/config" + export FRONTEND_FILES_DIR="${MM_DIR}/web/build" + export BASE_PATH="" + export PUBLIC_VERSION="" + export PUBLIC_API_URL="${BASE_PATH}/api/v1" + export BASE_PATH="${BASE_PATH}/web" + cd /opt/mediamanager/web + $STD npm ci + $STD npm run build + rm -rf "$FRONTEND_FILES_DIR"/build + cp -r build "$FRONTEND_FILES_DIR" + + export BASE_PATH="" + export VIRTUAL_ENV="/opt/${MM_DIR}/venv" + cd /opt/mediamanager + rm -rf "$MM_DIR"/{media_manager,alembic*} + cp -r {media_manager,alembic*} "$MM_DIR" + $STD /usr/local/bin/uv sync --locked --active + msg_ok "Updated $APP" + + msg_info "Starting Service" + systemctl start mediamanager + msg_ok "Started Service" + + msg_ok "Updated Successfully" + else + msg_ok "Already up to date" + fi exit - fi - - RELEASE=$(curl -fsSL https://api.github.com/repos/maxdorninger/MediaManager/releases/latest | yq '.tag_name' | sed 's/^v//') - if [[ "${RELEASE}" != "$(cat ~/.mediamanager 2>/dev/null)" ]] || [[ ! -f ~/.mediamanager ]]; then - msg_info "Stopping Service" - systemctl stop mediamanager - msg_ok "Stopped Service" - - msg_info "Updating ${APP}" - fetch_and_deploy_gh_release "MediaManager" "maxdorninger/MediaManager" "tarball" "latest" "/opt/mediamanager" - MM_DIR="/opt/mm" - export CONFIG_DIR="${MM_DIR}/config" - export FRONTEND_FILES_DIR="${MM_DIR}/web/build" - export BASE_PATH="" - export PUBLIC_VERSION="" - export PUBLIC_API_URL="${BASE_PATH}/api/v1" - export BASE_PATH="${BASE_PATH}/web" - cd /opt/mediamanager/web - $STD npm ci - $STD npm run build - rm -rf "$FRONTEND_FILES_DIR"/build - cp -r build "$FRONTEND_FILES_DIR" - - export BASE_PATH="" - export VIRTUAL_ENV="/opt/${MM_DIR}/venv" - cd /opt/mediamanager - rm -rf "$MM_DIR"/{media_manager,alembic*} - cp -r {media_manager,alembic*} "$MM_DIR" - $STD /usr/local/bin/uv sync --locked --active - msg_ok "Updated $APP" - - msg_info "Starting Service" - systemctl start mediamanager - msg_ok "Started Service" - - msg_ok "Updated Successfully" - else - msg_ok "Already up to date" - fi - exit } start diff --git a/ct/notesnook.sh b/ct/notesnook.sh index 942db0c3..3d1fbb3c 100644 --- a/ct/notesnook.sh +++ b/ct/notesnook.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Slaviša Arežina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,33 +20,33 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/notesnook ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/notesnook ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + msg_info "Stopping Service" + systemctl stop notesnook + msg_ok "Stopped Service" + + msg_info "Updating ${APP} (Patience)" + rm -rf /opt/notesnook + fetch_and_deploy_gh_release "notesnook" "streetwriters/notesnook" "tarball" + cd /opt/notesnook + export NODE_OPTIONS="--max-old-space-size=2560" + $STD npm install + $STD npm run build:web + msg_ok "Updated $APP" + + msg_info "Starting Service" + systemctl start notesnook + msg_ok "Started Service" + + msg_ok "Updated Successfully" exit - fi - - msg_info "Stopping Service" - systemctl stop notesnook - msg_ok "Stopped Service" - - msg_info "Updating ${APP} (Patience)" - rm -rf /opt/notesnook - fetch_and_deploy_gh_release "notesnook" "streetwriters/notesnook" "tarball" - cd /opt/notesnook - export NODE_OPTIONS="--max-old-space-size=2560" - $STD npm install - $STD npm run build:web - msg_ok "Updated $APP" - - msg_info "Starting Service" - systemctl start notesnook - msg_ok "Started Service" - - msg_ok "Updated Successfully" - exit } start diff --git a/ct/opencloud.sh b/ct/opencloud.sh index dd11f29a..2c428f93 100644 --- a/ct/opencloud.sh +++ b/ct/opencloud.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: vhsdream # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE @@ -20,36 +20,36 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources + header_info + check_container_storage + check_container_resources - if [[ ! -d /etc/opencloud ]]; then - msg_error "No ${APP} Installation Found!" + if [[ ! -d /etc/opencloud ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/opencloud-eu/opencloud/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat /etc/opencloud/version)" ]] || [[ ! -f /etc/opencloud/version ]]; then + msg_info "Stopping $APP" + systemctl stop opencloud opencloud-wopi + msg_ok "Stopped $APP" + + msg_info "Updating $APP to v${RELEASE}" + curl -fsSL "https://github.com/opencloud-eu/opencloud/releases/download/v${RELEASE}/opencloud-${RELEASE}-linux-amd64" -o /usr/bin/opencloud + chmod +x /usr/bin/opencloud + msg_ok "Updated $APP to v${RELEASE}" + + msg_info "Starting $APP" + systemctl start opencloud opencloud-wopi + msg_ok "Started $APP" + + echo "${RELEASE}" >/etc/opencloud/version + msg_ok "Update Successful" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi exit - fi - - RELEASE=$(curl -s https://api.github.com/repos/opencloud-eu/opencloud/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ "${RELEASE}" != "$(cat /etc/opencloud/version)" ]] || [[ ! -f /etc/opencloud/version ]]; then - msg_info "Stopping $APP" - systemctl stop opencloud opencloud-wopi - msg_ok "Stopped $APP" - - msg_info "Updating $APP to v${RELEASE}" - curl -fsSL "https://github.com/opencloud-eu/opencloud/releases/download/v${RELEASE}/opencloud-${RELEASE}-linux-amd64" -o /usr/bin/opencloud - chmod +x /usr/bin/opencloud - msg_ok "Updated $APP to v${RELEASE}" - - msg_info "Starting $APP" - systemctl start opencloud opencloud-wopi - msg_ok "Started $APP" - - echo "${RELEASE}" >/etc/opencloud/version - msg_ok "Update Successful" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - fi - exit } start diff --git a/ct/palmr.sh b/ct/palmr.sh index fd4c41a1..3c026ab4 100644 --- a/ct/palmr.sh +++ b/ct/palmr.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: vhsdream # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,52 +20,52 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/palmr_data ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/palmr_data ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + RELEASE=$(curl -fsSL https://api.github.com/repos/kyantech/palmr/releases/latest | yq '.tag_name' | sed 's/^v//') + if [[ "${RELEASE}" != "$(cat ~/.palmr 2>/dev/null)" ]] || [[ ! -f ~/.palmr ]]; then + msg_info "Stopping Services" + systemctl stop palmr-frontend palmr-backend + msg_ok "Stopped Services" + + msg_info "Updating ${APP}" + cp /opt/palmr/apps/server/.env /opt/palmr.env + rm -rf /opt/palmr + fetch_and_deploy_gh_release "Palmr" "kyantech/Palmr" "tarball" "latest" "/opt/palmr" + PNPM="$(jq -r '.packageManager' /opt/palmr/package.json)" + NODE_VERSION="20" NODE_MODULE="$PNPM" setup_nodejs + cd /opt/palmr/apps/server + PALMR_DIR="/opt/palmr_data" + # export PALMR_DB="${PALMR_DIR}/palmr.db" + $STD pnpm install + mv /opt/palmr.env ./.env + $STD pnpm dlx prisma generate + $STD pnpm dlx prisma migrate deploy + $STD pnpm build + + cd /opt/palmr/apps/web + export NODE_ENV=production + export NEXT_TELEMETRY_DISABLED=1 + mv ./.env.example ./.env + $STD pnpm install + $STD pnpm build + msg_ok "Updated $APP" + + msg_info "Starting Services" + systemctl start palmr-backend palmr-frontend + msg_ok "Started Services" + + msg_ok "Updated Successfully" + else + msg_ok "Already up to date" + fi exit - fi - - RELEASE=$(curl -fsSL https://api.github.com/repos/kyantech/palmr/releases/latest | yq '.tag_name' | sed 's/^v//') - if [[ "${RELEASE}" != "$(cat ~/.palmr 2>/dev/null)" ]] || [[ ! -f ~/.palmr ]]; then - msg_info "Stopping Services" - systemctl stop palmr-frontend palmr-backend - msg_ok "Stopped Services" - - msg_info "Updating ${APP}" - cp /opt/palmr/apps/server/.env /opt/palmr.env - rm -rf /opt/palmr - fetch_and_deploy_gh_release "Palmr" "kyantech/Palmr" "tarball" "latest" "/opt/palmr" - PNPM="$(jq -r '.packageManager' /opt/palmr/package.json)" - NODE_VERSION="20" NODE_MODULE="$PNPM" setup_nodejs - cd /opt/palmr/apps/server - PALMR_DIR="/opt/palmr_data" - # export PALMR_DB="${PALMR_DIR}/palmr.db" - $STD pnpm install - mv /opt/palmr.env ./.env - $STD pnpm dlx prisma generate - $STD pnpm dlx prisma migrate deploy - $STD pnpm build - - cd /opt/palmr/apps/web - export NODE_ENV=production - export NEXT_TELEMETRY_DISABLED=1 - mv ./.env.example ./.env - $STD pnpm install - $STD pnpm build - msg_ok "Updated $APP" - - msg_info "Starting Services" - systemctl start palmr-backend palmr-frontend - msg_ok "Started Services" - - msg_ok "Updated Successfully" - else - msg_ok "Already up to date" - fi - exit } start diff --git a/ct/postiz.sh b/ct/postiz.sh index c647b4fb..e5355367 100644 --- a/ct/postiz.sh +++ b/ct/postiz.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: Slaviša Arežina (tremor021) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -20,38 +20,38 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources + header_info + check_container_storage + check_container_resources - if [[ ! -f /etc/systemd/system/postiz.service ]]; then - msg_error "No ${APP} Installation Found!" + if [[ ! -f /etc/systemd/system/postiz.service ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/Casvt/Kapowarr/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ "${RELEASE}" != "$(cat $HOME/.kapowarr)" ]] || [[ ! -f $HOME/.kapowarr ]]; then + msg_info "Stopping $APP" + systemctl stop kapowarr + msg_ok "Stopped $APP" + + msg_info "Creating Backup" + mv /opt/kapowarr/db /opt/ + msg_ok "Backup Created" + + msg_info "Updating $APP to ${RELEASE}" + fetch_and_deploy_gh_release "kapowarr" "Casvt/Kapowarr" + mv /opt/db /opt/kapowarr + msg_ok "Updated $APP to ${RELEASE}" + + msg_info "Starting $APP" + systemctl start kapowarr + msg_ok "Started $APP" + + msg_ok "Update Successful" + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi exit - fi - RELEASE=$(curl -s https://api.github.com/repos/Casvt/Kapowarr/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ "${RELEASE}" != "$(cat $HOME/.kapowarr)" ]] || [[ ! -f $HOME/.kapowarr ]]; then - msg_info "Stopping $APP" - systemctl stop kapowarr - msg_ok "Stopped $APP" - - msg_info "Creating Backup" - mv /opt/kapowarr/db /opt/ - msg_ok "Backup Created" - - msg_info "Updating $APP to ${RELEASE}" - fetch_and_deploy_gh_release "kapowarr" "Casvt/Kapowarr" - mv /opt/db /opt/kapowarr - msg_ok "Updated $APP to ${RELEASE}" - - msg_info "Starting $APP" - systemctl start kapowarr - msg_ok "Started $APP" - - msg_ok "Update Successful" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" - fi - exit } start diff --git a/ct/rybbit.sh b/ct/rybbit.sh index e9164be4..e523bde2 100644 --- a/ct/rybbit.sh +++ b/ct/rybbit.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE @@ -20,18 +20,18 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /var ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /var ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating $APP LXC" + $STD apt-get update + $STD apt-get -y upgrade + msg_ok "Updated $APP LXC" exit - fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated $APP LXC" - exit } start diff --git a/ct/tandoor.sh b/ct/tandoor.sh index 40cfb61a..248df63d 100644 --- a/ct/tandoor.sh +++ b/ct/tandoor.sh @@ -20,68 +20,68 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/tandoor ]]; then - msg_error "No ${APP} Installation Found!" - exit - fi + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/tandoor ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi - if [[ ! -f ~/.tandoor ]]; then - msg_error "v1 Installation found, please create an new LXC!" - exit - fi + if [[ ! -f ~/.tandoor ]]; then + msg_error "v1 Installation found, please create an new LXC!" + exit + fi - RELEASE=$(curl -fsSL https://api.github.com/repos/TandoorRecipes/recipes/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') - if [[ "${RELEASE}" != "$(cat ~/.tandoor 2>/dev/null)" ]] || [[ ! -f ~/.tandoor ]]; then - msg_info "Stopping $APP" - systemctl stop tandoor - msg_ok "Stopped $APP" + RELEASE=$(curl -fsSL https://api.github.com/repos/TandoorRecipes/recipes/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + if [[ "${RELEASE}" != "$(cat ~/.tandoor 2>/dev/null)" ]] || [[ ! -f ~/.tandoor ]]; then + msg_info "Stopping $APP" + systemctl stop tandoor + msg_ok "Stopped $APP" - msg_info "Creating Backup" - BACKUP_FILE="/opt/tandoor_backup_$(date +%F).tar.gz" - $STD tar -czf "$BACKUP_FILE" /opt/tandoor/{.env,start.sh} /opt/tandoor/database/ &>/dev/null - mv /opt/tandoor/.env /opt/.env - msg_ok "Backup Created" + msg_info "Creating Backup" + BACKUP_FILE="/opt/tandoor_backup_$(date +%F).tar.gz" + $STD tar -czf "$BACKUP_FILE" /opt/tandoor/{.env,start.sh} /opt/tandoor/database/ &>/dev/null + mv /opt/tandoor/.env /opt/.env + msg_ok "Backup Created" - NODE_VERSION="20" NODE_MODULE="yarn@latest" setup_nodejs - fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor" - PYTHON_VERSION="3.13" setup_uv + NODE_VERSION="20" NODE_MODULE="yarn@latest" setup_nodejs + fetch_and_deploy_gh_release "tandoor" "TandoorRecipes/recipes" "tarball" "latest" "/opt/tandoor" + PYTHON_VERSION="3.13" setup_uv - msg_info "Updating $APP to ${RELEASE}" - mkdir -p /opt/tandoor/{config,api,mediafiles,staticfiles} - mv /opt/.env /opt/tandoor/.env - cd /opt/tandoor - $STD uv venv .venv --python=python3 - $STD uv pip install -r requirements.txt --python .venv/bin/python - cd /opt/tandoor/vue3 - $STD yarn install - $STD yarn build - TANDOOR_VERSION="$(curl -s https://api.github.com/repos/TandoorRecipes/recipes/releases/latest | jq -r .tag_name)" - cat </opt/tandoor/cookbook/version_info.py + msg_info "Updating $APP to ${RELEASE}" + mkdir -p /opt/tandoor/{config,api,mediafiles,staticfiles} + mv /opt/.env /opt/tandoor/.env + cd /opt/tandoor + $STD uv venv .venv --python=python3 + $STD uv pip install -r requirements.txt --python .venv/bin/python + cd /opt/tandoor/vue3 + $STD yarn install + $STD yarn build + TANDOOR_VERSION="$(curl -fsSL https://api.github.com/repos/TandoorRecipes/recipes/releases/latest | jq -r .tag_name)" + cat </opt/tandoor/cookbook/version_info.py TANDOOR_VERSION = "$TANDOOR_VERSION" TANDOOR_REF = "bare-metal" VERSION_INFO = [] EOF - cd /opt/tandoor - $STD /opt/tandoor/.venv/bin/python manage.py migrate - $STD /opt/tandoor/.venv/bin/python manage.py collectstatic --no-input - msg_ok "Updated $APP to ${RELEASE}" + cd /opt/tandoor + $STD /opt/tandoor/.venv/bin/python manage.py migrate + $STD /opt/tandoor/.venv/bin/python manage.py collectstatic --no-input + msg_ok "Updated $APP to ${RELEASE}" - msg_info "Starting $APP" - systemctl start tandoor - systemctl reload nginx - msg_ok "Started $APP" + msg_info "Starting $APP" + systemctl start tandoor + systemctl reload nginx + msg_ok "Started $APP" - msg_info "Cleaning Up" - rm -rf "$BACKUP_FILE" - msg_ok "Cleanup Completed" - msg_ok "Update Successful" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - fi - exit + msg_info "Cleaning Up" + rm -rf "$BACKUP_FILE" + msg_ok "Cleanup Completed" + msg_ok "Update Successful" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi + exit } start diff --git a/ct/ubuntu.sh b/ct/ubuntu.sh index 8cdf458c..f208d7d0 100644 --- a/ct/ubuntu.sh +++ b/ct/ubuntu.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/github.func) # Copyright (c) 2021-2025 tteck # Author: tteck (tteckster) @@ -22,18 +22,18 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /var ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /var ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + msg_info "Updating ${APP} LXC" + $STD apt-get update + $STD apt-get -y upgrade + msg_ok "Updated ${APP} LXC" exit - fi - msg_info "Updating ${APP} LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated ${APP} LXC" - exit } start diff --git a/ct/viseron.sh b/ct/viseron.sh index 32cb237e..206272f3 100644 --- a/ct/viseron.sh +++ b/ct/viseron.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) APP="Viseron" var_tags="${var_tags:-nvr}" diff --git a/ct/wallabag.sh b/ct/wallabag.sh index aded3f3e..9325189a 100644 --- a/ct/wallabag.sh +++ b/ct/wallabag.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -s https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) +source <(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVED/raw/branch/main/misc/build.func) # Copyright (c) 2021-2025 community-scripts ORG # Author: MickLesk (CanbiZ) # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE @@ -25,36 +25,36 @@ color catch_errors function update_script() { - header_info - check_container_storage - check_container_resources - if [[ ! -d /opt/wallabag ]]; then - msg_error "No ${APP} Installation Found!" + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/wallabag ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/wallabag/wallabag/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') + if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + msg_info "Stopping $APP" + + msg_ok "Stopped $APP" + + msg_info "Updating $APP to v${RELEASE}" + + msg_ok "Updated $APP to v${RELEASE}" + + msg_info "Starting $APP" + + msg_ok "Started $APP" + + msg_info "Cleaning Up" + rm -rf /opt/v${RELEASE}.zip + rm -rf /opt/paperless-ai_bak + msg_ok "Cleanup Completed" + msg_ok "Update Successful" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" + fi exit - fi - RELEASE=$(curl -s https://api.github.com/repos/wallabag/wallabag/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - msg_info "Stopping $APP" - - msg_ok "Stopped $APP" - - msg_info "Updating $APP to v${RELEASE}" - - msg_ok "Updated $APP to v${RELEASE}" - - msg_info "Starting $APP" - - msg_ok "Started $APP" - - msg_info "Cleaning Up" - rm -rf /opt/v${RELEASE}.zip - rm -rf /opt/paperless-ai_bak - msg_ok "Cleanup Completed" - msg_ok "Update Successful" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" - fi - exit } start build_container diff --git a/install/hortusfox-install.sh b/install/hortusfox-install.sh index ede8a720..8e2843a2 100644 --- a/install/hortusfox-install.sh +++ b/install/hortusfox-install.sh @@ -36,7 +36,7 @@ $STD mariadb -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'local } >>~/hortusfox.creds msg_ok "Set up database" -fetch_and_deploy_gh_release "hortusfox-web" "danielbrendel/hortusfox-web" +fetch_and_deploy_gh_release "hortusfox" "danielbrendel/hortusfox-web" msg_info "Configuring .env" cp /opt/hortusfox-web/.env.example /opt/hortusfox-web/.env