Update homepage.sh

Refactor
This commit is contained in:
tteckster 2024-04-23 10:36:16 -04:00 committed by GitHub
parent dc6c21a85f
commit f20d65a606
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -55,26 +55,31 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -d /opt/homepage ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /opt/homepage ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
if ! command -v npm >/dev/null 2>&1; then if ! command -v npm >/dev/null 2>&1; then
echo "Installing NPM..." echo "Installing NPM..."
apt-get install -y npm >/dev/null 2>&1 apt-get install -y npm >/dev/null 2>&1
echo "Installed NPM..." npm install -g pnpm >/dev/null 2>&1
fi echo "Installed NPM..."
fi 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) }') 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)" if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
systemctl stop homepage msg_info "Updating Homepage to v${RELEASE} (Patience)"
wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz systemctl stop homepage
tar -xzf v${RELEASE}.tar.gz wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz
cp -r homepage-${RELEASE}/* /opt/homepage/ tar -xzf v${RELEASE}.tar.gz
rm -rf homepage-${RELEASE} cp -r homepage-${RELEASE}/* /opt/homepage/
cd /opt/homepage rm -rf homepage-${RELEASE}
npx update-browserslist-db@latest cd /opt/homepage
pnpm install npx update-browserslist-db@latest
pnpm build pnpm install
systemctl start homepage pnpm build
msg_ok "Updated Homepage to v${RELEASE}" systemctl start homepage
msg_ok "Updated Homepage to v${RELEASE}"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }