Skip to content

Commit 1fe00c2

Browse files
authored
Refactor: Kavita + Updated tools.func (no-same-owner) (#8594)
1 parent 05fd03d commit 1fe00c2

File tree

4 files changed

+35
-32
lines changed

4 files changed

+35
-32
lines changed

ct/kavita.sh

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
1111
var_ram="${var_ram:-2048}"
1212
var_disk="${var_disk:-8}"
1313
var_os="${var_os:-debian}"
14-
var_version="${var_version:-12}"
14+
var_version="${var_version:-13}"
1515
var_unprivileged="${var_unprivileged:-1}"
1616

1717
header_info "$APP"
@@ -20,23 +20,28 @@ color
2020
catch_errors
2121

2222
function update_script() {
23-
header_info
24-
check_container_storage
25-
check_container_resources
26-
if [[ ! -d /opt/Kavita ]]; then
27-
msg_error "No ${APP} Installation Found!"
28-
exit
29-
fi
30-
msg_info "Updating $APP LXC"
23+
header_info
24+
check_container_storage
25+
check_container_resources
26+
if [[ ! -d /opt/Kavita ]]; then
27+
msg_error "No ${APP} Installation Found!"
28+
exit
29+
fi
30+
31+
if check_for_gh_release "kavita" "Kareadita/Kavita"; then
32+
msg_info "Stopping Service"
3133
systemctl stop kavita
32-
RELEASE=$(curl -fsSL https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
33-
$STD tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner
34-
rm -rf Kavita/config
35-
cp -r Kavita/* /opt/Kavita
36-
rm -rf Kavita
34+
msg_ok "Service Stopped"
35+
36+
fetch_and_deploy_gh_release "kavita" "Kareadita/Kavita" "prebuild" "latest" "/opt/Kavita" "kavita-linux-x64.tar.gz"
37+
chmod +x /opt/Kavita/Kavita && chown root:root /opt/Kavita/Kavita
38+
39+
msg_info "Starting Service"
3740
systemctl start kavita
38-
msg_ok "Updated $APP LXC"
39-
exit
41+
msg_ok "Service Started"
42+
msg_ok "Update Successfully!"
43+
fi
44+
exit
4045
}
4146

4247
start
@@ -46,4 +51,4 @@ description
4651
msg_ok "Completed Successfully!\n"
4752
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
4853
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
49-
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}"
54+
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}"

frontend/public/json/kavita.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"ram": 2048,
2424
"hdd": 8,
2525
"os": "debian",
26-
"version": "12"
26+
"version": "13"
2727
}
2828
}
2929
],

install/kavita-install.sh

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,11 @@ setting_up_container
1313
network_check
1414
update_os
1515

16-
msg_info "Installing Kavita"
17-
cd /opt
18-
RELEASE=$(curl -fsSL https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
19-
$STD tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner
20-
msg_ok "Installed Kavita"
16+
fetch_and_deploy_gh_release "Kavita" "Kareadita/Kavita" "prebuild" "latest" "/opt/Kavita" "kavita-linux-x64.tar.gz"
2117

2218
msg_info "Creating Service"
23-
service_path="/etc/systemd/system/kavita.service"
24-
echo "[Unit]
19+
cat <<EOF >/etc/systemd/system/kavita.service
20+
[Unit]
2521
Description=Kavita Server
2622
After=network.target
2723
@@ -34,15 +30,17 @@ KillMode=process
3430
Restart=on-failure
3531
3632
[Install]
37-
WantedBy=multi-user.target" >$service_path
38-
chmod +x /opt/Kavita/* && chown root /opt/Kavita/*
39-
systemctl enable --now -q kavita.service
33+
WantedBy=multi-user.target
34+
EOF
35+
chmod +x /opt/Kavita/Kavita && chown root:root /opt/Kavita/Kavita
36+
systemctl enable -q --now kavita
4037
msg_ok "Created Service"
4138

4239
motd_ssh
4340
customize
4441

4542
msg_info "Cleaning up"
46-
$STD apt-get -y autoremove
47-
$STD apt-get -y autoclean
43+
$STD apt -y autoremove
44+
$STD apt -y autoclean
45+
$STD apt -y clean
4846
msg_ok "Cleaned"

misc/tools.func

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1141,7 +1141,7 @@ function fetch_and_deploy_gh_release() {
11411141
rm -rf "${target:?}/"*
11421142
fi
11431143

1144-
tar -xzf "$tmpdir/$filename" -C "$tmpdir" || {
1144+
tar --no-same-owner -xzf "$tmpdir/$filename" -C "$tmpdir" || {
11451145
msg_error "Failed to extract tarball"
11461146
rm -rf "$tmpdir"
11471147
return 1
@@ -1263,7 +1263,7 @@ function fetch_and_deploy_gh_release() {
12631263
return 1
12641264
}
12651265
elif [[ "$filename" == *.tar.* || "$filename" == *.tgz ]]; then
1266-
tar -xf "$tmpdir/$filename" -C "$unpack_tmp" || {
1266+
tar --no-same-owner -xf "$tmpdir/$filename" -C "$unpack_tmp" || {
12671267
msg_error "Failed to extract TAR archive"
12681268
rm -rf "$tmpdir" "$unpack_tmp"
12691269
return 1

0 commit comments

Comments
 (0)