Skip to content

Commit ff695fa

Browse files
authored
Refactor: MagicMirror (#6402)
1 parent 93b8036 commit ff695fa

2 files changed

Lines changed: 18 additions & 27 deletions

File tree

ct/magicmirror.sh

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,44 +27,41 @@ function update_script() {
2727
msg_error "No ${APP} Installation Found!"
2828
exit
2929
fi
30-
RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
31-
if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi
32-
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
30+
if ! command -v jq &>/dev/null; then
31+
$STD apt-get install -y jq
32+
fi
33+
34+
RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | jq -r '.tag_name' | sed 's/^v//')
35+
if [[ ! -f ~/.magicmirror ]] || [[ "${RELEASE}" != "$(cat ~/.magicmirror)" ]]; then
3336
msg_info "Stopping Service"
3437
systemctl stop magicmirror
3538
msg_ok "Stopped Service"
3639

37-
msg_info "Updating ${APP} to v${RELEASE}"
38-
$STD apt-get update
39-
$STD apt-get upgrade -y
40+
msg_info "Backing up data"
4041
rm -rf /opt/magicmirror-backup
4142
mkdir /opt/magicmirror-backup
4243
cp /opt/magicmirror/config/config.js /opt/magicmirror-backup
4344
if [[ -f /opt/magicmirror/css/custom.css ]]; then
4445
cp /opt/magicmirror/css/custom.css /opt/magicmirror-backup
4546
fi
4647
cp -r /opt/magicmirror/modules /opt/magicmirror-backup
47-
temp_file=$(mktemp)
48-
curl -fsSL "https://github.com/MagicMirrorOrg/MagicMirror/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file""
49-
tar -xzf "$temp_file"
50-
rm -rf /opt/magicmirror
51-
mv MagicMirror-${RELEASE} /opt/magicmirror
48+
msg_ok "Backed up data"
49+
50+
fetch_and_deploy_gh_release "magicmirror" "MagicMirrorOrg/MagicMirror" "tarball"
51+
52+
msg_info "Configuring MagicMirror"
5253
cd /opt/magicmirror
5354
$STD npm run install-mm
5455
cp /opt/magicmirror-backup/config.js /opt/magicmirror/config/
5556
if [[ -f /opt/magicmirror-backup/custom.css ]]; then
5657
cp /opt/magicmirror-backup/custom.css /opt/magicmirror/css/
5758
fi
58-
echo "${RELEASE}" >"/opt/${APP}_version.txt"
59-
msg_ok "Updated ${APP} to v${RELEASE}"
59+
msg_ok "Configured MagicMirror"
6060

6161
msg_info "Starting Service"
6262
systemctl start magicmirror
6363
msg_ok "Started Service"
6464

65-
msg_info "Cleaning up"
66-
rm -f $temp_file
67-
msg_ok "Cleaned"
6865
msg_ok "Updated Successfully"
6966
else
7067
msg_ok "No update required. ${APP} is already at v${RELEASE}."
@@ -79,4 +76,4 @@ description
7976
msg_ok "Completed Successfully!\n"
8077
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
8178
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
82-
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
79+
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"

install/magicmirror-install.sh

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,9 @@ network_check
1414
update_os
1515

1616
NODE_VERSION="22" setup_nodejs
17+
fetch_and_deploy_gh_release "magicmirror" "MagicMirrorOrg/MagicMirror" "tarball"
1718

18-
msg_info "Setup MagicMirror"
19-
temp_file=$(mktemp)
20-
RELEASE=$(curl -fsSL https://api.github.com/repos/MagicMirrorOrg/MagicMirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
21-
curl -fsSL "https://github.com/MagicMirrorOrg/MagicMirror/archive/refs/tags/v${RELEASE}.tar.gz" -o ""$temp_file""
22-
tar -xzf "$temp_file"
23-
mv MagicMirror-${RELEASE} /opt/magicmirror
19+
msg_info "Configuring MagicMirror"
2420
cd /opt/magicmirror
2521
$STD npm run install-mm
2622
cat <<EOF >/opt/magicmirror/config/config.js
@@ -112,8 +108,7 @@ let config = {
112108
/*************** DO NOT EDIT THE LINE BELOW ***************/
113109
if (typeof module !== "undefined") {module.exports = config;}
114110
EOF
115-
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
116-
msg_ok "Setup MagicMirror"
111+
msg_ok "Configured MagicMirror"
117112

118113
msg_info "Creating Service"
119114
cat <<EOF >/etc/systemd/system/magicmirror.service
@@ -133,14 +128,13 @@ ExecStart=/usr/bin/npm run server
133128
[Install]
134129
WantedBy=multi-user.target
135130
EOF
136-
systemctl enable --now magicmirror
131+
systemctl enable -q --now magicmirror
137132
msg_ok "Created Service"
138133

139134
motd_ssh
140135
customize
141136

142137
msg_info "Cleaning up"
143-
rm -rf $temp_file
144138
$STD apt-get -y autoremove
145139
$STD apt-get -y autoclean
146140
msg_ok "Cleaned"

0 commit comments

Comments
 (0)