diff --git a/ct/apt-cacher-ng.sh b/ct/apt-cacher-ng.sh index 7640286e7e..2e704289b2 100644 --- a/ct/apt-cacher-ng.sh +++ b/ct/apt-cacher-ng.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-10}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -27,10 +27,10 @@ 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" + msg_info "Updating Apt-Cacher-NG" + $STD apt update + $STD apt -y upgrade + msg_ok "Updated Apt-Cacher-NG" msg_ok "Updated successfully!" exit } diff --git a/ct/aria2.sh b/ct/aria2.sh index 39b1e32d50..a310b4c248 100644 --- a/ct/aria2.sh +++ b/ct/aria2.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -27,10 +27,10 @@ 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" + msg_info "Updating Aria2" + $STD apt update + $STD apt -y upgrade + msg_ok "Updated Aria2" msg_ok "Updated successfully!" exit } diff --git a/ct/asterisk.sh b/ct/asterisk.sh index 89f563c7aa..8213273fb7 100644 --- a/ct/asterisk.sh +++ b/ct/asterisk.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/audiobookshelf.sh b/ct/audiobookshelf.sh index f00fd71302..f91c88859d 100644 --- a/ct/audiobookshelf.sh +++ b/ct/audiobookshelf.sh @@ -28,10 +28,10 @@ function update_script() { exit fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get upgrade -y - msg_ok "Updated $APP LXC" + msg_info "Updating AudiobookShelf" + $STD apt update + $STD apt upgrade -y + msg_ok "Updated AudiobookShelf" msg_ok "Updated successfully!" exit } diff --git a/ct/authelia.sh b/ct/authelia.sh index e06495c504..ee77973d91 100644 --- a/ct/authelia.sh +++ b/ct/authelia.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -33,9 +33,7 @@ function update_script() { if check_for_gh_release "authelia" "authelia/authelia"; then $STD apt update $STD apt -y upgrade - fetch_and_deploy_gh_release "authelia" "authelia/authelia" "binary" - msg_ok "Updated successfully!" fi exit diff --git a/ct/autobrr.sh b/ct/autobrr.sh index 6f2f1933cf..b23f2a5a42 100644 --- a/ct/autobrr.sh +++ b/ct/autobrr.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/autocaliweb.sh b/ct/autocaliweb.sh index 423ffd1716..59502842ce 100644 --- a/ct/autocaliweb.sh +++ b/ct/autocaliweb.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-6}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -30,7 +30,7 @@ function update_script() { setup_uv - RELEASE=$(curl -fsSL https://api.github.com/repos/gelbphoenix/autocaliweb/releases/latest | jq '.tag_name' | sed 's/^"v//;s/"$//') + RELEASE=$(get_latest_github_release "gelbphoenix/autocaliweb") if check_for_gh_release "autocaliweb" "gelbphoenix/autocaliweb"; then msg_info "Stopping Services" systemctl stop autocaliweb metadata-change-detector acw-ingest-service acw-auto-zipper @@ -40,6 +40,7 @@ function update_script() { export VIRTUAL_ENV="${INSTALL_DIR}/venv" $STD tar -cf ~/autocaliweb_bkp.tar "$INSTALL_DIR"/{metadata_change_logs,dirs.json,.env,scripts/ingest_watcher.sh,scripts/auto_zipper_wrapper.sh,scripts/metadata_change_detector_wrapper.sh} fetch_and_deploy_gh_release "autocaliweb" "gelbphoenix/autocaliweb" "tarball" "latest" "/opt/autocaliweb" + msg_info "Updating Autocaliweb" cd "$INSTALL_DIR" if [[ ! -d "$VIRTUAL_ENV" ]]; then diff --git a/ct/bar-assistant.sh b/ct/bar-assistant.sh index df3efb850d..fbb41f2f58 100644 --- a/ct/bar-assistant.sh +++ b/ct/bar-assistant.sh @@ -13,7 +13,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/beszel.sh b/ct/beszel.sh index 877371880e..97afe2ac03 100644 --- a/ct/beszel.sh +++ b/ct/beszel.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-5}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/bitmagnet.sh b/ct/bitmagnet.sh index 72038cc034..55d0d90ef4 100644 --- a/ct/bitmagnet.sh +++ b/ct/bitmagnet.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/blocky.sh b/ct/blocky.sh index afcd006892..2000d5b1fc 100644 --- a/ct/blocky.sh +++ b/ct/blocky.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -35,12 +35,8 @@ function update_script() { msg_info "Backup Config" mv /opt/blocky/config.yml /opt/config.yml msg_ok "Backed Up Config" - - msg_info "Removing Old Version" - rm -rf /opt/blocky - msg_ok "Removed Old Version" - - fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_x86_64.tar.gz" + + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_x86_64.tar.gz" msg_info "Restore Config" mv /opt/config.yml /opt/blocky/config.yml @@ -61,4 +57,4 @@ description msg_ok "Completed successfully!\n" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}" -echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/ct/bunkerweb.sh b/ct/bunkerweb.sh index 4631c0db64..4f4b7d6ace 100644 --- a/ct/bunkerweb.sh +++ b/ct/bunkerweb.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-8192}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -27,23 +27,20 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then - msg_info "Updating ${APP} to ${RELEASE}" + if check_for_gh_release "bunkerweb" "bunkerity/bunkerweb"; then + msg_info "Updating BunkerWeb" + RELEASE=$(get_latest_github_release "bunkerweb" "bunkerity/bunkerweb") cat </etc/apt/preferences.d/bunkerweb Package: bunkerweb Pin: version ${RELEASE} Pin-Priority: 1001 EOF - apt-get update - apt-mark unhold bunkerweb nginx - apt-get install -y --allow-downgrades bunkerweb=${RELEASE} - echo "${RELEASE}" >/opt/${APP}_version.txt - msg_ok "Updated ${APP} to ${RELEASE}" + $STD apt update + $STD apt-mark unhold bunkerweb nginx + $STD apt install -y --allow-downgrades bunkerweb="${RELEASE}" + msg_ok "Updated BunkerWeb" msg_ok "Updated successfully!" - else - msg_ok "No update required. ${APP} is already at ${RELEASE}" fi exit } diff --git a/ct/bytestash.sh b/ct/bytestash.sh index c606e61d03..9aad7faf91 100644 --- a/ct/bytestash.sh +++ b/ct/bytestash.sh @@ -11,7 +11,7 @@ var_disk="${var_disk:-4}" var_cpu="${var_cpu:-1}" var_ram="${var_ram:-1024}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -32,23 +32,20 @@ function update_script() { read -rp "${TAB3}Did you make a backup via application WebUI? (y/n): " backuped if [[ "$backuped" =~ ^[Yy]$ ]]; then msg_info "Stopping Services" - systemctl stop bytestash-backend - systemctl stop bytestash-frontend + systemctl stop bytestash-backend bytestash-frontend msg_ok "Services Stopped" - rm -rf /opt/bytestash - fetch_and_deploy_gh_release "bytestash" "jordan-dalby/ByteStash" "tarball" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bytestash" "jordan-dalby/ByteStash" "tarball" msg_info "Configuring ByteStash" cd /opt/bytestash/server $STD npm install cd /opt/bytestash/client $STD npm install - msg_ok "Updated ${APP}" + msg_ok "Updated ByteStash" msg_info "Starting Services" - systemctl start bytestash-backend - systemctl start bytestash-frontend + systemctl start bytestash-backend bytestash-frontend msg_ok "Started Services" else msg_error "PLEASE MAKE A BACKUP FIRST!" diff --git a/ct/channels.sh b/ct/channels.sh index f98d9b3db7..fab2256bd2 100644 --- a/ct/channels.sh +++ b/ct/channels.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-0}" var_gpu="${var_gpu:-yes}" diff --git a/ct/cleanuparr.sh b/ct/cleanuparr.sh index 14a41f1749..74edf54f32 100755 --- a/ct/cleanuparr.sh +++ b/ct/cleanuparr.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -32,7 +32,7 @@ function update_script() { systemctl stop cleanuparr msg_ok "Stopped Service" - fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-amd64.zip" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-amd64.zip" msg_info "Starting Service" systemctl start cleanuparr diff --git a/ct/cloudreve.sh b/ct/cloudreve.sh index dbec9bbb64..119e9a4531 100644 --- a/ct/cloudreve.sh +++ b/ct/cloudreve.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-10}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/commafeed.sh b/ct/commafeed.sh index cebfe53e9f..f9f5fb970f 100644 --- a/ct/commafeed.sh +++ b/ct/commafeed.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -28,9 +28,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - JAVA_VERSION="25" setup_java - if check_for_gh_release "commafeed" "Athou/commafeed"; then msg_info "Stopping Service" systemctl stop commafeed @@ -38,8 +36,8 @@ function update_script() { if ! [[ $(dpkg -s rsync 2>/dev/null) ]]; then msg_info "Installing Dependencies" - $STD apt-get update - $STD apt-get install -y rsync + $STD apt update + $STD apt install -y rsync msg_ok "Installed Dependencies" fi @@ -49,7 +47,7 @@ function update_script() { msg_ok "Backed up existing data" fi - fetch_and_deploy_gh_release "commafeed" "Athou/commafeed" "prebuild" "latest" "/opt/commafeed" "commafeed-*-h2-jvm.zip" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "commafeed" "Athou/commafeed" "prebuild" "latest" "/opt/commafeed" "commafeed-*-h2-jvm.zip" if [ -d /opt/data.bak ] && [ "$(ls -A /opt/data.bak)" ]; then msg_info "Restoring data" diff --git a/ct/cronicle.sh b/ct/cronicle.sh index 1e846027bc..0fe86eb449 100644 --- a/ct/cronicle.sh +++ b/ct/cronicle.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -35,20 +35,19 @@ function update_script() { fi NODE_VERSION="22" setup_nodejs - msg_info "Updating ${APP}" + msg_info "Updating Cronicle" $STD /opt/cronicle/bin/control.sh upgrade - msg_ok "Updated ${APP}" + msg_ok "Updated Cronicle" exit fi if [ "$UPD" == "2" ]; then NODE_VERSION="22" setup_nodejs if check_for_gh_release "cronicle" "jhuckaby/Cronicle"; then msg_info "Installing Dependencies" - $STD apt-get install -y \ + $STD apt install -y \ git \ build-essential \ - ca-certificates \ - gnupg2 + ca-certificates msg_ok "Installed Dependencies" NODE_VERSION="22" setup_nodejs diff --git a/ct/cross-seed.sh b/ct/cross-seed.sh index c44625783c..c08e126880 100644 --- a/ct/cross-seed.sh +++ b/ct/cross-seed.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -28,15 +28,15 @@ function update_script() { current_version=$(cross-seed --version) latest_version=$(npm show cross-seed version) if [ "$current_version" != "$latest_version" ]; then - msg_info "Updating ${APP} from version v${current_version} to v${latest_version}" + msg_info "Updating cross-seed from version v${current_version} to v${latest_version}" $STD npm install -g cross-seed@latest systemctl restart cross-seed msg_ok "Updated successfully!" else - msg_ok "${APP} is already at v${current_version}" + msg_ok "cross-seed is already at v${current_version}" fi else - msg_error "No ${APP} Installation Found!" + msg_error "No cross-seed Installation Found!" exit fi exit diff --git a/ct/cryptpad.sh b/ct/cryptpad.sh index 60ef966627..b97b300aca 100644 --- a/ct/cryptpad.sh +++ b/ct/cryptpad.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -37,7 +37,7 @@ function update_script() { [ -f /opt/cryptpad/config/config.js ] && mv /opt/cryptpad/config/config.js /opt/ msg_ok "Backed up configuration" - fetch_and_deploy_gh_release "cryptpad" "cryptpad/cryptpad" "tarball" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "cryptpad" "cryptpad/cryptpad" "tarball" msg_info "Updating CryptaPad" cd /opt/cryptpad diff --git a/ct/daemonsync.sh b/ct/daemonsync.sh index e2db9402a5..23344e2108 100644 --- a/ct/daemonsync.sh +++ b/ct/daemonsync.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -27,10 +27,10 @@ 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" + msg_info "Updating LXC" + $STD apt update + $STD apt -y upgrade + msg_ok "Updated LXC" msg_ok "Updated successfully!" exit } diff --git a/ct/deluge.sh b/ct/deluge.sh index e21ad6536f..74eaa39f55 100644 --- a/ct/deluge.sh +++ b/ct/deluge.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -27,10 +27,10 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - msg_info "Updating $APP LXC" - $STD apt-get update - pip3 install deluge[all] --upgrade - msg_ok "Updated $APP LXC" + msg_info "Updating Deluge" + $STD apt update + $STD pip3 install deluge[all] --upgrade + msg_ok "Updated Deluge" msg_ok "Updated successfully!" exit } diff --git a/ct/elementsynapse.sh b/ct/elementsynapse.sh index 105f6f4970..554f896eac 100644 --- a/ct/elementsynapse.sh +++ b/ct/elementsynapse.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -27,53 +27,33 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - if [[ ! -f /opt/"${APP}"_version.txt ]]; then - touch /opt/"${APP}"_version.txt - fi - if ! dpkg -l | grep -q '^ii.*gpg'; then - $STD apt-get update - $STD apt-get install -y gpg - fi - if [[ ! -x /usr/bin/node ]]; then - mkdir -p /etc/apt/keyrings - curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg - echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list - $STD apt-get update - $STD apt-get install -y nodejs - $STD npm install -g yarn - fi - msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade - msg_ok "Updated $APP LXC" + + NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs - if [[ -f /etc/systemd/system/synapse-admin.service ]]; then - msg_info "Updating Synapse-Admin" - RELEASE=$(curl -fsSL https://api.github.com/repos/etkecc/synapse-admin/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 - temp_file=$(mktemp) + msg_info "Updating LXC" + $STD apt update + $STD apt -y upgrade + msg_ok "Updated LXC" + + if check_for_gh_release "synapse-admin" "etkecc/synapse-admin"; then + msg_info "Stopping Service" systemctl stop synapse-admin - rm -rf /opt/synapse-admin - mkdir -p /opt/synapse-admin - curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" - tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1 + msg_ok "Stopped Service" + + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "synapse-admin" "etkecc/synapse-admin" "tarball" "latest" "/opt/synapse-admin" + + msg_info "Building Synapse-Admin" cd /opt/synapse-admin $STD yarn global add serve $STD yarn install --ignore-engines $STD yarn build - mv ./dist ../ && - rm -rf * && - mv ../dist ./ - if [[ -z $(grep "ExecStart=/usr/local/bin/serve" /etc/systemd/system/synapse-admin.service) ]]; then - sed -i 's|^ExecStart=.*|ExecStart=/usr/local/bin/serve -s dist -l 5173|' /etc/systemd/system/synapse-admin.service - systemctl reenable synapse-admin - fi + mv ./dist ../ && rm -rf * && mv ../dist ./ + msg_ok "Built Synapse-Admin" + + msg_info "Starting Service" systemctl start synapse-admin - echo "${RELEASE}" >/opt/"${APP}"_version.txt - rm -f "$temp_file" - msg_ok "Updated successfully!" - else - msg_ok "No update required. ${APP} is already at v${RELEASE}" + msg_ok "Started Service" + msg_ok "Updated Synapse-Admin to ${CHECK_UPDATE_RELEASE}" fi fi exit diff --git a/ct/emqx.sh b/ct/emqx.sh index f6dcca56b6..26fd4bb62c 100644 --- a/ct/emqx.sh +++ b/ct/emqx.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -32,9 +32,9 @@ function update_script() { msg_info "Removing old EMQX" if dpkg -l | grep -q "^ii\s\+emqx\s"; then - $STD apt-get remove --purge -y emqx + $STD apt remove --purge -y emqx elif dpkg -l | grep -q "^ii\s\+emqx-enterprise\s"; then - $STD apt-get remove --purge -y emqx-enterprise + $STD apt remove --purge -y emqx-enterprise else msg_ok "No old EMQX package found" fi @@ -46,7 +46,7 @@ function update_script() { msg_ok "Downloaded EMQX" msg_info "Installing EMQX" - $STD apt-get install -y "$DEB_FILE" + $STD apt install -y "$DEB_FILE" rm -f "$DEB_FILE" echo "$RELEASE" >~/.emqx msg_ok "Installed EMQX v${RELEASE}" diff --git a/ct/excalidraw.sh b/ct/excalidraw.sh index 857fef1577..afba7649a7 100644 --- a/ct/excalidraw.sh +++ b/ct/excalidraw.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-3072}" var_disk="${var_disk:-10}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -33,8 +33,7 @@ function update_script() { systemctl stop excalidraw msg_info "Stopped Service" - rm -rf /opt/excalidraw - fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw" "tarball" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw" "tarball" msg_info "Updating Excalidraw" cd /opt/excalidraw diff --git a/ct/fileflows.sh b/ct/fileflows.sh index e8b4593271..863901316f 100644 --- a/ct/fileflows.sh +++ b/ct/fileflows.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" var_gpu="${var_gpu:-yes}" @@ -29,11 +29,7 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - if ! [[ $(dpkg -s jq 2>/dev/null) ]]; then - $STD apt-get update - $STD apt-get install -y jq - fi - + update_available=$(curl -fsSL -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable) if [[ "${update_available}" == "true" ]]; then msg_info "Stopping Service" diff --git a/ct/flowiseai.sh b/ct/flowiseai.sh index a8894b0a88..fa13732827 100644 --- a/ct/flowiseai.sh +++ b/ct/flowiseai.sh @@ -11,7 +11,7 @@ var_disk="${var_disk:-10}" var_cpu="${var_cpu:-4}" var_ram="${var_ram:-4096}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -27,11 +27,11 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - msg_info "Updating ${APP}" + msg_info "Updating FlowiseAI (this may take some time)" systemctl stop flowise - npm install -g flowise --upgrade + $STD npm install -g flowise --upgrade systemctl start flowise - msg_ok "Updated ${APP}" + msg_ok "Updated FlowiseAI" msg_ok "Updated successfully!" exit } diff --git a/ct/fluid-calendar.sh b/ct/fluid-calendar.sh index f8d688d652..65d05f31da 100644 --- a/ct/fluid-calendar.sh +++ b/ct/fluid-calendar.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-3}" var_ram="${var_ram:-4096}" var_disk="${var_disk:-7}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/fumadocs.sh b/ct/fumadocs.sh index 69fd5505dc..7697486c3f 100644 --- a/ct/fumadocs.sh +++ b/ct/fumadocs.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-5}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -44,7 +44,7 @@ function update_script() { exit fi if ! command -v git &>/dev/null; then - $STD apt-get install -y git + $STD apt install -y git fi msg_info "Stopping service $SERVICE_NAME" diff --git a/ct/gatus.sh b/ct/gatus.sh index 889431e19d..5670dd3ead 100644 --- a/ct/gatus.sh +++ b/ct/gatus.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -33,14 +33,8 @@ function update_script() { systemctl stop gatus msg_ok "Stopped Service" - if [[ :$PATH: != *":/usr/local/bin:"* ]]; then - echo 'export PATH="/usr/local/bin:$PATH"' >>~/.bashrc - source ~/.bashrc - fi - mv /opt/gatus/config/config.yaml /opt - rm -rf /opt/gatus - fetch_and_deploy_gh_release "gatus" "TwiN/gatus" "tarball" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gatus" "TwiN/gatus" "tarball" msg_info "Updating Gatus" cd /opt/gatus diff --git a/ct/ghost.sh b/ct/ghost.sh index f6ba3ec987..c9341637b6 100644 --- a/ct/ghost.sh +++ b/ct/ghost.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-5}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -23,8 +23,8 @@ function update_script() { header_info check_container_storage check_container_resources - setup_mariadb + setup_mariadb NODE_VERSION="22" setup_nodejs msg_info "Updating Ghost" diff --git a/ct/gitea-mirror.sh b/ct/gitea-mirror.sh index df464f06b5..65a84f4799 100644 --- a/ct/gitea-mirror.sh +++ b/ct/gitea-mirror.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-6}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -95,8 +95,7 @@ EOF ln -sf /opt/bun/bin/bun /usr/local/bin/bunx msg_ok "Installed Bun" - rm -rf /opt/gitea-mirror - fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror" "tarball" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror" "tarball" msg_info "Updating and rebuilding ${APP}" cd /opt/gitea-mirror diff --git a/ct/gitea.sh b/ct/gitea.sh index 4a88fb6c7b..93c6e37219 100644 --- a/ct/gitea.sh +++ b/ct/gitea.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-8}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/glance.sh b/ct/glance.sh index 06b7488a41..d12c9eb510 100644 --- a/ct/glance.sh +++ b/ct/glance.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -33,8 +33,7 @@ function update_script() { systemctl stop glance msg_ok "Stopped Service" - rm -f /opt/glance/glance - fetch_and_deploy_gh_release "glance" "glanceapp/glance" "prebuild" "latest" "/opt/glance" "glance-linux-amd64.tar.gz" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "glance" "glanceapp/glance" "prebuild" "latest" "/opt/glance" "glance-linux-amd64.tar.gz" msg_info "Starting Service" systemctl start glance diff --git a/ct/go2rtc.sh b/ct/go2rtc.sh index fb9207c8d6..ded51f4284 100644 --- a/ct/go2rtc.sh +++ b/ct/go2rtc.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" var_gpu="${var_gpu:-yes}" diff --git a/ct/gokapi.sh b/ct/gokapi.sh index 18521e1709..a5d515693c 100644 --- a/ct/gokapi.sh +++ b/ct/gokapi.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/gotify.sh b/ct/gotify.sh index e2c7b807bc..cb5e2174e3 100644 --- a/ct/gotify.sh +++ b/ct/gotify.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/grist.sh b/ct/grist.sh index d33168b895..a18cf78c67 100644 --- a/ct/grist.sh +++ b/ct/grist.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-3072}" var_disk="${var_disk:-6}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -41,7 +41,7 @@ function update_script() { fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball" - msg_info "Updating ${APP}" + msg_info "Updating Grist" mkdir -p /opt/grist/docs cp -n /opt/grist_bak/.env /opt/grist/.env cp -r /opt/grist_bak/docs/* /opt/grist/docs/ @@ -51,7 +51,7 @@ function update_script() { $STD yarn install $STD yarn run build:prod $STD yarn run install:python - msg_ok "Updated ${APP}" + msg_ok "Updated Grist" msg_info "Starting Service" systemctl start grist diff --git a/ct/grocy.sh b/ct/grocy.sh index 61eff44492..a2c279f2e2 100644 --- a/ct/grocy.sh +++ b/ct/grocy.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}" var_ram="${var_ram:-512}" var_disk="${var_disk:-2}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" @@ -32,7 +32,7 @@ function update_script() { PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php fi if check_for_gh_release "grocy" "grocy/grocy"; then - msg_info "Updating ${APP}" + msg_info "Updating grocy" bash /var/www/html/update.sh msg_ok "Updated successfully!" fi diff --git a/ct/huntarr.sh b/ct/huntarr.sh index e24d4ab2d7..a141513787 100644 --- a/ct/huntarr.sh +++ b/ct/huntarr.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-1024}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-1}" header_info "$APP" diff --git a/ct/hyperhdr.sh b/ct/hyperhdr.sh index 3cd17231bb..50bc3f8562 100644 --- a/ct/hyperhdr.sh +++ b/ct/hyperhdr.sh @@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}" var_ram="${var_ram:-2048}" var_disk="${var_disk:-4}" var_os="${var_os:-debian}" -var_version="${var_version:-12}" +var_version="${var_version:-13}" var_unprivileged="${var_unprivileged:-0}" var_gpu="${var_gpu:-yes}" diff --git a/frontend/public/json/apt-cacher-ng.json b/frontend/public/json/apt-cacher-ng.json index 4971de84b2..76b4a8f144 100644 --- a/frontend/public/json/apt-cacher-ng.json +++ b/frontend/public/json/apt-cacher-ng.json @@ -23,7 +23,7 @@ "ram": 512, "hdd": 10, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/aria2.json b/frontend/public/json/aria2.json index 7fc6313413..74850e4683 100644 --- a/frontend/public/json/aria2.json +++ b/frontend/public/json/aria2.json @@ -23,7 +23,7 @@ "ram": 1024, "hdd": 8, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/asterisk.json b/frontend/public/json/asterisk.json index 14f6007e5d..826379d017 100644 --- a/frontend/public/json/asterisk.json +++ b/frontend/public/json/asterisk.json @@ -23,7 +23,7 @@ "ram": 2048, "hdd": 4, "os": "Debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/authelia.json b/frontend/public/json/authelia.json index 67748d8261..a6b92e1dcc 100644 --- a/frontend/public/json/authelia.json +++ b/frontend/public/json/authelia.json @@ -23,7 +23,7 @@ "ram": 512, "hdd": 2, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/autobrr.json b/frontend/public/json/autobrr.json index 3709a342c9..948184e1f0 100644 --- a/frontend/public/json/autobrr.json +++ b/frontend/public/json/autobrr.json @@ -23,7 +23,7 @@ "ram": 2048, "hdd": 8, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/autocaliweb.json b/frontend/public/json/autocaliweb.json index 9020464ed8..3293642de1 100644 --- a/frontend/public/json/autocaliweb.json +++ b/frontend/public/json/autocaliweb.json @@ -23,7 +23,7 @@ "ram": 2048, "hdd": 6, "os": "Debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/bar-assistant.json b/frontend/public/json/bar-assistant.json index 6f716ec98e..78b7018fde 100644 --- a/frontend/public/json/bar-assistant.json +++ b/frontend/public/json/bar-assistant.json @@ -23,7 +23,7 @@ "ram": 2048, "hdd": 4, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/beszel.json b/frontend/public/json/beszel.json index 6fe5341224..1e7dd9c011 100644 --- a/frontend/public/json/beszel.json +++ b/frontend/public/json/beszel.json @@ -23,7 +23,7 @@ "ram": 512, "hdd": 5, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/bitmagnet.json b/frontend/public/json/bitmagnet.json index 961b59e9fc..c50577637e 100644 --- a/frontend/public/json/bitmagnet.json +++ b/frontend/public/json/bitmagnet.json @@ -23,7 +23,7 @@ "ram": 1024, "hdd": 4, "os": "debian", - "version": "12" + "version": "13" } }, { diff --git a/frontend/public/json/blocky.json b/frontend/public/json/blocky.json index c15dafd54a..8a5deb4926 100644 --- a/frontend/public/json/blocky.json +++ b/frontend/public/json/blocky.json @@ -23,7 +23,7 @@ "ram": 512, "hdd": 2, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/bunkerweb.json b/frontend/public/json/bunkerweb.json index 1c12f649ad..101b282bed 100644 --- a/frontend/public/json/bunkerweb.json +++ b/frontend/public/json/bunkerweb.json @@ -23,7 +23,7 @@ "ram": 8192, "hdd": 4, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/bytestash.json b/frontend/public/json/bytestash.json index a156917c6c..2ac9bebfb5 100644 --- a/frontend/public/json/bytestash.json +++ b/frontend/public/json/bytestash.json @@ -23,7 +23,7 @@ "ram": 1024, "hdd": 4, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/channels.json b/frontend/public/json/channels.json index a7e5010fcf..eadbd24857 100644 --- a/frontend/public/json/channels.json +++ b/frontend/public/json/channels.json @@ -23,7 +23,7 @@ "ram": 1024, "hdd": 8, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/cleanuparr.json b/frontend/public/json/cleanuparr.json index b0d242b7e2..15ac368ba7 100644 --- a/frontend/public/json/cleanuparr.json +++ b/frontend/public/json/cleanuparr.json @@ -23,7 +23,7 @@ "ram": 1024, "hdd": 4, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/cloudreve.json b/frontend/public/json/cloudreve.json index 5037dab6b7..031b980dd2 100644 --- a/frontend/public/json/cloudreve.json +++ b/frontend/public/json/cloudreve.json @@ -23,7 +23,7 @@ "ram": 1024, "hdd": 10, "os": "Debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/commafeed.json b/frontend/public/json/commafeed.json index 7fd3536c4a..efc71ac63b 100644 --- a/frontend/public/json/commafeed.json +++ b/frontend/public/json/commafeed.json @@ -23,7 +23,7 @@ "ram": 2048, "hdd": 4, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/cronicle.json b/frontend/public/json/cronicle.json index 412a9c6d3e..80df801198 100644 --- a/frontend/public/json/cronicle.json +++ b/frontend/public/json/cronicle.json @@ -23,7 +23,7 @@ "ram": 512, "hdd": 2, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/cross-seed.json b/frontend/public/json/cross-seed.json index a8e7860901..4ef7e37bdd 100644 --- a/frontend/public/json/cross-seed.json +++ b/frontend/public/json/cross-seed.json @@ -23,7 +23,7 @@ "ram": 1024, "hdd": 2, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/cryptpad.json b/frontend/public/json/cryptpad.json index 64c171bf6a..ea19b74c4d 100644 --- a/frontend/public/json/cryptpad.json +++ b/frontend/public/json/cryptpad.json @@ -23,7 +23,7 @@ "ram": 1024, "hdd": 8, "os": "Debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/daemonsync.json b/frontend/public/json/daemonsync.json index 6830b8c9b5..188a40f1d0 100644 --- a/frontend/public/json/daemonsync.json +++ b/frontend/public/json/daemonsync.json @@ -23,7 +23,7 @@ "ram": 512, "hdd": 8, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/deluge.json b/frontend/public/json/deluge.json index 51cb7a7d3d..c8887c87fc 100644 --- a/frontend/public/json/deluge.json +++ b/frontend/public/json/deluge.json @@ -23,7 +23,7 @@ "ram": 2048, "hdd": 4, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/elementsynapse.json b/frontend/public/json/elementsynapse.json index 3f1b29b1eb..e1a304be81 100644 --- a/frontend/public/json/elementsynapse.json +++ b/frontend/public/json/elementsynapse.json @@ -23,7 +23,7 @@ "ram": 2048, "hdd": 8, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/emqx.json b/frontend/public/json/emqx.json index 4c6538116b..ec71c53534 100644 --- a/frontend/public/json/emqx.json +++ b/frontend/public/json/emqx.json @@ -23,7 +23,7 @@ "ram": 1024, "hdd": 4, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/excalidraw.json b/frontend/public/json/excalidraw.json index 5e0a1f298b..6620a5bc2e 100644 --- a/frontend/public/json/excalidraw.json +++ b/frontend/public/json/excalidraw.json @@ -23,7 +23,7 @@ "ram": 3072, "hdd": 10, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/fileflows.json b/frontend/public/json/fileflows.json index 6eb78950b4..e618de8b92 100644 --- a/frontend/public/json/fileflows.json +++ b/frontend/public/json/fileflows.json @@ -23,7 +23,7 @@ "ram": 2048, "hdd": 8, "os": "Debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/flowiseai.json b/frontend/public/json/flowiseai.json index 66cf41f299..1fd45e03d6 100644 --- a/frontend/public/json/flowiseai.json +++ b/frontend/public/json/flowiseai.json @@ -23,7 +23,7 @@ "ram": 4096, "hdd": 10, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/fluid-calendar.json b/frontend/public/json/fluid-calendar.json index 206e271154..9c9a1010e5 100644 --- a/frontend/public/json/fluid-calendar.json +++ b/frontend/public/json/fluid-calendar.json @@ -24,7 +24,7 @@ "ram": 4096, "hdd": 7, "os": "Debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/fumadocs.json b/frontend/public/json/fumadocs.json index 473c90638e..0974cce331 100644 --- a/frontend/public/json/fumadocs.json +++ b/frontend/public/json/fumadocs.json @@ -23,7 +23,7 @@ "ram": 2048, "hdd": 5, "os": "Debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/gatus.json b/frontend/public/json/gatus.json index 930aacb7ff..a436dfe40c 100644 --- a/frontend/public/json/gatus.json +++ b/frontend/public/json/gatus.json @@ -23,7 +23,7 @@ "ram": 512, "hdd": 4, "os": "debian", - "version": "12" + "version": "13" } }, { diff --git a/frontend/public/json/ghost.json b/frontend/public/json/ghost.json index 3e8f382810..494d87391c 100644 --- a/frontend/public/json/ghost.json +++ b/frontend/public/json/ghost.json @@ -23,7 +23,7 @@ "ram": 1024, "hdd": 5, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/gitea-mirror.json b/frontend/public/json/gitea-mirror.json index 5d3bebfea3..5dafe2764f 100644 --- a/frontend/public/json/gitea-mirror.json +++ b/frontend/public/json/gitea-mirror.json @@ -23,7 +23,7 @@ "ram": 2048, "hdd": 6, "os": "Debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/gitea.json b/frontend/public/json/gitea.json index 196a733127..341af27dfd 100644 --- a/frontend/public/json/gitea.json +++ b/frontend/public/json/gitea.json @@ -23,7 +23,7 @@ "ram": 1024, "hdd": 8, "os": "debian", - "version": "12" + "version": "13" } }, { diff --git a/frontend/public/json/glance.json b/frontend/public/json/glance.json index e52c6c30b7..a2d3431bb1 100644 --- a/frontend/public/json/glance.json +++ b/frontend/public/json/glance.json @@ -23,7 +23,7 @@ "ram": 512, "hdd": 2, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/go2rtc.json b/frontend/public/json/go2rtc.json index fa0f156881..0f82984d74 100644 --- a/frontend/public/json/go2rtc.json +++ b/frontend/public/json/go2rtc.json @@ -23,7 +23,7 @@ "ram": 2048, "hdd": 4, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/gokapi.json b/frontend/public/json/gokapi.json index fba0b2ecb0..88ba7e6b96 100644 --- a/frontend/public/json/gokapi.json +++ b/frontend/public/json/gokapi.json @@ -23,7 +23,7 @@ "ram": 512, "hdd": 4, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/gotify.json b/frontend/public/json/gotify.json index b311aca922..c4e29b9889 100644 --- a/frontend/public/json/gotify.json +++ b/frontend/public/json/gotify.json @@ -23,7 +23,7 @@ "ram": 512, "hdd": 2, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/grist.json b/frontend/public/json/grist.json index 38f3d27193..88b35d9be0 100644 --- a/frontend/public/json/grist.json +++ b/frontend/public/json/grist.json @@ -23,7 +23,7 @@ "ram": 3072, "hdd": 6, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/grocy.json b/frontend/public/json/grocy.json index 0165ade4d2..a05db59f2b 100644 --- a/frontend/public/json/grocy.json +++ b/frontend/public/json/grocy.json @@ -23,7 +23,7 @@ "ram": 512, "hdd": 2, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/frontend/public/json/huntarr.json b/frontend/public/json/huntarr.json index b641846fff..d78e144efe 100644 --- a/frontend/public/json/huntarr.json +++ b/frontend/public/json/huntarr.json @@ -14,8 +14,7 @@ "website": "https://github.com/plexguide/Huntarr.io", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/huntarr.webp", "description": "Huntarr is a tool that automates the search for missing or low-quality media content in your collection. It works seamlessly with applications like Sonarr, Radarr, Lidarr, Readarr, and Whisparr, enhancing their functionality with continuous background scans to identify and update missed or outdated content. Through a user-friendly web interface accessible on port 9705, Huntarr provides real-time statistics, log views, and extensive configuration options. The software is especially useful for users who want to keep their media library up to date by automatically searching for missing episodes or higher-quality versions. Huntarr is well-suited for self-hosted environments and can easily run in LXC containers or Docker setups.", - "disable": true, - "disable_description": "This script has been temporarily disabled due to ongoing installation failures caused by incompatible Python and build dependencies. PyYAML 6.0 fails to build on Debian 13 and under Python 3.12/3.13, making Huntarr currently non-installable in a reliable way. This issue originates upstream and is under investigation. The script will be re-enabled once a stable solution is available. For details, see: https://github.com/community-scripts/ProxmoxVE/issues/9196 or https://github.com/plexguide/Huntarr.io/issues/747", + "disable": false, "install_methods": [ { "type": "default", @@ -25,7 +24,7 @@ "ram": 1024, "hdd": 4, "os": "debian", - "version": "12" + "version": "13" } } ], diff --git a/install/apt-cacher-ng-install.sh b/install/apt-cacher-ng-install.sh index 0a29526f65..033e330d28 100644 --- a/install/apt-cacher-ng-install.sh +++ b/install/apt-cacher-ng-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Apt-Cacher NG" -DEBIAN_FRONTEND=noninteractive $STD apt-get -o Dpkg::Options::="--force-confold" install -y apt-cacher-ng +DEBIAN_FRONTEND=noninteractive $STD apt -o Dpkg::Options::="--force-confold" install -y apt-cacher-ng sed -i 's/# PassThroughPattern: .* # this would allow CONNECT to everything/PassThroughPattern: .*/' /etc/apt-cacher-ng/acng.conf cat </etc/apt/apt.conf.d/00aptproxy.conf Acquire::http::Proxy "http://localhost:3142"; diff --git a/install/aria2-install.sh b/install/aria2-install.sh index f70485e8eb..a4fb2508aa 100644 --- a/install/aria2-install.sh +++ b/install/aria2-install.sh @@ -14,18 +14,20 @@ network_check update_os msg_info "Installing Aria2" -$STD apt-get install -y aria2 +$STD apt install -y aria2 msg_ok "Installed Aria2" read -r -p "${TAB3}Would you like to add AriaNG? " prompt if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then - msg_info "Installing AriaNG" - $STD apt-get install -y nginx + msg_info "Installing Dependencies" + $STD apt install -y nginx systemctl disable -q --now nginx - curl -fsSL "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)" -o $(basename "$(curl -fsSL https://api.github.com/repos/mayswind/ariang/releases/latest | grep download | grep AllInOne.zip | cut -d\" -f4)") - $STD unzip AriaNg-*-AllInOne.zip -d /var/www - rm AriaNg-*-AllInOne.zip rm /etc/nginx/sites-enabled/* + msg_ok "Installed Dependencies" + + fetch_and_deploy_gh_release "ariang" "mayswind/ariang" "prebuild" "latest" "/var/www" "AriaNg-*-AllInOne.zip" + + msg_info "Configure nginx" cat </etc/nginx/conf.d/ariang.conf server { listen 6880 default_server; @@ -42,11 +44,12 @@ server { } EOF cp /lib/systemd/system/nginx.service /lib/systemd/system/ariang.service - msg_ok "Installed AriaNG" + systemctl enable -q --now ariang + msg_ok "Configured nginx" fi msg_info "Creating Service" -mkdir /root/downloads +mkdir -p /root/downloads rpc_secret=$(openssl rand -base64 8) echo "rpc-secret: $rpc_secret" >>~/rpc.secret cat </root/aria2.daemon @@ -80,7 +83,6 @@ Restart=on-failure WantedBy=multi-user.target EOF systemctl enable -q --now aria2 -systemctl enable -q --now ariang msg_ok "Created Service" motd_ssh diff --git a/install/audiobookshelf-install.sh b/install/audiobookshelf-install.sh index 46ccd20008..815d49f8a4 100644 --- a/install/audiobookshelf-install.sh +++ b/install/audiobookshelf-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y ffmpeg +$STD apt install -y ffmpeg msg_ok "Installed Dependencies" setup_deb822_repo \ diff --git a/install/authelia-install.sh b/install/authelia-install.sh index 7a4636dfd7..25ce25a7ca 100644 --- a/install/authelia-install.sh +++ b/install/authelia-install.sh @@ -15,8 +15,39 @@ update_os fetch_and_deploy_gh_release "authelia" "authelia/authelia" "binary" -read -rp "${TAB3}Enter your domain (ex. example.com): " DOMAIN - +get_lxc_ip +MAX_ATTEMPTS=3 +attempt=0 +while true; do + ((attempt++)) + read -rp "${TAB3}Enter your domain or IP (ex. example.com or 192.168.1.100): " DOMAIN + if [[ -z "$DOMAIN" ]]; then + if ((attempt >= MAX_ATTEMPTS)); then + DOMAIN="${LOCAL_IP:-localhost}" + msg_warn "Using fallback: $DOMAIN" + break + fi + msg_warn "Domain cannot be empty! (Attempt $attempt/$MAX_ATTEMPTS)" + elif [[ "$DOMAIN" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; then + valid_ip=true + IFS='.' read -ra octets <<< "$DOMAIN" + for octet in "${octets[@]}"; do + if ((octet > 255)); then + valid_ip=false + break + fi + done + if $valid_ip; then + break + else + msg_warn "Invalid IP address!" + fi + elif [[ "$DOMAIN" =~ ^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*\.[a-zA-Z]{2,}$ ]]; then + break + else + msg_warn "Invalid domain format!" + fi +done msg_info "Setting Authelia up" touch /etc/authelia/emails.txt JWT_SECRET=$(openssl rand -hex 64) diff --git a/install/autocaliweb-install.sh b/install/autocaliweb-install.sh index d5727ef372..d8accf9056 100644 --- a/install/autocaliweb-install.sh +++ b/install/autocaliweb-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing dependencies" -$STD apt-get install -y --no-install-recommends \ +$STD apt install -y --no-install-recommends \ python3-dev \ sqlite3 \ build-essential \ @@ -47,16 +47,12 @@ msg_ok "Installed dependencies" fetch_and_deploy_gh_release "kepubify" "pgaskin/kepubify" "singlefile" "latest" "/usr/bin" "kepubify-linux-64bit" KEPUB_VERSION="$(/usr/bin/kepubify --version | awk '{print $2}')" +fetch_and_deploy_gh_release "calibre" "kovidgoyal/calibre" "prebuild" "latest" "/opt/calibre" "calibre-*-x86_64.txz" msg_info "Installing Calibre" -CALIBRE_RELEASE="$(curl -s https://api.github.com/repos/kovidgoyal/calibre/releases/latest | grep -o '"tag_name": "[^"]*' | cut -d'"' -f4)" -CALIBRE_VERSION=${CALIBRE_RELEASE#v} -curl -fsSL https://github.com/kovidgoyal/calibre/releases/download/${CALIBRE_RELEASE}/calibre-${CALIBRE_VERSION}-x86_64.txz -o /tmp/calibre.txz -mkdir -p /opt/calibre -$STD tar -xf /tmp/calibre.txz -C /opt/calibre -rm /tmp/calibre.txz $STD /opt/calibre/calibre_postinstall -msg_ok "Calibre installed" +CALIBRE_VERSION=$(cat ~/.calibre) +msg_ok "Installed Calibre" setup_uv diff --git a/install/bar-assistant-install.sh b/install/bar-assistant-install.sh index 9f25c98fe1..c1cbe3d87b 100644 --- a/install/bar-assistant-install.sh +++ b/install/bar-assistant-install.sh @@ -16,12 +16,11 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ +$STD apt install -y \ redis-server \ nginx \ lsb-release \ libvips -#php-{ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm} msg_ok "Installed Dependencies" PHP_VERSION="8.4" PHP_FPM=YES PHP_MODULE="ffi,opcache,redis,zip,pdo-sqlite,bcmath,pdo,curl,dom,fpm" setup_php diff --git a/install/bitmagnet-install.sh b/install/bitmagnet-install.sh index 4141b30ad0..e6e5ab36c7 100644 --- a/install/bitmagnet-install.sh +++ b/install/bitmagnet-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ +$STD apt install -y \ iproute2 \ gcc \ musl-dev @@ -23,28 +23,17 @@ msg_ok "Installed Dependencies" PG_VERSION="16" setup_postgresql setup_go fetch_and_deploy_gh_release "bitmagnet" "bitmagnet-io/bitmagnet" "tarball" -RELEASE=$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(cat ~/.bitmagnet) -msg_info "Setting up database" -POSTGRES_PASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD '$POSTGRES_PASSWORD';" -$STD sudo -u postgres psql -c "CREATE DATABASE bitmagnet;" -{ - echo "PostgreSQL Credentials" - echo "" - echo "postgres user password: $POSTGRES_PASSWORD" -} >>~/postgres.creds -msg_ok "Database set up" +PG_DB_NAME="bitmagnet" PG_DB_USER="postgres" setup_postgresql_db -msg_info "Configuring bitmagnet v${RELEASE}" +msg_info "Configuring bitmagnet" cd /opt/bitmagnet -VREL=v$RELEASE -$STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$VREL" +$STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=v${RELEASE}" chmod +x bitmagnet -msg_ok "Configured bitmagnet v${RELEASE}" +msg_ok "Configured bitmagnet" read -r -p "${TAB3}Enter your TMDB API key if you have one: " tmdbapikey - msg_info "Creating Service" cat </etc/systemd/system/bitmagnet-web.service [Unit] @@ -57,7 +46,7 @@ User=root WorkingDirectory=/opt/bitmagnet ExecStart=/opt/bitmagnet/bitmagnet worker run --all Environment=POSTGRES_HOST=localhost -Environment=POSTGRES_PASSWORD=$POSTGRES_PASSWORD +Environment=POSTGRES_PASSWORD=${PG_DB_PASS} Environment=TMDB_API_KEY=$tmdbapikey Restart=on-failure diff --git a/install/bunkerweb-install.sh b/install/bunkerweb-install.sh index 50f50c44e6..351bc8a49e 100644 --- a/install/bunkerweb-install.sh +++ b/install/bunkerweb-install.sh @@ -14,11 +14,12 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y apt-transport-https -$STD apt-get install -y lsb-release +$STD apt install -y \ + apt-transport-https \ + lsb-release msg_ok "Installed Dependencies" -RELEASE=$(curl -fsSL https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') +RELEASE=$(get_latest_github_release "bunkerity/bunkerweb") msg_warn "WARNING: This script will run an external installer from a third-party source (install-bunkerweb.sh)." msg_warn "The following code is NOT maintained or audited by our repository." msg_warn "If you have any doubts or concerns, please review the installer code before proceeding:" @@ -30,7 +31,7 @@ if [[ ! "$CONFIRM" =~ ^([yY][eE][sS]|[yY])$ ]]; then exit 10 fi msg_info "Installing BunkerWeb (Patience)" -curl -fsSL -o install-bunkerweb.sh https://github.com/bunkerity/bunkerweb/raw/v${RELEASE}/misc/install-bunkerweb.sh +curl -fsSL -o install-bunkerweb.sh "https://github.com/bunkerity/bunkerweb/raw/v${RELEASE}/misc/install-bunkerweb.sh" chmod +x install-bunkerweb.sh $STD ./install-bunkerweb.sh --yes $STD apt-mark unhold bunkerweb nginx @@ -39,8 +40,8 @@ Package: bunkerweb Pin: version ${RELEASE} Pin-Priority: 1001 EOF -echo "${RELEASE}" >/opt/${APPLICATION}_version.txt -msg_ok "Installed BunkerWeb v${RELEASE}" +echo "${RELEASE}" >~/.bunkerweb +msg_ok "Installed BunkerWeb" motd_ssh customize diff --git a/install/channels-install.sh b/install/channels-install.sh index 3679139c34..ce79ccee84 100644 --- a/install/channels-install.sh +++ b/install/channels-install.sh @@ -14,8 +14,9 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y chromium -$STD apt-get install -y xvfb +$STD apt install -y \ + chromium \ + xvfb msg_ok "Installed Dependencies" msg_warn "WARNING: This script will run an external installer from a third-party source (https://getchannels.com)." diff --git a/install/cloudreve-install.sh b/install/cloudreve-install.sh index c3279036e5..73dc588c3c 100644 --- a/install/cloudreve-install.sh +++ b/install/cloudreve-install.sh @@ -30,7 +30,6 @@ RestartSec=5 [Install] WantedBy=multi-user.target EOF - systemctl enable -q --now cloudreve msg_ok "Service Setup" diff --git a/install/cockpit-install.sh b/install/cockpit-install.sh index fdf1cd786f..aee48496aa 100644 --- a/install/cockpit-install.sh +++ b/install/cockpit-install.sh @@ -16,7 +16,6 @@ update_os msg_info "Installing Cockpit" source /etc/os-release - cat </etc/apt/sources.list.d/debian-backports.sources Types: deb deb-src URIs: http://deb.debian.org/debian @@ -42,18 +41,13 @@ if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then fi if [[ "$install_45drives" == "true" ]]; then msg_info "Installing 45Drives' cockpit extensions" - curl -fsSL https://repo.45drives.com/key/gpg.asc | gpg --pinentry-mode loopback --batch --yes --dearmor -o /usr/share/keyrings/45drives-archive-keyring.gpg - cat </etc/apt/sources.list.d/45drives-enterprise.sources -Types: deb -URIs: https://repo.45drives.com/enterprise/debian -Suites: bookworm -Components: main -Architectures: amd64 -Signed-By: /usr/share/keyrings/45drives-archive-keyring.gpg -EOF - - $STD apt update - $STD apt install cockpit-file-sharing cockpit-identities cockpit-navigator -y + setup_deb822_repo "45drives" \ + "https://repo.45drives.com/key/gpg.asc" \ + "https://repo.45drives.com/enterprise/debian" \ + "bookworm" \ + "main" \ + "amd64" + $STD apt install -y cockpit-file-sharing cockpit-identities cockpit-navigator msg_ok "Installed 45Drives' cockpit extensions" fi fi diff --git a/install/commafeed-install.sh b/install/commafeed-install.sh index 0d877afcaf..27a5eaa437 100644 --- a/install/commafeed-install.sh +++ b/install/commafeed-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y rsync +$STD apt install -y rsync msg_ok "Installed Dependencies" JAVA_VERSION="25" setup_java diff --git a/install/cross-seed-install.sh b/install/cross-seed-install.sh index 2dad7de873..7aa42aeeba 100644 --- a/install/cross-seed-install.sh +++ b/install/cross-seed-install.sh @@ -27,8 +27,9 @@ Description=Cross-Seed daemon Service After=network.target [Service] -ExecStart=cross-seed daemon -Restart=always +ExecStart=/usr/bin/cross-seed daemon +Restart=on-failure +RestartSec=30 User=root [Install] diff --git a/install/cryptpad-install.sh b/install/cryptpad-install.sh index ef8188f7b2..14581b8882 100644 --- a/install/cryptpad-install.sh +++ b/install/cryptpad-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y git +$STD apt install -y git msg_ok "Installed Dependencies" NODE_VERSION="22" setup_nodejs @@ -22,7 +22,7 @@ NODE_VERSION="22" setup_nodejs read -rp "${TAB3}Install OnlyOffice components instead of CKEditor? (Y/N): " onlyoffice fetch_and_deploy_gh_release "cryptpad" "cryptpad/cryptpad" "tarball" -msg_info "Setup ${APPLICATION}" +msg_info "Setup CryptPad" cd /opt/cryptpad $STD npm ci $STD npm run install:components @@ -33,7 +33,7 @@ sed -i "80s#//httpAddress: 'localhost'#httpAddress: '0.0.0.0'#g" /opt/cryptpad/c if [[ "$onlyoffice" =~ ^[Yy]$ ]]; then $STD bash -c "./install-onlyoffice.sh --accept-license" fi -msg_ok "Setup ${APPLICATION}" +msg_ok "Setup CryptPad" msg_info "Creating Service" cat </etc/systemd/system/cryptpad.service diff --git a/install/daemonsync-install.sh b/install/daemonsync-install.sh index aeafec45e2..e22e79aef2 100644 --- a/install/daemonsync-install.sh +++ b/install/daemonsync-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y g++-multilib +$STD apt install -y g++-multilib msg_ok "Installed Dependencies" msg_info "Installing Daemon Sync Server" diff --git a/install/deluge-install.sh b/install/deluge-install.sh index 5d6add2016..478e9f8d4e 100644 --- a/install/deluge-install.sh +++ b/install/deluge-install.sh @@ -14,24 +14,23 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y python3-libtorrent +$STD apt install -y \ + python3-pip \ + python3-libtorrent msg_ok "Installed Dependencies" -msg_info "Setup Python3" -$STD apt-get install -y \ - python3 \ - python3-dev \ - python3-pip -rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED -msg_ok "Setup Python3" - msg_info "Installing Deluge" +mkdir -p ~/.config/pip +cat >~/.config/pip/pip.conf </etc/systemd/system/deluged.service +[Unit] Description=Deluge Bittorrent Client Daemon Documentation=man:deluged After=network-online.target @@ -39,15 +38,16 @@ After=network-online.target [Service] Type=simple UMask=007 -ExecStart=/usr/local/bin/deluged -d +ExecStart=/usr/bin/deluged -d Restart=on-failure TimeoutStopSec=300 [Install] -WantedBy=multi-user.target" >$service_path +WantedBy=multi-user.target +EOF -service_path="/etc/systemd/system/deluge-web.service" -echo "[Unit] +cat </etc/systemd/system/deluge-web.service +[Unit] Description=Deluge Bittorrent Client Web Interface Documentation=man:deluge-web After=deluged.service @@ -56,13 +56,13 @@ Wants=deluged.service [Service] Type=simple UMask=027 -ExecStart=/usr/local/bin/deluge-web -d +ExecStart=/usr/bin/deluge-web -d Restart=on-failure [Install] -WantedBy=multi-user.target" >$service_path -systemctl enable --now -q deluged.service -systemctl enable --now -q deluge-web.service +WantedBy=multi-user.target +EOF +systemctl enable --now -q deluged.service deluge-web.service msg_ok "Created Service" motd_ssh diff --git a/install/elementsynapse-install.sh b/install/elementsynapse-install.sh index 4114cc42be..59ff41ed2c 100644 --- a/install/elementsynapse-install.sh +++ b/install/elementsynapse-install.sh @@ -14,23 +14,24 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ - lsb-release \ +$STD apt install -y \ apt-transport-https \ debconf-utils msg_ok "Installed Dependencies" -NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs +NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs read -p "${TAB3}Please enter the name for your server: " servername msg_info "Installing Element Synapse" -curl -fsSL "https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg" -o "/usr/share/keyrings/matrix-org-archive-keyring.gpg" -echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" >/etc/apt/sources.list.d/matrix-org.list -$STD apt-get update +setup_deb822_repo "matrix-org" \ + "https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg" \ + "https://packages.matrix.org/debian/" \ + "$(get_os_info codename)" \ + "main" echo "matrix-synapse-py3 matrix-synapse/server-name string $servername" | debconf-set-selections echo "matrix-synapse-py3 matrix-synapse/report-stats boolean false" | debconf-set-selections -$STD apt-get install matrix-synapse-py3 -y +$STD apt install matrix-synapse-py3 -y systemctl stop matrix-synapse sed -i 's/127.0.0.1/0.0.0.0/g' /etc/matrix-synapse/homeserver.yaml sed -i 's/'\''::1'\'', //g' /etc/matrix-synapse/homeserver.yaml @@ -48,11 +49,11 @@ $STD register_new_matrix_user -a --user admin --password "$ADMIN_PASS" --config systemctl stop matrix-synapse sed -i '34d' /etc/matrix-synapse/homeserver.yaml systemctl start matrix-synapse -temp_file=$(mktemp) -mkdir -p /opt/synapse-admin -RELEASE=$(curl -fsSL https://api.github.com/repos/etkecc/synapse-admin/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -curl -fsSL "https://github.com/etkecc/synapse-admin/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file" -tar xzf "$temp_file" -C /opt/synapse-admin --strip-components=1 +msg_ok "Installed Element Synapse" + +fetch_and_deploy_gh_release "etkecc/synapse-admin" "/opt/synapse-admin" "tarball" + +msg_info "Installing Synapse-Admin" cd /opt/synapse-admin $STD yarn global add serve $STD yarn install --ignore-engines @@ -60,7 +61,7 @@ $STD yarn build mv ./dist ../ && rm -rf * && mv ../dist ./ -msg_ok "Installed Element Synapse" +msg_ok "Installed Synapse-Admin" msg_info "Creating Service" cat </etc/systemd/system/synapse-admin.service diff --git a/install/emqx-install.sh b/install/emqx-install.sh index 4b04bab01d..d53465723d 100644 --- a/install/emqx-install.sh +++ b/install/emqx-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing dependencies" -$STD apt-get install -y ca-certificates +$STD apt install -y ca-certificates msg_ok "Installed dependencies" msg_info "Fetching latest EMQX Enterprise version" @@ -33,7 +33,7 @@ $STD curl -fsSL -o "$DEB_FILE" "$DOWNLOAD_URL" msg_ok "Downloaded EMQX" msg_info "Installing EMQX" -$STD apt-get install -y "$DEB_FILE" +$STD apt install -y "$DEB_FILE" rm -f "$DEB_FILE" echo "$LATEST_VERSION" >~/.emqx msg_ok "Installed EMQX" diff --git a/install/excalidraw-install.sh b/install/excalidraw-install.sh index 32efb27da2..e9e8456ac4 100644 --- a/install/excalidraw-install.sh +++ b/install/excalidraw-install.sh @@ -14,10 +14,10 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y xdg-utils +$STD apt install -y xdg-utils msg_ok "Installed Dependencies" -NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs +NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw" "tarball" msg_info "Configuring Excalidraw" diff --git a/install/fileflows-install.sh b/install/fileflows-install.sh index 0e04c881d9..3b452fc3ba 100644 --- a/install/fileflows-install.sh +++ b/install/fileflows-install.sh @@ -24,23 +24,23 @@ msg_ok "Installed Dependencies" setup_hwaccel msg_info "Installing ASP.NET Core Runtime" -curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb +curl -fsSL https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -o packages-microsoft-prod.deb $STD dpkg -i packages-microsoft-prod.deb rm -rf packages-microsoft-prod.deb $STD apt-get update $STD apt-get install -y aspnetcore-runtime-8.0 msg_ok "Installed ASP.NET Core Runtime" -msg_info "Setup ${APPLICATION}" +msg_info "Setup FileFlows" $STD ln -svf /usr/bin/ffmpeg /usr/local/bin/ffmpeg $STD ln -svf /usr/bin/ffprobe /usr/local/bin/ffprobe temp_file=$(mktemp) curl -fsSL https://fileflows.com/downloads/zip -o "$temp_file" $STD unzip -d /opt/fileflows "$temp_file" -(cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true) +$STD bash -c "cd /opt/fileflows/Server && dotnet FileFlows.Server.dll --systemd install --root true" systemctl enable -q --now fileflows rm -f "$temp_file" -msg_ok "Setup ${APPLICATION}" +msg_ok "Setup FileFlows" motd_ssh customize diff --git a/install/fluid-calendar-install.sh b/install/fluid-calendar-install.sh index 1333a222d4..7b6aaccccc 100644 --- a/install/fluid-calendar-install.sh +++ b/install/fluid-calendar-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y zip +$STD apt install -y zip msg_ok "Installed Dependencies" PG_VERSION="17" setup_postgresql diff --git a/install/fumadocs-install.sh b/install/fumadocs-install.sh index d62f844417..4cbb7675e3 100644 --- a/install/fumadocs-install.sh +++ b/install/fumadocs-install.sh @@ -13,20 +13,20 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ +$STD apt install -y \ ca-certificates \ git msg_ok "Installed Dependencies" -NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs +NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs -msg_info "Installing Fumadocs" +msg_info "Preparing Fumadocs - " mkdir -p /opt/fumadocs cd /opt/fumadocs +msg_ok "Important: Manual configuration is required after this step." pnpm create fumadocs-app PROJECT_NAME=$(find . -maxdepth 1 -type d ! -name '.' ! -name '..' | sed 's|^\./||') echo "$PROJECT_NAME" >/opt/fumadocs/.projectname -msg_ok "Installed Fumadocs" msg_info "Creating Service" cat </etc/systemd/system/fumadocs_$PROJECT_NAME.service diff --git a/install/gatus-install.sh b/install/gatus-install.sh index b0629fbd11..2da993fe14 100644 --- a/install/gatus-install.sh +++ b/install/gatus-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ +$STD apt install -y \ ca-certificates \ libcap2-bin msg_ok "Installed Dependencies" diff --git a/install/ghost-install.sh b/install/ghost-install.sh index 62f2e41965..d97de4f31d 100644 --- a/install/ghost-install.sh +++ b/install/ghost-install.sh @@ -14,29 +14,14 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ +$STD apt install -y \ nginx \ ca-certificates \ libjemalloc2 msg_ok "Installed Dependencies" setup_mariadb - -msg_info "Configuring Database" -DB_NAME=ghost -DB_USER=ghostuser -DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) -$STD mariadb -u root -e "CREATE DATABASE $DB_NAME;" -$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';" -$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;" -{ - echo "Ghost-Credentials" - echo "Ghost Database User: $DB_USER" - echo "Ghost Database Password: $DB_PASS" - echo "Ghost Database Name: $DB_NAME" -} >>~/ghost.creds -msg_ok "Configured MariaDB" - +MARIADB_DB_NAME="ghost" MARIADB_DB_USER="ghostuser" setup_mariadb_db NODE_VERSION="22" setup_nodejs msg_info "Installing Ghost CLI" @@ -50,7 +35,7 @@ echo "ghost-user ALL=(ALL) NOPASSWD:ALL" | tee /etc/sudoers.d/ghost-user mkdir -p /var/www/ghost chown -R ghost-user:ghost-user /var/www/ghost chmod 775 /var/www/ghost -$STD sudo -u ghost-user -H sh -c "cd /var/www/ghost && ghost install --db=mysql --dbhost=localhost --dbuser=$DB_USER --dbpass=$DB_PASS --dbname=ghost --url=http://localhost:2368 --no-prompt --no-setup-nginx --no-setup-ssl --no-setup-mysql --enable --start --ip 0.0.0.0" +$STD sudo -u ghost-user -H sh -c "cd /var/www/ghost && ghost install --db=mysql --dbhost=localhost --dbuser=$MARIADB_DB_USER --dbpass=$MARIADB_DB_PASS --dbname=$MARIADB_DB_NAME --url=http://localhost:2368 --no-prompt --no-setup-nginx --no-setup-ssl --no-setup-mysql --enable --start --ip 0.0.0.0" rm /etc/sudoers.d/ghost-user msg_ok "Creating Service" diff --git a/install/gitea-install.sh b/install/gitea-install.sh index 411307f1d2..2aa9d764c8 100644 --- a/install/gitea-install.sh +++ b/install/gitea-install.sh @@ -15,15 +15,16 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y git -$STD apt-get install -y sqlite3 +$STD apt install -y \ + git \ + sqlite3 msg_ok "Installed Dependencies" fetch_and_deploy_gh_release "gitea" "go-gitea/gitea" "singlefile" "latest" "/usr/local/bin" "gitea-*-linux-amd64" msg_info "Configuring Gitea" chmod +x /usr/local/bin/gitea -adduser --system --group --disabled-password --shell /bin/bash --home /etc/gitea gitea >/dev/null +$STD adduser --system --group --disabled-password --shell /bin/bash --home /etc/gitea gitea mkdir -p /var/lib/gitea/{custom,data,log} chown -R gitea:gitea /var/lib/gitea/ chmod -R 750 /var/lib/gitea/ diff --git a/install/gitea-mirror-install.sh b/install/gitea-mirror-install.sh index 8455b59d0c..ecb4cf0788 100644 --- a/install/gitea-mirror-install.sh +++ b/install/gitea-mirror-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing dependencies" -$STD apt-get install -y \ +$STD apt install -y \ build-essential \ openssl \ sqlite3 \ diff --git a/install/grist-install.sh b/install/grist-install.sh index 5d5bd16810..a616965ec9 100644 --- a/install/grist-install.sh +++ b/install/grist-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y \ +$STD apt install -y \ make \ ca-certificates \ python3-venv @@ -42,7 +42,7 @@ Description=Grist After=network.target [Service] -Type=exec +Type=simple WorkingDirectory=/opt/grist ExecStart=/usr/bin/yarn run start:prod EnvironmentFile=-/opt/grist/.env diff --git a/install/grocy-install.sh b/install/grocy-install.sh index 3cdf1009d7..ae60af2685 100644 --- a/install/grocy-install.sh +++ b/install/grocy-install.sh @@ -14,7 +14,7 @@ network_check update_os msg_info "Installing Dependencies" -$STD apt-get install -y apt-transport-https +$STD apt install -y apt-transport-https msg_ok "Installed Dependencies" PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php @@ -38,7 +38,6 @@ cat </etc/apache2/sites-available/grocy.conf EOF - $STD a2dissite 000-default.conf $STD a2ensite grocy.conf $STD a2enmod rewrite diff --git a/misc/tools.func b/misc/tools.func index 1392adfe03..9c4f586542 100644 --- a/misc/tools.func +++ b/misc/tools.func @@ -1900,7 +1900,7 @@ function fetch_and_deploy_gh_release() { rm -rf "$tmpdir" "$unpack_tmp" return 1 } - elif [[ "$filename" == *.tar.* || "$filename" == *.tgz ]]; then + elif [[ "$filename" == *.tar.* || "$filename" == *.tgz || "$filename" == *.txz ]]; then tar --no-same-owner -xf "$tmpdir/$filename" -C "$unpack_tmp" || { msg_error "Failed to extract TAR archive" rm -rf "$tmpdir" "$unpack_tmp"