Skip to content

Commit 1b98ba2

Browse files
authored
Added Lidarr
1 parent 26c2b65 commit 1b98ba2

21 files changed

+275
-0
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ Features features of AtoMiC ToolKit include:
4545
<li>Jackett - Install, Uninstall, Update and Backup / Restore</li>
4646
<li>Kodi - Install, Uninstall Autoboot enable and Update</li>
4747
<li>Lazy Librarian - Install, Uninstall, Reset Password, Update and Backup / Restore</li>
48+
<li>Lidarr - Install, Uninstall, Update and Backup / Restore</li>
4849
<li>Madsonic - Install, Uninstall, Update and Backup / Restore</li>
4950
<li>Medusa - Install, Uninstall, Update and Backup / Restore</li>
5051
<li>Muximux - Install, Uninstall, Update</li>

batch-processes/bat-apps-install-uninstall.sh

+3
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ source "$SCRIPTPATH/setup.sh" -u headphones
4343
# source "$SCRIPTPATH/setup.sh" -i lazylibrarian # Init.d script broken
4444
# source "$SCRIPTPATH/setup.sh" -x lazylibrarian
4545
# source "$SCRIPTPATH/setup.sh" -u lazylibrarian
46+
source "$SCRIPTPATH/setup.sh" -i lidarr
47+
# source "$SCRIPTPATH/setup.sh" -x lidarr
48+
source "$SCRIPTPATH/setup.sh" -u lidarr
4649
source "$SCRIPTPATH/setup.sh" -i madsonic
4750
# source "$SCRIPTPATH/setup.sh" -x madsonic
4851
source "$SCRIPTPATH/setup.sh" -u madsonic

batch-processes/bat-apps-install.sh

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ source "$SCRIPTPATH/setup.sh" -i htpcmanager
1313
source "$SCRIPTPATH/setup.sh" -i jackett
1414
source "$SCRIPTPATH/setup.sh" -i kodi
1515
source "$SCRIPTPATH/setup.sh" -i lazylibrarian
16+
source "$SCRIPTPATH/setup.sh" -i lidarr
1617
source "$SCRIPTPATH/setup.sh" -i madsonic
1718
source "$SCRIPTPATH/setup.sh" -i medusa
1819
source "$SCRIPTPATH/setup.sh" -i muximux

batch-processes/bat-apps-uninstall.sh

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ source "$SCRIPTPATH/setup.sh" -u htpcmanager
1313
source "$SCRIPTPATH/setup.sh" -u jackett
1414
source "$SCRIPTPATH/setup.sh" -u kodi
1515
source "$SCRIPTPATH/setup.sh" -u lazylibrarian
16+
source "$SCRIPTPATH/setup.sh" -u lidarr
1617
source "$SCRIPTPATH/setup.sh" -u madsonic
1718
source "$SCRIPTPATH/setup.sh" -u medusa
1819
source "$SCRIPTPATH/setup.sh" -u muximux

batch-processes/bat-apps-update.sh

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ source "$SCRIPTPATH/setup.sh" -m htpcmanager
1313
source "$SCRIPTPATH/setup.sh" -m jackett
1414
source "$SCRIPTPATH/setup.sh" -m kodi
1515
source "$SCRIPTPATH/setup.sh" -m lazylibrarian
16+
source "$SCRIPTPATH/setup.sh" -m lidarr
1617
source "$SCRIPTPATH/setup.sh" -m madsonic
1718
source "$SCRIPTPATH/setup.sh" -m medusa
1819
source "$SCRIPTPATH/setup.sh" -m muximux

lidarr/lidarr-backup-files

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
APPSETTINGS
2+
APPSETTINGSDB

lidarr/lidarr-constants.sh

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
3+
APPNAME='lidarr'
4+
APPSHORTNAME='lr'
5+
APPPATH='/opt/lidarr'
6+
APPTITLE='Lidarr'
7+
APPDEPS='libmono-cil-dev'
8+
APPDOWNLOADURL='https://api.github.com/repos/lidarr/lidarr/releases'
9+
APPDOWNLOADEXT='linux.tar.gz'
10+
APPDOWNLOADSTRIP='--strip-components=1'
11+
APPDPORT='8686'
12+
APPSETTINGSTYPE='DB'
13+
APPSETTINGSDIR="/home/$UNAME/.config/Lidarr"
14+
APPSETTINGS=$APPSETTINGSDIR'/config.xml'
15+
APPSETTINGSDB=$APPSETTINGSDIR'/lidarr.db'
16+
PORTSEARCH='<port>'
17+
DBUSERSEARCH='SELECT Username FROM Users WHERE Id = 1;'
18+
APPSYSTEMD='lidarr.service'
19+
APPSYSTEMDLOC=$SCRIPTPATH'/lidarr/'$APPSYSTEMD
20+
APPINITD='lidarr'
21+
APPINITDLOC=$SCRIPTPATH'/lidarr/lidarr.init'

