Refactor Navidrome (#6300)
This commit is contained in:
parent
08e451f8de
commit
63d65420a9
@ -27,27 +27,19 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk -F '"' '{print $4}')
|
||||
if [[ ! -f /opt/${APP}_version.txt ]]; then touch /opt/${APP}_version.txt; fi
|
||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
|
||||
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ "${RELEASE}" != "$(cat ~/.navidrome 2>/dev/null)" ]] || [[ ! -f ~/.navidrome ]]; then
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop navidrome
|
||||
msg_ok "Services Stopped"
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE}"
|
||||
TMP_DEB=$(mktemp --suffix=.deb)
|
||||
curl -fsSL -o "${TMP_DEB}" "https://github.com/navidrome/navidrome/releases/download/${RELEASE}/navidrome_${RELEASE#v}_linux_amd64.deb"
|
||||
$STD apt-get install -y "${TMP_DEB}"
|
||||
echo "${RELEASE}" >/opt/"${APP}_version.txt"
|
||||
msg_ok "Updated Navidrome"
|
||||
fetch_and_deploy_gh_release "navidrome" "navidrome/navidrome" "binary"
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl start navidrome
|
||||
msg_ok "Started Services"
|
||||
|
||||
msg_info "Cleaning Up"
|
||||
rm -f "${TMP_DEB}"
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
|
@ -1,40 +1,40 @@
|
||||
{
|
||||
"name": "Navidrome",
|
||||
"slug": "navidrome",
|
||||
"categories": [
|
||||
13
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 4533,
|
||||
"documentation": null,
|
||||
"website": "https://www.navidrome.org/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/navidrome.webp",
|
||||
"config_path": "/etc/navidrome/navidrome.toml",
|
||||
"description": "Navidrome is a music server solution that makes your music collection accessible from anywhere. It provides a modern web-based user interface and compatibility with a range of third-party mobile apps for both iOS and Android devices. With Navidrome, users can access their music collection from anywhere, whether at home or on the go. The software supports a variety of music formats, making it easy for users to play their favorite songs and albums. Navidrome provides a simple and user-friendly interface for managing and organizing music collections, making it a valuable tool for music lovers who want to access their music from anywhere. The software is designed to be easy to set up and use, making it a popular choice for those who want to host their own music server and enjoy their music collection from anywhere.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/navidrome.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 1024,
|
||||
"hdd": 4,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "To change Navidrome music folder path, `nano /etc/navidrome/navidrome.toml`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
"name": "Navidrome",
|
||||
"slug": "navidrome",
|
||||
"categories": [
|
||||
13
|
||||
],
|
||||
"date_created": "2024-05-02",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 4533,
|
||||
"documentation": "https://www.navidrome.org/docs/",
|
||||
"website": "https://www.navidrome.org/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/navidrome.webp",
|
||||
"config_path": "/etc/navidrome/navidrome.toml",
|
||||
"description": "Navidrome is a music server solution that makes your music collection accessible from anywhere. It provides a modern web-based user interface and compatibility with a range of third-party mobile apps for both iOS and Android devices. With Navidrome, users can access their music collection from anywhere, whether at home or on the go. The software supports a variety of music formats, making it easy for users to play their favorite songs and albums. Navidrome provides a simple and user-friendly interface for managing and organizing music collections, making it a valuable tool for music lovers who want to access their music from anywhere. The software is designed to be easy to set up and use, making it a popular choice for those who want to host their own music server and enjoy their music collection from anywhere.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/navidrome.sh",
|
||||
"resources": {
|
||||
"cpu": 2,
|
||||
"ram": 1024,
|
||||
"hdd": 4,
|
||||
"os": "debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "To change Navidrome music folder path, `nano /etc/navidrome/navidrome.toml`",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -14,18 +14,14 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies (Patience)"
|
||||
$STD apt-get install -y \
|
||||
ffmpeg
|
||||
$STD apt-get install -y ffmpeg
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing Navidrome"
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/navidrome/navidrome/releases/latest | grep "tag_name" | awk -F '"' '{print $4}')
|
||||
TMP_DEB=$(mktemp --suffix=.deb)
|
||||
curl -fsSL -o "${TMP_DEB}" "https://github.com/navidrome/navidrome/releases/download/${RELEASE}/navidrome_${RELEASE#v}_linux_amd64.deb"
|
||||
$STD apt-get install -y "${TMP_DEB}"
|
||||
fetch_and_deploy_gh_release "navidrome" "navidrome/navidrome" "binary"
|
||||
|
||||
msg_info "Starting Navidrome"
|
||||
systemctl enable -q --now navidrome
|
||||
echo "${RELEASE}" >/opt/Navidrome_version.txt
|
||||
msg_ok "Installed Navidrome"
|
||||
msg_ok "Started Navidrome"
|
||||
|
||||
read -p "${TAB3}Do you want to install filebrowser addon? (y/n) " -n 1 -r
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
@ -36,7 +32,6 @@ motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -f "${TMP_DEB}"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
||||
|
Loading…
x
Reference in New Issue
Block a user