====== Lidarr on Synology ======
https://aur.archlinux.org/packages/lidarr \\
https://github.com/lidarr/Lidarr/wiki/Installation-%28FreeBSD-FreeNAS%29
mkdir -p /volume2/\@appstore/lidarr
cd /volume2/\@appstore/lidarr
#go to: https://ci.appveyor.com/project/Lidarr/lidarr/branch/develop/artifacts
sudo wget https://ci.appveyor.com/api/buildjobs/3407qv0i5s9l7fl4/artifacts/Lidarr.develop.0.2.0.267.linux.tar.gz
sudo tar -xvf Lidarr.develop.0.2.0.267.linux.tar.gz
sudo ls -l Lidarr/
sudo rm Lidarr.develop.*.linux.tar.gz
sudo ln -s /volume2/\@appstore/lidarr /usr/local/lidarr
sudo mkdir /var/packages/lidarr
sudo ln -s /volume2/\@appstore/lidarr /var/packages/lidarr/target
sudo ln -s /usr/syno/etc/packages/lidarr /var/packages/lidarr/etc
sudo touch /var/packages/lidarr/enabled
sudo mkdir /var/packages/lidarr/conf
sudo mkdir /var/packages/lidarr/scripts
sudo synouser --add lidarr "" "Lidarr User" 0 "" 0
??? sudo synogroup --add users lidarr
MEMBERS="$(sudo synogroup --get users | grep '^[0-9]' | sed 's/.*\[\([^]]*\)].*/\1/' | tr '\n' ' ')"
sudo synogroup --member "users" $MEMBERS "lidarr"
sudo synogroup --rebuild all
sudo sed -i "s#/var/services/homes/lidarr#/var/packages/lidarr/target/var#" /etc/passwd
sudo chown -R lidarr:root /usr/local/lidarr/
sudo vi /var/packages/lidarr/scripts/start-stop-status
Enter '':set paste'' in vi to enable proper copy&paste without auto-indent issues.
#!/bin/sh
# Package
PACKAGE="lidarr"
DNAME="Lidarr"
# Others
INSTALL_DIR="/usr/local/${PACKAGE}"
PATH="${INSTALL_DIR}/bin:${PATH}"
USER="${PACKAGE}"
PID_FILE="${INSTALL_DIR}/var/.config/Lidarr/nzbdrone.pid"
INSTALL_LOG="${INSTALL_DIR}/var/install.log"
MONO_PATH="/usr/local/mono/bin"
MONO="${MONO_PATH}/mono"
LIDARR="${INSTALL_DIR}/share/Lidarr/Lidarr.exe"
COMMAND="env PATH=${MONO_PATH}:${PATH} LD_LIBRARY_PATH=${INSTALL_DIR}/lib ${MONO} -- --debug ${LIDARR}"
start_daemon ()
{
start-stop-daemon -c ${USER} -S -q -b -N 10 -x ${COMMAND} > /dev/null
sleep 2
}
stop_daemon ()
{
start-stop-daemon -K -q -u ${USER} -p ${PID_FILE}
wait_for_status 1 20 || start-stop-daemon -K -s 9 -q -p ${PID_FILE}
}
daemon_status ()
{
start-stop-daemon -K -q -t -u ${USER} -p ${PID_FILE}
}
wait_for_status ()
{
counter=$2
while [ ${counter} -gt 0 ]; do
daemon_status
[ $? -eq $1 ] && return
let counter=counter-1
sleep 1
done
return 1
}
case $1 in
start)
if daemon_status; then
echo ${DNAME} is already running
else
echo Starting ${DNAME} ...
start_daemon
fi
;;
stop)
if daemon_status; then
echo Stopping ${DNAME} ...
stop_daemon
else
echo ${DNAME} is not running
fi
;;
status)
if daemon_status; then
echo ${DNAME} is running
exit 0
else
echo ${DNAME} is not running
exit 1
fi
;;
log)
echo "${INSTALL_LOG}"
exit 0
;;
*)
exit 1
;;
esac
''sudo vi /var/packages/lidarr/scripts/lidarr.sc''
[Lidarr]
title="lidarr"
desc="Lidarr"
port_forward="yes"
dst.ports="8686/tcp"
sudo chmod 755 start-stop-status
sudo chmod 755 lidarr.sc
sudo /usr/syno/bin/servicetool --install-configure-file --package /var/packages/lidarr/scripts/lidarr.sc
sudo vi /etc/init/pkgctl-lidarr.conf
# Generated by Package Center. DO NOT EDIT.
start on syno.pkgctl.pkgstart and syno.pkgctl.started NAME="mono"
stop on syno.pkgctl.shutdown and syno.pkgctl.stopping NAME="mono"
cgroup cpuacct "pkgctl-lidarr"
cgroup memory "pkgctl-lidarr"
console log
env SELF="lidarr"
pre-start script
/usr/syno/sbin/synopkgctl start "$SELF"
/sbin/initctl emit --no-wait syno.pkgctl.started NAME="$SELF"
end script
post-stop script
/sbin/initctl emit syno.pkgctl.stopping NAME="$SELF"
/usr/syno/sbin/synopkgctl stop "$SELF"
end script
Start the service
service lidarr start
Navigate to your new Lidarr service in your browser and enjoy!\\
http://ip_addr:8686
/usr/local/mono/bin/mono --debug /volume2/\@appstore/lidarr/Lidarr/Lidarr.exe /nobrowser