diff --git a/ct/homepage.sh b/ct/homepage.sh index 5107f65b..dca0e9c4 100644 --- a/ct/homepage.sh +++ b/ct/homepage.sh @@ -55,26 +55,31 @@ function default_settings() { function update_script() { header_info if [[ ! -d /opt/homepage ]]; then msg_error "No ${APP} Installation Found!"; exit; fi - if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then - if ! command -v npm >/dev/null 2>&1; then - echo "Installing NPM..." - apt-get install -y npm >/dev/null 2>&1 - echo "Installed NPM..." - fi +if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then + if ! command -v npm >/dev/null 2>&1; then + echo "Installing NPM..." + apt-get install -y npm >/dev/null 2>&1 + npm install -g pnpm >/dev/null 2>&1 + echo "Installed NPM..." fi +fi RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -msg_info "Updating Homepage to v${RELEASE} (Patience)" -systemctl stop homepage -wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz -tar -xzf v${RELEASE}.tar.gz -cp -r homepage-${RELEASE}/* /opt/homepage/ -rm -rf homepage-${RELEASE} -cd /opt/homepage -npx update-browserslist-db@latest -pnpm install -pnpm build -systemctl start homepage -msg_ok "Updated Homepage to v${RELEASE}" +if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then + msg_info "Updating Homepage to v${RELEASE} (Patience)" + systemctl stop homepage + wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz + tar -xzf v${RELEASE}.tar.gz + cp -r homepage-${RELEASE}/* /opt/homepage/ + rm -rf homepage-${RELEASE} + cd /opt/homepage + npx update-browserslist-db@latest + pnpm install + pnpm build + systemctl start homepage + msg_ok "Updated Homepage to v${RELEASE}" +else + msg_ok "No update required. ${APP} is already at ${RELEASE}" +fi exit }