lidarr/lidarr-folders-list

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/opt/lidarr
2+
/home/UNAME/.config
3+
/home/UNAME/.config/Lidarr

lidarr/lidarr-init-update.sh

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
# Script Name: AtoMiC Lidarr init.d update
3+
4+
echo 'Updating init.d file'
5+
6+
ReplaceString "RUNASUSER=root" "RUNASUSER=$UNAME" "/etc/init.d/$APPINITD"
7+
ReplaceString "RUNASGROUP=root" "RUNASGROUP=$UGROUP" "/etc/init.d/$APPINITD"

lidarr/lidarr-installer.sh

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
# Script Name: AtoMiC Lidarr Installer
3+
4+
source "$SCRIPTPATH/inc/header.sh"
5+
echo -e "${GREEN}AtoMiC $APPTITLE Installer Script$ENDCOLOR"
6+
source "$SCRIPTPATH/inc/pause.sh"
7+
source "$SCRIPTPATH/inc/app-autostart-remove.sh"
8+
source "$SCRIPTPATH/inc/app-move-previous.sh"
9+
source "$SCRIPTPATH/utils/mono/mono-installer.sh"
10+
source "$SCRIPTPATH/lidarr/lidarr-constants.sh"
11+
source "$SCRIPTPATH/inc/app-install-deps.sh"
12+
source "$SCRIPTPATH/inc/app-folders-create.sh"
13+
source "$SCRIPTPATH/inc/app-git-download-release.sh"
14+
source "$SCRIPTPATH/inc/app-autostart-configure.sh"
15+
source "$SCRIPTPATH/inc/app-set-permissions.sh"
16+
source "$SCRIPTPATH/inc/app-start.sh"
17+
source "$SCRIPTPATH/inc/app-install-confirmation.sh"
18+
source "$SCRIPTPATH/inc/thankyou.sh"
19+
source "$SCRIPTPATH/inc/exit.sh"

lidarr/lidarr-menu.sh

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/bin/bash
2+
# Script Name: AtoMiC Lidarr Menu
3+
4+
SUBCHOICE=$(whiptail --title "AtoMiC Toolkit - Manage Lidarr" \
5+
--menu "What would you like to do?" --backtitle "$BACKTITLE" \
6+
--fb --cancel-button "Exit" $LINES $COLUMNS "$NETLINES" \
7+
"Install" "Install Lidarr" \
8+
"Uninstall" "Uninstall Lidarr" \
9+
"Backup" "Backup Lidarr settings" \
10+
"Restore" "Restore Lidarr settings from a previous backup" \
11+
"Manual Update" "Manually update Lidarr" \
12+
"Enable Reverse Proxy" "Allow access" \
13+
"Disable Reverse Proxy" "Remove access" \
14+
"Access Details" "View Lidarr access details" \
15+
"Go Back" "Back to Main Menu" 3>&1 1>&2 2>&3)
16+
17+
exitstatus=$?
18+
if [[ $exitstatus = 0 ]]; then
19+
source "$SCRIPTPATH/lidarr/lidarr-constants.sh"
20+
case "$SUBCHOICE" in
21+
"Install" ) source "$SCRIPTPATH/$APPNAME/$APPNAME-installer.sh" ;;
22+
"Uninstall" ) source "$SCRIPTPATH/$APPNAME/$APPNAME-uninstaller.sh" ;;
23+
"Backup" ) source "$SCRIPTPATH/inc/app-backup-controller.sh" ;;
24+
"Restore" ) source "$SCRIPTPATH/inc/app-restore-controller.sh" ;;
25+
"Manual Update" ) source "$SCRIPTPATH/$APPNAME/$APPNAME-update.sh" ;;
26+
"Enable Reverse Proxy" ) source "$SCRIPTPATH/utils/nginx/nginx-enable-location.sh" ;;
27+
"Disable Reverse Proxy" ) source "$SCRIPTPATH/utils/nginx/nginx-disable-location.sh" ;;
28+
"Access Details" ) source "$SCRIPTPATH/inc/app-access-details.sh" ;;
29+
"Go Back" ) source "$SCRIPTPATH/menus/menu-pvrs.sh" ;;
30+
*) source "$SCRIPTPATH/inc/invalid-option.sh" ;;
31+
esac
32+
else
33+
source "$SCRIPTPATH/inc/thankyou.sh"
34+
echo
35+
sleep 1
36+
exit 0
37+
fi
+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
# Script Name: AtoMiC Lidarr Reverse Proxy Disable.
3+
4+
ReplaceString "<UrlBase>lidarr</UrlBase>" "<UrlBase></UrlBase>" "$APPSETTINGS"

