Skip to content

Commit dd0cdf5

Browse files
authored
ActualBudget: Fix Update-Function, Fix Wget Crawling, Add Versionscheck (#1643)
* Update actualbudget-install.sh * Update actualbudget.sh * Update actualbudget-install.sh * Update actualbudget.sh
1 parent 3b37f6a commit dd0cdf5

File tree

2 files changed

+39
-23
lines changed

2 files changed

+39
-23
lines changed

ct/actualbudget.sh

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -28,33 +28,48 @@ function update_script() {
2828
header_info
2929
check_container_storage
3030
check_container_resources
31+
3132
if [[ ! -d /opt/actualbudget ]]; then
3233
msg_error "No ${APP} Installation Found!"
3334
exit
3435
fi
36+
3537
if ! command -v jq >/dev/null 2>&1; then
36-
echo "Installing jq..."
37-
apt-get install -y jq >/dev/null 2>&1
38-
echo "Installed jq..."
38+
echo "Installing jq..."
39+
apt-get install -y jq >/dev/null 2>&1
40+
echo "Installed jq..."
3941
fi
4042

41-
msg_info "Updating ${APP}"
42-
systemctl stop actualbudget
4343
RELEASE=$(curl -s https://api.github.com/repos/actualbudget/actual-server/tags | jq --raw-output '.[0].name')
44-
TEMPD="$(mktemp -d)"
45-
cd "${TEMPD}"
46-
wget -q https://codeload.github.com/actualbudget/actual-server/legacy.tar.gz/refs/tags/${RELEASE} -O - | tar -xz
47-
mv /opt/actualbudget /opt/actualbudget_bak
48-
mkdir -p /opt/actualbudget/
49-
mv actualbudget-actual-server-*/* /opt/actualbudget/
50-
mv /opt/actualbudget_bak/.env /opt/actualbudget
51-
mv /opt/actualbudget_bak/server-files /opt/actualbudget/server-files
52-
cd /opt/actualbudget
53-
yarn install &>/dev/null
54-
systemctl start actualbudget
55-
msg_ok "Successfully Updated ${APP} to ${RELEASE}"
56-
rm -rf "${TEMPD}"
57-
rm -rf /opt/actualbudget_bak
44+
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
45+
msg_info "Stopping ${APP}"
46+
systemctl stop actualbudget
47+
msg_ok "${APP} Stopped"
48+
49+
msg_info "Updating ${APP} to ${RELEASE}"
50+
wget -q https://github.com/actualbudget/actual-server/archive/refs/tags/${RELEASE}.tar.gz -O actual-server.tar.gz
51+
tar -xzvf actual-server.tar.gz >/dev/null 2>&1
52+
mv /opt/actualbudget /opt/actualbudget_bak
53+
mkdir -p /opt/actualbudget/
54+
mv actual-server-* /opt/actualbudget
55+
mv /opt/actualbudget_bak/.env /opt/actualbudget
56+
mv /opt/actualbudget_bak/server-files /opt/actualbudget/server-files
57+
cd /opt/actualbudget
58+
yarn install &>/dev/null
59+
echo "${RELEASE}" >/opt/${APP}_version.txt
60+
msg_ok "Updated ${APP}"
61+
62+
msg_info "Starting ${APP}"
63+
systemctl start actualbudget
64+
msg_ok "Started ${APP}"
65+
66+
msg_info "Cleaning Up"
67+
rm -rf /opt/actualbudget_bak
68+
msg_ok "Cleaned"
69+
msg_ok "Updated Successfully"
70+
else
71+
msg_ok "No update required. ${APP} is already at ${RELEASE}"
72+
fi
5873
exit
5974
}
6075

install/actualbudget-install.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ msg_ok "Installed Dependencies"
2727
msg_info "Setting up Node.js Repository"
2828
mkdir -p /etc/apt/keyrings
2929
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
30-
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
30+
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
3131
msg_ok "Set up Node.js Repository"
3232

3333
msg_info "Installing Node.js"
@@ -36,10 +36,10 @@ $STD apt-get install -y nodejs
3636
$STD npm install --global yarn
3737
msg_ok "Installed Node.js"
3838

39+
msg_info "Installing Actual Budget"
3940
RELEASE=$(curl -s https://api.github.com/repos/actualbudget/actual-server/tags | jq --raw-output '.[0].name')
40-
msg_info "Installing Actual Budget $RELEASE"
41-
wget -q https://codeload.github.com/actualbudget/actual-server/legacy.tar.gz/refs/tags/${RELEASE} -O - | tar -xz
42-
mv actualbudget-actual-server-* /opt/actualbudget
41+
wget -q https://github.com/actualbudget/actual-server/archive/refs/tags/${RELEASE}.tar.gz -O actual-server.tar.gz -O - | tar -xz
42+
mv *ctual-server-* /opt/actualbudget
4343
mkdir -p /opt/actualbudget/server-files
4444
mkdir -p /opt/actualbudget-data
4545
chown -R root:root /opt/actualbudget/server-files
@@ -52,6 +52,7 @@ PORT=5006
5252
EOF
5353
cd /opt/actualbudget
5454
$STD yarn install
55+
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
5556
msg_ok "Installed Actual Budget"
5657

5758
msg_info "Creating Service"

0 commit comments

Comments
 (0)