Refactor: MagicMirror (#6402)

This commit is contained in:
Slaviša Arežina 2025-08-01 07:26:35 +02:00 committed by GitHub
parent 93b80362f6
commit ff695fa4ea
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 27 deletions

View File

@ -27,16 +27,17 @@ function update_script() {
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
if ! command -v jq &>/dev/null; then
$STD apt-get install -y jq
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | jq -r '.tag_name' | sed 's/^v//')
if [[ ! -f ~/.magicmirror ]] || [[ "${RELEASE}" != "$(cat ~/.magicmirror)" ]]; then
msg_info "Stopping Service"
systemctl stop magicmirror
msg_ok "Stopped Service"
msg_info "Updating ${APP} to v${RELEASE}"
$STD apt-get update
$STD apt-get upgrade -y
msg_info "Backing up data"
rm -rf /opt/magicmirror-backup
mkdir /opt/magicmirror-backup
cp /opt/magicmirror/config/config.js /opt/magicmirror-backup
@ -44,27 +45,23 @@ function update_script() {
cp /opt/magicmirror/css/custom.css /opt/magicmirror-backup
fi
cp -r /opt/magicmirror/modules /opt/magicmirror-backup
temp_file=$(mktemp)
curl -fsSL "https://github.com/MagicMirrorOrg/MagicMirror/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file""
tar -xzf "$temp_file"
rm -rf /opt/magicmirror
mv MagicMirror-${RELEASE} /opt/magicmirror
msg_ok "Backed up data"
fetch_and_deploy_gh_release "magicmirror" "MagicMirrorOrg/MagicMirror" "tarball"
msg_info "Configuring MagicMirror"
cd /opt/magicmirror
$STD npm run install-mm
cp /opt/magicmirror-backup/config.js /opt/magicmirror/config/
if [[ -f /opt/magicmirror-backup/custom.css ]]; then
cp /opt/magicmirror-backup/custom.css /opt/magicmirror/css/
fi
echo "${RELEASE}" >"/opt/${APP}_version.txt"
msg_ok "Updated ${APP} to v${RELEASE}"
msg_ok "Configured MagicMirror"
msg_info "Starting Service"
systemctl start magicmirror
msg_ok "Started Service"
msg_info "Cleaning up"
rm -f $temp_file
msg_ok "Cleaned"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${RELEASE}."
@ -79,4 +76,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}:8080${CL}"
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"

View File

@ -14,13 +14,9 @@ network_check
update_os
NODE_VERSION="22" setup_nodejs
fetch_and_deploy_gh_release "magicmirror" "MagicMirrorOrg/MagicMirror" "tarball"
msg_info "Setup MagicMirror"
temp_file=$(mktemp)
RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/MagicMirrorOrg/MagicMirror/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file""
tar -xzf "$temp_file"
mv MagicMirror-${RELEASE} /opt/magicmirror
msg_info "Configuring MagicMirror"
cd /opt/magicmirror
$STD npm run install-mm
cat <<EOF >/opt/magicmirror/config/config.js
@ -112,8 +108,7 @@ let config = {
/*************** DO NOT EDIT THE LINE BELOW ***************/
if (typeof module !== "undefined") {module.exports = config;}
EOF
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Setup MagicMirror"
msg_ok "Configured MagicMirror"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/magicmirror.service
@ -133,14 +128,13 @@ ExecStart=/usr/bin/npm run server
[Install]
WantedBy=multi-user.target
EOF
systemctl enable --now magicmirror
systemctl enable -q --now magicmirror
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
rm -rf $temp_file
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"