lidarr/lidarr-reverse-proxy-enable.sh

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
# Script Name: AtoMiC Lidarr Reverse Proxy Enable.
3+
4+
ReplaceString "<UrlBase></UrlBase>" "<UrlBase>lidarr</UrlBase>" "$APPSETTINGS"

lidarr/lidarr-systemd-update.sh

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
# Script Name: AtoMiC Sonarr Systemd Update
3+
4+
ReplaceString "User=ReplaceMe" "User=$UNAME" "/etc/systemd/system/$APPSYSTEMD"
5+
ReplaceString "Group=ReplaceMe" "Group=$UGROUP" "/etc/systemd/system/$APPSYSTEMD"
6+
7+
sudo systemctl daemon-reload
8+
sudo systemctl enable "$APPSYSTEMD"

lidarr/lidarr-uninstaller.sh

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/bash
2+
# Script Name: AtoMiC Lidarr Uninstaller
3+
4+
source "$SCRIPTPATH/inc/header.sh"
5+
echo -e "${GREEN}AtoMiC $APPTITLE Uninstaller Script$ENDCOLOR"
6+
source "$SCRIPTPATH/inc/pause.sh"
7+
source "$SCRIPTPATH/inc/app-autostart-remove.sh"
8+
source "$SCRIPTPATH/inc/app-file-del.sh"
9+
source "$SCRIPTPATH/inc/app-uninstall-confirmation.sh"
10+
source "$SCRIPTPATH/inc/thankyou.sh"
11+
source "$SCRIPTPATH/inc/exit.sh"

lidarr/lidarr-update.sh

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/bash
2+
# Script Name: AtoMiC Lidarr Updater
3+
4+
source "$SCRIPTPATH/inc/header.sh"
5+
echo -e "${GREEN}AtoMiC $APPTITLE Update Script$ENDCOLOR"
6+
source "$SCRIPTPATH/inc/pause.sh"
7+
8+
if DoesAppFolderExist; then
9+
source "$SCRIPTPATH/inc/app-stop.sh"
10+
source "$SCRIPTPATH/utils/mono/mono-installer.sh"
11+
source "$SCRIPTPATH/lidarr/lidarr-constants.sh"
12+
source "$SCRIPTPATH/inc/app-install-deps.sh"
13+
if "$SCRIPTPATH/lidarr/lidarr-version-handler.sh"; then
14+
source "$SCRIPTPATH/inc/app-git-download-release.sh"
15+
fi
16+
source "$SCRIPTPATH/inc/app-set-permissions.sh"
17+
source "$SCRIPTPATH/inc/app-start.sh"
18+
source "$SCRIPTPATH/inc/app-update-confirmation.sh"
19+
source "$SCRIPTPATH/inc/thankyou.sh"
20+
fi
21+
source "$SCRIPTPATH/inc/exit.sh"

lidarr/lidarr-version-handler.sh

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
# Script Name: AtoMiC Lidarr Version Check
3+
4+
echo
5+
source "$SCRIPTPATH/inc/commons.sh"
6+
source "$SCRIPTPATH/lidarr/lidarr-constants.sh"
7+
echo -e "${YELLOW}--->Lidarr Version Check...$ENDCOLOR"
8+
source "$SCRIPTPATH/inc/app-git-latest-release-version.sh"
9+
echo -e "Available Version: ${GREEN}$AVAILABLEVERSION$ENDCOLOR"
10+
11+
if ! checkappversion "LIDARR" "$AVAILABLEVERSION" ; then
12+
exit 1
13+
fi

