Update dashy.sh

Update `function update_script()`
This commit is contained in:
tteckster 2024-04-21 23:11:42 -04:00 committed by GitHub
parent 7ebc6ea84f
commit 1fb93b326f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 38 additions and 27 deletions

View File

@ -55,38 +55,49 @@ function default_settings() {
function update_script() { function update_script() {
header_info header_info
if [[ ! -d /opt/dashy/public/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi if [[ ! -d /opt/dashy/public/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
msg_error "There is currently no update path available."
exit
msg_info "Stopping ${APP}"
systemctl stop dashy
msg_ok "Stopped ${APP}"
msg_info "Backing up conf.yml" RELEASE=$(curl -sL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
cd ~ if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
cp -R /opt/dashy/public/conf.yml conf.yml msg_info "Stopping ${APP}"
msg_ok "Backed up conf.yml" systemctl stop dashy
msg_ok "Stopped ${APP}"
msg_info "Updating Dashy" msg_info "Backing up conf.yml"
cd /opt/dashy cd ~
git merge &>/dev/null if [[ -f /opt/dashy/public/conf.yml ]]; then
git pull origin master &>/dev/null cp -R /opt/dashy/public/conf.yml conf.yml
yarn &>/dev/null else
yarn build &>/dev/null cp -R /opt/dashy/user-data/conf.yml conf.yml
msg_ok "Updated Dashy" fi
msg_ok "Backed up conf.yml"
msg_info "Restoring conf.yml" msg_info "Updating ${APP} to ${RELEASE}"
cd ~ rm -rf /opt/dashy
cp -R conf.yml /opt/dashy/public mkdir -p /opt/dashy
msg_ok "Restored conf.yml" wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1
sed -i 's/NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build/NODE_OPTIONS=yarn vue-cli-service build/' /opt/dashy/package.json
cd /opt/dashy
yarn &>/dev/null
yarn build &>/dev/null
echo "${RELEASE}" >/opt/${APP}_version.txt
msg_ok "Updated ${APP} to ${RELEASE}"
msg_info "Cleaning" msg_info "Restoring conf.yml"
rm -rf conf.yml cd ~
msg_ok "Cleaned" cp -R conf.yml /opt/dashy/user-data
msg_ok "Restored conf.yml"
msg_info "Starting Dashy" msg_info "Cleaning"
systemctl start dashy rm -rf conf.yml /opt/dashy/public/conf.yml
msg_ok "Started Dashy" msg_ok "Cleaned"
msg_ok "Updated Successfully"
msg_info "Starting Dashy"
systemctl start dashy
msg_ok "Started Dashy"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
} }