The Synology ships with a Download Station but it's not remotely as advanced as SABnzbd. What I mostly miss is automatic par & unpacking of it's downloads. Here's how to fix that.

Warning

This article assumes you're somewhat skilled in Linux. By applying these suggestions you could seriously mess up your Disk Station.

I'm doing this on a DS411j running DSM 3.0. Your mileage may vary.

Maybe you don't want SABnzbd after all

In a later article I demonstrate how much higher downloads speeds can be achieved by synology's own nzbget, and a way that you can still have automatic par & unpacking of it's downloads. I

First of All

  • Turn off the Download Station (Config screen)
  • Turn on SSH acccess (Terminal)
  • Login as root (same password as admin) via SSH and type: sh
  • install ipkg, which is like your Synology's secret AppStore.

Install SABnzbd & the Family

If you paste the following it installs SABnzbd as root. There are some serious risks involved with that so you may want to change it to someone with less permissions.

ipkg install bzip2 par2cmdline unrar unzip zlib git
ipkg install py26-cheetah py26-openssl python26
install sabnzbdplus

cd /opt/local
[ -d sickbeard/.git ] || git clone git://github.com/midgetspy/Sick-Beard.git  sickbeard
cd sickbeard
git pull

cd /opt/local
[ -d couchpotato/.git ] || git clone git://github.com/RuudBurger/CouchPotato.git couchpotato
cd couchpotato
git pull

Config

Most can be done via the webinterfaces, except for the standard port of CouchPotato, which conflicts with the Synology interface (:5000).

Open the file /opt/local/couchpotato/config.ini, look for the [global] header and change the port key to: 9300

[global]
port = 9300

Startup

Create a startup file:

$ cat << EOT > /usr/syno/etc/rc.d/S99SABnzbd.sh
#!/usr/bin/env sh
if [ "start" = "\$1" ]; then
  /opt/bin/python2.6 /opt/share/SABnzbd/SABnzbd.py -f /root/.sabnzbd/sabnzbd.ini -s 0.0.0.0:9200 -d
  /opt/bin/python2.6 /opt/local/couchpotato/CouchPotato.py --config=/opt/local/couchpotato/config.ini --datadir=/volume1 -d
  /opt/bin/python2.6 /opt/local/sickbeard/SickBeard.py --quiet --port 9400 --config /opt/local/sickbeard/config.ini --datadir=/volume1 --daemon
elif [ "stop" = "\$1" ]; then
  /usr/bin/killall -9 python2.6
elif [ "restart" = "\$1" ]; then
  \$0 stop
  \$0 start
elif [ "" = "\$1" ]; then
  echo "Start, stop or restart service? Use a parameter..."
fi
EOT

Make it executable:

$ chmod a+x /usr/syno/etc/rc.d/S99SABnzbd.sh

And run it:

$ /usr/syno/etc/rc.d/S99SABnzbd.sh start

Connect to:

Next time your Synology boots, SABnzbd and it's family will boot as well.