lidarr/lidarr.init

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
#!/bin/bash
2+
3+
### BEGIN INIT INFO
4+
# Provides: lidarr
5+
# Required-Start: $local_fs $network $remote_fs
6+
# Required-Stop: $local_fs $network $remote_fs
7+
# Default-Start: 2 3 4 5
8+
# Default-Stop: 0 1 6
9+
# Short-Description: lidarr
10+
# Description: Lidarr
11+
### END INIT INFO
12+
13+
. /lib/lsb/init-functions
14+
15+
#set -e
16+
17+
NAME=lidarr
18+
DESC="Lidarr"
19+
MONO=$(which mono)
20+
21+
DAEMON=/opt/lidarr/Lidarr.exe
22+
DAEMONOPTS=""
23+
24+
PIDDIR=/var/run/${NAME}
25+
PIDFILE=${PIDDIR}/${NAME}.pid
26+
27+
RUNASUSER=root
28+
RUNASGROUP=root
29+
RUNAS=$RUNASUSER:$RUNASGROUP
30+
31+
DATADIR=/home/$RUNASUSER/
32+
33+
if ! [ -r ${DAEMON} ]; then echo "Can't read: ${DAEMON}" 2>&1; exit 1; fi
34+
if ! [ -x ${MONO} ]; then echo "Not executable: ${MONO}" 2>&1; exit 1; fi
35+
if ! [ -d ${DATADIR} ]; then echo "No such directory: ${DATADIR}" 2>&1; exit 1; fi
36+
37+
if [ ! -d ${PIDDIR} ]; then
38+
mkdir -p ${PIDDIR}; chown ${RUNASUSER}:root ${PIDDIR}; chmod 0750 ${PIDDIR};
39+
fi
40+
41+
do_start() {
42+
RETVAL=1
43+
if [ -e ${PIDFILE} ]; then
44+
if ! kill -0 $(cat ${PIDFILE}) &> /dev/null; then
45+
rm -f $PIDFILE
46+
fi
47+
fi
48+
49+
log_daemon_msg "Starting ${DESC}" "${NAME}"
50+
if pgrep -f "^${MONO} ${DAEMON}" > /dev/null 2>&1; then
51+
log_progress_msg "(already running?)"
52+
else
53+
start-stop-daemon -q -d ${DATADIR} -c $RUNAS --start --background --make-pidfile --pidfile $PIDFILE --exec $MONO -- $DAEMON $DAEMON_OPTS
54+
RETVAL=$?
55+
fi
56+
log_end_msg $RETVAL
57+
}
58+
do_stop() {
59+
RETVAL=1
60+
log_daemon_msg "Stopping ${DESC}" "${NAME}"
61+
if ! pgrep -f "^${MONO} ${DAEMON}" > /dev/null 2>&1; then
62+
log_progress_msg "(not running?)"
63+
else
64+
start-stop-daemon -q --stop --pidfile $PIDFILE --retry 15
65+
RETVAL=$?
66+
fi
67+
log_end_msg $RETVAL
68+
69+
}
70+
71+
case "$1" in
72+
start)
73+
do_start
74+
;;
75+
stop)
76+
do_stop
77+
;;
78+
79+
status)
80+
status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
81+
;;
82+
83+
restart|force-reload)
84+
do_stop;
85+
do_start;
86+
;;
87+
*)
88+
N=/etc/init.d/$NAME
89+
echo "Usage: $0 {start|stop|status|restart|force-reload}" >&2
90+
exit 1
91+
;;
92+
esac
93+
94+
exit 0

lidarr/lidarr.service

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[Unit]
2+
Description=Lidarr
3+
After=syslog.target network.target
4+
5+
[Service]
6+
User=ReplaceMe
7+
Group=ReplaceMe
8+
9+
Type=simple
10+
ExecStart=/usr/bin/mono /opt/lidarr/Lidarr.exe -nobrowser
11+
TimeoutStopSec=20
12+
KillMode=process
13+
Restart=on-failure
14+
15+
[Install]
16+
WantedBy=multi-user.target

menus/menu-pvrs.sh

+3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ SUBCHOICE=$(whiptail --title "AtoMiC ToolKit - htpcBeginner.com" \
77
"CouchPotato" "Movies PVR Client" \
88
"Headphones" "Music PVR Client" \
99
"Lazy Librarian" "Book PVR Client" \
10+
"Lidarr" "Like Sonarr but made for music" \
1011
"Medusa" "Automatic Video Library Manager for TV Shows" \
1112
"Mylar" "Comics PVR Client" \
1213
"Radarr" "Works with movies à la Couchpotato" \
@@ -26,6 +27,8 @@ if [[ $exitstatus = 0 ]]; then
2627
source "$SCRIPTPATH/headphones/headphones-menu.sh" ;;
2728
"Lazy Librarian" )
2829
source "$SCRIPTPATH/lazylibrarian/lazylibrarian-menu.sh" ;;
30+
"Lidarr" )
31+
source "$SCRIPTPATH/lidarr/lidarr-menu.sh" ;;
2932
"Medusa" )
3033
source "$SCRIPTPATH/medusa/medusa-menu.sh" ;;
3134
"Mylar" )
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Version=1.0
2+
location /lidarr/
3+
{
4+
proxy_pass http://127.0.0.1:8686;
5+
}

0 commit comments

Comments
 (0)