# Update packages
sudo apt-get update
# Upgrade packages
sudo apt-get upgrade -y
# Install libmono-cil-dev
sudo apt-get install libmono-cil-dev -y
# You can check your mono version (before continuing)
mono --version
# Download pre-compiled mono 3.1 arm deb package
wget http://sourceforge.net/projects/bananapi/files/mono_3.10-armhf.deb
#Alt: wget http://www.frickelzeugs.de/mono_3.10-armhf.deb
#Alt: wget https://www.dropbox.com/s/k6ff6s9bfe4mfid/mono_3.10-armhf.deb
#Alt: Install the Mono 3.10 package for Raspbian: sudo dpkg -i mono_3.10-armhf.deb
# You can check your mono version
mono --version
# Check whether HTTPS is installed:
dpkg --get-selections | grep -E 'transport'
# If not, Install HTTPS transport
sudo apt-get install apt-transport-https -y --force-yes
# Install Directory Manager
sudo apt-get install dirmngr
# Add Sonarr Sources
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FDA5DFFC
echo "deb https://apt.sonarr.tv/ master main" | sudo tee -a /etc/apt/sources.list.d/sonarr.list
# Update Packages
sudo apt-get update
# Install Sonarr
sudo apt-get install nzbdrone libsqlite3-dev -y
# Take ownership of Sonarr so updates work
sudo chown -R pi:pi /opt/NzbDrone
# Now, AutoStart Setup
sudo nano /etc/init.d/nzbdrone
# Paste in this code, everything between hash lines:
###########################################################
###########################################################
######################COPY#BELOW#HERE######################
#! /bin/sh
### BEGIN INIT INFO
# Provides: NzbDrone
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Should-Start: $NetworkManager
# Should-Stop: $NetworkManager
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts instance of NzbDrone
# Description: starts instance of NzbDrone using start-stop-daemon
### END INIT INFO
############### EDIT ME ##################
# path to app
APP_PATH=/opt/NzbDrone
# user
RUN_AS=pi
# path to mono bin
DAEMON=$(which mono)
# Path to store PID file
PID_FILE=/var/run/nzbdrone/nzbdrone.pid
PID_PATH=$(dirname $PID_FILE)
# script name
NAME=nzbdrone
# app name
DESC=NzbDrone
# startup args
EXENAME="NzbDrone.exe"
DAEMON_OPTS=" "$EXENAME
############### END EDIT ME ##################
NZBDRONE_PID=`ps auxf | grep NzbDrone.exe | grep -v grep | awk '{print $2}'`
test -x $DAEMON || exit 0
set -e
#Look for PID and create if doesn't exist
if [ ! -d $PID_PATH ]; then
mkdir -p $PID_PATH
chown $RUN_AS $PID_PATH
fi
if [ ! -d $DATA_DIR ]; then
mkdir -p $DATA_DIR
chown $RUN_AS $DATA_DIR
fi
if [ -e $PID_FILE ]; then
PID=`cat $PID_FILE`
if ! kill -0 $PID > /dev/null 2>&1; then
echo "Removing stale $PID_FILE"
rm $PID_FILE
fi
fi
echo $NZBDRONE_PID > $PID_FILE
case "$1" in
start)
if [ -z "${NZBDRONE_PID}" ]; then
echo "Starting $DESC"
rm -rf $PID_PATH || return 1
install -d --mode=0755 -o $RUN_AS $PID_PATH || return 1
start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS
else
echo "NzbDrone already running."
fi
;;
stop)
echo "Stopping $DESC"
echo $NZBDRONE_PID > $PID_FILE
start-stop-daemon --stop --pidfile $PID_FILE --retry 15
;;
restart|force-reload)
echo "Restarting $DESC"
start-stop-daemon --stop --pidfile $PID_FILE --retry 15
start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS
;;
status)
# Use LSB function library if it exists
if [ -f /lib/lsb/init-functions ]; then
. /lib/lsb/init-functions
if [ -e $PID_FILE ]; then
status_of_proc -p $PID_FILE "$DAEMON" "$NAME" && exit 0 || exit $?
else
log_daemon_msg "$NAME is not running"
exit 3
fi
else
# Use basic functions
if [ -e $PID_FILE ]; then
PID=`cat $PID_FILE`
if kill -0 $PID > /dev/null 2>&1; then
echo " * $NAME is running"
exit 0
fi
else
echo " * $NAME is not running"
exit 3
fi
fi
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac
exit 0
######################COPY#ABOVE#HERE######################
###########################################################
###########################################################
# Make the Sonarr init.d script executable
sudo chmod +x /etc/init.d/nzbdrone
# Update the Sonarr init.d to start on boot
sudo update-rc.d nzbdrone defaults 98
# Reboot and configure Sonarr.
sudo reboot
# Configure Sonarr
Launch within Internal Browser: http://localhost:8989
Within Settings, configure Download Client, copying the api key from sabnzbd and using the 'sonarr' category.
Within Settings, configure Index Providers
Under General, Set appropriate External internet access
Set List of local network ranges
# Map Network Drives to the Network TV and Movies Paths...
cd /home/pi
mkdir VID_DRIVE
To test connectivity manually...
sudo mount -t cifs -o username=****, password=**** //netpath/drive VID_DRIVE
In order to get it to auto-mount (including a delay after network connectivity)...
Go to Raspberry Pi Configuration -> System -> Network at Boot and check, "Wait for network".
Edit fstab...
sudo nano /etc/fstab
Then, add the line to fstab...
//netpath/drive /home/pi/VID_DRIVE cifs username=****,password=****,vers=1.0,rw,uid=1000,iocharset=utf8,x-systemd.automount 0 0