11#! /usr/bin/env bash
22
3- # Copyright (c) 2021-2025 tteck
4- # Author: tteck (tteckster )
3+ # Copyright (c) 2021-2025 community-scripts ORG
4+ # Author: MickLesk (CanbiZ )
55# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
6- # Source: https://www. navidrome.org/
6+ # Source: https://github.com/ navidrome/navidrome
77
88source /dev/stdin <<< " $FUNCTIONS_FILE_PATH"
99color
@@ -13,67 +13,30 @@ setting_up_container
1313network_check
1414update_os
1515
16- msg_info " Installing Dependencies (patience)"
17- $STD apt-get install -y ffmpeg
16+ msg_info " Installing Dependencies (Patience)"
17+ $STD apt-get install -y \
18+ ffmpeg
1819msg_ok " Installed Dependencies"
1920
2021msg_info " Installing Navidrome"
21- RELEASE=$( curl -fsSL https://api.github.com/repos/navidrome/navidrome/releases/latest | grep " tag_name" | awk ' {print substr($2, 3, length($2)-4) }' )
22- install -d -o root -g root /opt/navidrome
23- install -d -o root -g root /var/lib/navidrome
24- curl -fsSL " https://github.com/navidrome/navidrome/releases/download/v${RELEASE} /navidrome_${RELEASE} _linux_amd64.tar.gz" -o " Navidrome.tar.gz"
25- $STD tar -xvzf Navidrome.tar.gz -C /opt/navidrome/
26- chown -R root:root /opt/navidrome
27- chmod +x /opt/navidrome/navidrome
28- mkdir -p /music
29- cat << EOF >/var/lib/navidrome/navidrome.toml
30- MusicFolder = '/music'
31- EOF
32- msg_ok " Installed Navidrome"
33-
34- msg_info " Creating Service"
35- service_path=" /etc/systemd/system/navidrome.service"
36-
37- echo " [Unit]
38- Description=Navidrome Music Server and Streamer compatible with Subsonic/Airsonic
39- After=remote-fs.target network.target
40- AssertPathExists=/var/lib/navidrome
41-
42- [Service]
43- User=root
44- Group=root
45- Type=simple
46- ExecStart=/opt/navidrome/navidrome --configfile '/var/lib/navidrome/navidrome.toml'
47- WorkingDirectory=/var/lib/navidrome
48- TimeoutStopSec=20
49- KillMode=process
50- Restart=on-failure
51- DevicePolicy=closed
52- NoNewPrivileges=yes
53- PrivateTmp=yes
54- PrivateUsers=yes
55- ProtectControlGroups=yes
56- ProtectKernelModules=yes
57- ProtectKernelTunables=yes
58- RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
59- RestrictNamespaces=yes
60- RestrictRealtime=yes
61- SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap
62- ReadWritePaths=/var/lib/navidrome
63- ProtectSystem=full
64-
65- [Install]
66- WantedBy=multi-user.target" > $service_path
67- systemctl daemon-reload
22+ RELEASE=$( curl -fsSL https://api.github.com/repos/navidrome/navidrome/releases/latest | grep " tag_name" | awk -F ' "' ' {print $4}' )
23+ TMP_DEB=$( mktemp --suffix=.deb)
24+ curl -fsSL -o " ${TMP_DEB} " " https://github.com/navidrome/navidrome/releases/download/${RELEASE} /navidrome_${RELEASE# v} _linux_amd64.deb"
25+ $STD apt-get install -y " ${TMP_DEB} "
6826systemctl enable -q --now navidrome
27+ echo " ${RELEASE} " > /opt/Navidrome_version.txt
28+ msg_ok " Installed Navidrome"
6929
70- msg_ok " Created Service"
30+ read -p " Do you want to install filebrowser addon? (y/n) " -n 1 -r
31+ if [[ $REPLY =~ ^[Yy]$ ]]; then
32+ bash -c " $( curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/filebrowser.sh) "
33+ fi
7134
7235motd_ssh
7336customize
7437
7538msg_info " Cleaning up"
39+ rm -f " ${TMP_DEB} "
7640$STD apt-get -y autoremove
7741$STD apt-get -y autoclean
78- rm -rf /root/Navidrome.tar.gz
7942msg_ok " Cleaned"
0 commit comments