Skip to content

Commit 8e88379

Browse files
lyrionmusicserver (#4992)
* 'Add new script' * Update lyrionmusicserver.sh --------- Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com> Co-authored-by: Michel Roegl-Brunner <[email protected]>
1 parent b2307f1 commit 8e88379

File tree

4 files changed

+134
-0
lines changed

4 files changed

+134
-0
lines changed

ct/headers/lyrionmusicserver

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
__ _ __ ___ _ _____
2+
/ / __ _______(_)___ ____ / |/ /_ _______(_)____ / ___/___ ______ _____ _____
3+
/ / / / / / ___/ / __ \/ __ \ / /|_/ / / / / ___/ / ___/ \__ \/ _ \/ ___/ | / / _ \/ ___/
4+
/ /___/ /_/ / / / / /_/ / / / / / / / / /_/ (__ ) / /__ ___/ / __/ / | |/ / __/ /
5+
/_____/\__, /_/ /_/\____/_/ /_/ /_/ /_/\__,_/____/_/\___/ /____/\___/_/ |___/\___/_/
6+
/____/

ct/lyrionmusicserver.sh

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#!/usr/bin/env bash
2+
3+
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
4+
# Copyright (c) 2021-2025 community-scripts ORG
5+
# Author: Omar Minaya
6+
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
7+
# Source: https://lyrion.org/getting-started/
8+
9+
APP="Lyrion Music Server"
10+
var_tags="${var_tags:-media}"
11+
var_cpu="${var_cpu:-1}"
12+
var_ram="${var_ram:-1024}"
13+
var_disk="${var_disk:-3}"
14+
var_os="${var_os:-debian}"
15+
var_version="${var_version:-12}"
16+
var_unprivileged="${var_unprivileged:-1}"
17+
18+
header_info "$APP"
19+
variables
20+
color
21+
catch_errors
22+
23+
function update_script() {
24+
header_info
25+
check_container_storage
26+
check_container_resources
27+
28+
if [[ ! -f /lib/systemd/system/lyrionmusicserver.service ]]; then
29+
msg_error "No ${APP} Installation Found!"
30+
exit
31+
fi
32+
33+
DEB_URL=$(curl -s 'https://lyrion.org/getting-started/' | grep -oP '<a\s[^>]*href="\K[^"]*amd64\.deb(?="[^>]*>)' | head -n 1)
34+
RELEASE=$(echo "$DEB_URL" | grep -oP 'lyrionmusicserver_\K[0-9.]+(?=_amd64\.deb)')
35+
DEB_FILE="/tmp/lyrionmusicserver_${RELEASE}_amd64.deb"
36+
if [[ ! -f /opt/lyrion_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/lyrion_version.txt)" ]]; then
37+
msg_info "Updating $APP to ${RELEASE}"
38+
curl -fsSL -o "$DEB_FILE" "$DEB_URL"
39+
$STD apt install "$DEB_FILE" -y
40+
systemctl restart lyrion
41+
echo "${RELEASE}" >/opt/${APP}_version.txt
42+
msg_ok "Updated $APP to ${RELEASE}"
43+
44+
msg_info "Cleaning up"
45+
$STD rm -f "$DEB_FILE"
46+
$STD apt-get -y autoremove
47+
$STD apt-get -y autoclean
48+
msg_ok "Cleaned"
49+
else
50+
msg_ok "$APP is already up to date (${RELEASE})"
51+
fi
52+
}
53+
54+
start
55+
build_container
56+
description
57+
58+
msg_ok "Completed Successfully!\n"
59+
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
60+
echo -e "${INFO}${YW} Access the web interface at:${CL}"
61+
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}"
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"name": "Lyrion Music Server",
3+
"slug": "lyrionmusicserver",
4+
"categories": [
5+
9
6+
],
7+
"date_created": "2025-05-21",
8+
"type": "ct",
9+
"updateable": true,
10+
"privileged": false,
11+
"config_path": "/etc/default/lyrionmusicserver",
12+
"interface_port": 9000,
13+
"documentation": "https://lyrion.org/",
14+
"website": "https://lyrion.org/",
15+
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/lyrion-media-server.webp",
16+
"description": "Lyrion Music Server is an open-source server software to stream local music collections, internet radio, and music services to Squeezebox and compatible audio players.",
17+
"install_methods": [
18+
{
19+
"type": "default",
20+
"script": "ct/lyrionmusicserver.sh",
21+
"resources": {
22+
"cpu": 1,
23+
"ram": 1024,
24+
"hdd": 3,
25+
"os": "Debian",
26+
"version": "12"
27+
}
28+
}
29+
],
30+
"default_credentials": {
31+
"username": null,
32+
"password": null
33+
},
34+
"notes": []
35+
}

install/lyrionmusicserver-install.sh

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright (c) 2021-2025 community-scripts ORG
4+
# Author: Omar Minaya
5+
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
6+
# Source: https://lyrion.org/getting-started/
7+
8+
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
9+
color
10+
verb_ip6
11+
catch_errors
12+
setting_up_container
13+
network_check
14+
update_os
15+
16+
msg_info "Setup Lyrion Music Server"
17+
DEB_URL=$(curl -fsSL 'https://lyrion.org/getting-started/' | grep -oP '<a\s[^>]*href="\K[^"]*amd64\.deb(?="[^>]*>)' | head -n 1)
18+
RELEASE=$(echo "$DEB_URL" | grep -oP 'lyrionmusicserver_\K[0-9.]+(?=_amd64\.deb)')
19+
DEB_FILE="/tmp/lyrionmusicserver_${RELEASE}_amd64.deb"
20+
curl -fsSL -o "$DEB_FILE" "$DEB_URL"
21+
$STD apt install "$DEB_FILE" -y
22+
echo "${RELEASE}" >"/opt/lyrion_version.txt"
23+
msg_ok "Setup Lyrion Music Server v${RELEASE}"
24+
25+
motd_ssh
26+
customize
27+
28+
msg_info "Cleaning up"
29+
$STD rm -f "$DEB_FILE"
30+
$STD apt-get -y autoremove
31+
$STD apt-get -y autoclean
32+
msg_ok "Cleaned"

0 commit comments

Comments
 (0)