Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- echo
- echo
- echo " ******* SABnzbd, SickBeard, and CouchPotato *******"
- echo " ******* for unRaid 5 *******"
- echo " ~dpc"
- echo " v01"
- echo
- echo
- echo "-- Please enter the location where you want to download your Prerequisites to: --"
- echo "-- (I will be using /boot/packages_global ) --"
- echo "-- NEEDS to be on /boot - so like /boot/packages --"
- echo "-- Do NOT add a slash at the end of the path --"
- echo
- read packagedir
- echo
- mkdir $packagedir
- cd $packagedir
- echo "Downloading Prerequisites --"
- wget -nv -N http://slackware.cs.utah.edu/pub/slackware/slackware-13.1/slackware/ap/nano-2.2.4-i486-1.txz
- wget -nv -N http://slackware.cs.utah.edu/pub/slackware/slackware-13.1/slackware/d/python-2.6.4-i486-1.txz
- wget -nv -N http://connie.slackware.com/~alien/slackbuilds/python-cheetah/pkg/13.0/python-cheetah-2.4.2.1-i486-1alien.tgz
- wget -nv -N http://connie.slackware.com/~alien/slackbuilds/python-yenc/pkg/13.0/python-yenc-0.3-i486-1alien.tgz
- wget -nv -N http://slackware.cs.utah.edu/pub/slackware/slackware-13.1/slackware/ap/sqlite-3.6.23.1-i486-1.txz
- wget -nv -N http://connie.slackware.com/~alien/slackbuilds/unrar/pkg/13.1/unrar-3.9.10-i486-2alien.tgz
- wget -nv -N http://slackware.cs.utah.edu/pub/slackware/slackware-12.2/slackware/a/infozip-5.52-i486-2.tgz
- wget -nv -N http://slackware.cs.utah.edu/pub/slackware/slackware-13.1/slackware/n/openssl-0.9.8n-i486-1.txz
- wget -nv -N http://repository.slacky.eu/slackware-13.1/system/pyopenssl/0.10/pyopenssl-0.10-i486-2sl.txz
- wget -nv -N http://connie.slackware.com/~alien/slackbuilds/par2cmdline/pkg/13.0/par2cmdline-0.4-i486-1alien.tgz
- wget -nv -N http://unraid-scripts.googlecode.com/files/par2cmdline-0.4-tbb-20090203-lin32.tar.gz
- wget -nv -N http://unraid-powercontrol.googlecode.com/files/powerdown-1.02-noarch-unRAID.tgz
- echo "Downloaded Prerequisites --"
- echo
- echo " -------Listing of /mnt/--------"
- echo
- ls /mnt
- echo
- echo "-- Please enter the drive/volume you want to install your custom packages on: --"
- echo
- read customvolume
- echo
- echo "-- Please enter the folder on "$customvolume" where you want to install on: --"
- echo "-- (some folks like to use: _custom)"
- echo
- read customdir
- echo
- echo "-- Creating locations for custom package installations --"
- echo
- mkdir /mnt/$customvolume/$customdir
- #Define the architecture of the box
- arch=`uname -m`
- ip=($(ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'))
- echo " ******* Architecture of Machine is" $arch " *******"
- echo " Machine IP: $ip"
- echo " ^^^IP will be used for package install^^^"
- echo
- #Pull latest version number and assign to variable and then display it
- stable=($(wget -q -O - http://sabnzbdplus.sourceforge.net/version/latest | awk '/0/{gsub(/\015/,"");print}'))
- beta=($(wget -q -O - http://sabnzbdplus.sourceforge.net/version/latest | awk '/2/{gsub(/\015/,"");print}'))
- echo " Latest SABnzbd Stable version is: $stable"
- echo " Latest SABnzbd Beta version is: $beta"
- #Menu
- echo ""
- echo " Which Version do you wish to Install?"
- echo " ----- ------- -- --- ---- -- --------"
- echo " SickBeard and CouchPotato will also Install"
- echo " also. . . Nano editor :)"
- echo
- echo
- echo "[a] Install SABnzbd 0.6.0RC2 (tested good)"
- echo "[b] Install latest STABLE SABnzbd $stable"
- echo "[c] Install latest BETA SABnzbd $beta"
- echo "[d] Exit"
- echo
- #Reads the input user puts in assigns to "option". the -n 1 tells it to read the first character inputted and proceed (without waiting for enter press)
- read -n 1 option
- echo
- cd /mnt/$customvolume/$customdir
- #Acts on what user entered
- case "$option" in
- "a")
- echo
- echo "*******Selected Option A: SABnzbd 0.6.0RC2 (tested good)*******"
- echo
- echo "Downloading SABnzbd 0.6.0RC2"
- wget -nv http://downloads.sourceforge.net/project/sabnzbdplus/sabnzbdplus-beta/sabnzbd-0.6.0RC2/SABnzbd-0.6.0RC2-src.tar.gz
- ;;
- "b")
- echo
- echo "*******Selected Option B: Latest STABLE SABnzbd $stable*******"
- echo
- echo "Downloading latest STABLE SABnzbd $stable"
- wget -nv http://downloads.sourceforge.net/project/sabnzbdplus/sabnzbdplus/sabnzbd-${stable}/SABnzbd-${stable}-src.tar.gz
- ;;
- "c")
- echo
- echo "*******Selected Option C: Latest BETA SABnzbd $beta*******"
- echo
- echo "Downloading latest BETA SABnzbd ($beta)"
- wget -nv http://downloads.sourceforge.net/project/sabnzbdplus/sabnzbdplus-beta/sabnzbd-${beta}/SABnzbd-${beta}-src.tar.gz
- ;;
- "d")
- echo
- echo "Exiting"
- exit
- ;;
- * )
- echo
- echo "Wrong selection nothing selected"
- echo "Exiting"
- exit
- ;;
- esac
- #Continues with script
- echo "******* 2. Installing SABnzbd *******"
- cd /mnt/$customvolume/$customdir/
- sablogdir=/var/log/sabnzbd
- echo "-- Port on which SABnzbd will run on (must be higher than 1024), e.g. 8081 --"
- read sabport
- echo "-- Extracting SABnzbd archive --"
- tar xzf SABnzbd*
- rm /mnt/$customvolume/$customdir/SABnzbd*.tar.gz
- echo "-- Installing SABnzbd --"
- cd /mnt/$customvolume/$customdir/SABnzbd*
- # Creating .ini for sabnzbd. Notice the change directory. echo "command" >> file doesn't seem to support creating NEW file in locations with asterisks.
- echo "[misc]" >> sabnzbd.ini
- echo "log_dir = $sablogdir" >> /mnt/$customvolume/$customdir/SABnzbd*/sabnzbd.ini
- echo "port = $sabport" >> /mnt/$customvolume/$customdir/SABnzbd*/sabnzbd.ini
- echo "host = $ip" >> /mnt/$customvolume/$customdir/SABnzbd*/sabnzbd.ini
- echo "-- Done - SABnzbd is Installed --"
- echo
- echo "******* 3. Installing SickBeard *******"
- mkdir /mnt/$customvolume/$customdir/sickbeard/
- cd /mnt/$customvolume/$customdir/sickbeard/
- echo "-- Downloading SickBeard --"
- wget -q --no-check-certificate "http://github.com/midgetspy/Sick-Beard/tarball/master"
- echo "-- Extracting SickBeard archive --"
- tar xzf midgetspy*
- rm midgetspy*.tar.gz
- echo "-- Installing SickBeard --"
- sickbeardlogdir=/var/log/sickbeard
- echo "-- Port on which SickBeard will run on (must be higher than 1024), e.g. 8082 --"
- read sickbeardport
- cd /mnt/$customvolume/$customdir/sickbeard/midgetspy*
- echo "[General]" >> config.ini
- echo "web_port = $sickbeardport" >> /mnt/$customvolume/$customdir/sickbeard/midgetspy*/config.ini
- echo "web_host = $ip" >> /mnt/$customvolume/$customdir/sickbeard/midgetspy*/config.ini
- echo "log_dir = $sickbeardlogdir" >> /mnt/$customvolume/$customdir/sickbeard/midgetspy*/config.ini
- echo "-- Done - SickBeard is Installed --"
- echo
- echo "******* 4. Installing CouchPotato *******"
- mkdir /mnt/$customvolume/$customdir/couchpotato
- cd /mnt/$customvolume/$customdir/couchpotato
- echo "-- Downloading CouchPotato --"
- wget -q --no-check-certificate "http://github.com/RuudBurger/CouchPotato/tarball/master"
- echo "-- Extracting CouchPotato archive --"
- tar xzf RuudBurger*
- rm RuudBurger*.tar.gz
- echo "-- Installing CouchPotato --"
- echo "-- Port on which CouchPotato will run on (must be higher than 1024), e.g. 8083 --"
- read couchpotatoport
- cd /mnt/$customvolume/$customdir/couchpotato/RuudBurger*
- echo "[global]" >> config.ini
- echo "port = $couchpotatoport" >> /mnt/$customvolume/$customdir/couchpotato/RuudBurger*/config.ini
- echo "host = $ip" >> /mnt/$customvolume/$customdir/couchpotato/RuudBurger*/config.ini
- echo "-- Done - CouchPotato is Installed --"
- echo
- echo "******* 5. Creating /etc/rc.d Files *******"
- mkdir /etc/rc.d/unraid.d
- #Creating rc.d entries for sabnzbd
- cat <<-EOF > /etc/rc.d/unraid.d/rc.unraid_sabnzbd
- case \$1 in
- start)
- if test -e /etc/rc.d/unraid.d/rc.unraid_sabnzbd -a \$(ps auxwww|grep SABnzbd.py|grep -v grep|wc -l) -lt 1; then
- if [ -d /mnt/$customvolume/$customdir/SABnzbd* ]; then
- cd /mnt/$customvolume/$customdir/SABnzbd*
- LOG_DIR=(\$(grep ^log_dir /mnt/$customvolume/$customdir/SABnzbd*/sabnzbd.ini | awk '{print \$3}'))
- mkdir -p \$LOG_DIR
- chown -R nobody:users . \$LOG_DIR
- usermod -s /bin/bash nobody > /dev/null 2>&1
- su nobody -c "python SABnzbd.py -d -f /mnt/$customvolume/$customdir/SABnzbd*/sabnzbd.ini > /dev/null 2>&1"
- echo SABnzbd started.
- else
- echo SABnzbd could not be started because the installation directory, /mnt/$customvolume/$customdir/SABnzbd*/, could not be found.
- echo If SABnzbd is installed on the unRAID array and the array is stopped, run \"/etc/rc.d/unraid.d/rc.unraid_sabnzbd start\" to start SABnzbd once the array is started.
- fi
- else
- echo SABnzbd is already started.
- fi
- ;;
- stop)
- if test -e /etc/rc.d/unraid.d/rc.unraid_sabnzbd -a \$(ps auxwww|grep SABnzbd.py|grep -v grep|wc -l) -gt 0; then
- kill \$(ps auxwww|grep SABnzbd.py|grep -v grep|awk '{ print \$2 }')
- sleep 4
- echo "SABnzbd stopped."
- else
- echo SABnzbd is already stopped.
- fi
- ;;
- version)
- cd /mnt/$customvolume/$customdir/SABnzbd*
- python SABnzbd.py --version | grep SABnzbd.py-
- ;;
- esac
- EOF
- chmod 755 /etc/rc.d/unraid.d/rc.unraid_sabnzbd
- echo "-- Created /etc/rc.d/unraid.d/rc.unraid_sabnzbd --"
- #Creating rc.d entries for sickbeard
- cat <<-EOF > /etc/rc.d/unraid.d/rc.unraid_sickbeard
- case \$1 in
- start)
- if test -e /etc/rc.d/unraid.d/rc.unraid_sickbeard -a \$(ps auxwww|grep SickBeard.py|grep -v grep|wc -l) -lt 1; then
- if [ -d /mnt/$customvolume/$customdir/sickbeard/midgetspy* ]; then
- cd /mnt/$customvolume/$customdir/sickbeard/midgetspy*
- LOG_DIR=(\$(grep ^log_dir /mnt/$customvolume/$customdir/sickbeard/midgetspy*/config.ini | awk '{print \$3}'))
- mkdir -p \$LOG_DIR
- chown -R nobody:users . \$LOG_DIR
- usermod -s /bin/bash nobody > /dev/null 2>&1
- su nobody -c "python SickBeard.py --daemon > /dev/null 2>&1"
- echo Sick Beard started.
- else
- echo Sick Beard could not be started because the installation directory, /mnt/$customvolume/$customdir/sickbeard/midgetspy*, could not be found.
- echo If Sick Beard is installed to the unRAID array and the unRAID array is stopped, run \"/etc/rc.d/unraid.d/rc.unraid_sickbeard start\" to start Sick Beard once the unRAID array is started.
- fi
- else
- echo Sick Beard is already started.
- fi
- ;;
- stop)
- if test -e /etc/rc.d/unraid.d/rc.unraid_sickbeard -a \$(ps auxwww|grep SickBeard.py|grep -v grep|wc -l) -gt 0; then
- kill \$(ps auxwww|grep SickBeard.py|grep -v grep|awk '{ print \$2 }')
- sleep 4
- echo Sick Beard stopped.
- else
- echo Sick Beard is already stopped.
- fi
- ;;
- esac
- EOF
- chmod 755 /etc/rc.d/unraid.d/rc.unraid_sickbeard
- echo "-- Created /etc/rc.d/unraid.d/rc.unraid_sickbeard --"
- #Creating rc.d entries for couchpotato
- cat <<-EOF > /etc/rc.d/unraid.d/rc.unraid_couchpotato
- case \$1 in
- start)
- if test -e /etc/rc.d/unraid.d/rc.unraid_couchpotato -a \$(ps auxwww|grep CouchPotato.py|grep -v grep|wc -l) -lt 1; then
- if [ -d /mnt/$customvolume/$customdir/couchpotato/RuudBurger* ]; then
- cd /mnt/$customvolume/$customdir/couchpotato/RuudBurger*
- chown -R nobody:users .
- usermod -s /bin/bash nobody > /dev/null 2>&1
- su nobody -c "python CouchPotato.py -d > /dev/null 2>&1"
- echo Couch Potato started.
- else
- echo Couch Potato could not be started because the installation directory, /mnt/$customvolume/$customdir/couchpotato/RuudBurger*, could not be found.
- echo If Couch Potato is installed to the unRAID array and the unRAID array is stopped, run \"/etc/rc.d/unraid.d/rc.unraid_couchpotato start\" to start Couch Potato once the unRAID array is started.
- fi
- else
- echo Couch Potato is already started.
- fi
- ;;
- stop)
- if test -e /etc/rc.d/unraid.d/rc.unraid_couchpotato -a \$(ps auxwww|grep CouchPotato.py|grep -v grep|wc -l) -gt 0; then
- kill \$(ps auxwww|grep CouchPotato.py|grep -v grep|awk '{ print \$2 }')
- sleep 4
- echo Couch Potato stopped.
- else
- echo Couch Potato is already stopped.
- fi
- ;;
- esac
- EOF
- chmod 755 /etc/rc.d/unraid.d/rc.unraid_couchpotato
- echo "-- Created /etc/rc.d/unraid.d/rc.unraid_couchpotato --"
- mkdir $packagedir/unraid.d
- cp /etc/rc.d/unraid.d/* $packagedir/unraid.d
- rm -r /etc/rc.d/unraid.d/
- echo "******* 6. Adding entries to /boot/config/go *******"
- cat >> /boot/config/go <<-HERE
- #sabnzbd, sickbeard, and couchpotato entries
- sleep 10
- # Begin clean powerdown install
- CTRLALTDEL=yes installpkg $packagedir/powerdown-1.02-noarch-unRAID.tgz
- [ -f /usr/local/sbin/powerdown ] && mv /usr/local/sbin/powerdown /usr/local/sbin/unraid_powerdown
- [ -f /usr/local/sbin/unraid_powerdown ] && sed -i "sX/usr/local/sbin/powerdownX/sbin/powerdownX" /etc/acpi/acpi_handler.sh
- [ ! -f /usr/local/sbin/unraid_powerdown ] && sed -i "sX/sbin/init 0X/sbin/powerdownX" /etc/acpi/acpi_handler.sh
- sysctl -w kernel.poweroff_cmd=/sbin/powerdown
- # End clean powerdown install
- installpkg $packagedir/nano-2.2.4-i486-1.txz
- installpkg $packagedir/python-2.6.4-i486-1.txz
- installpkg $packagedir/python-cheetah-2.4.2.1-i486-1alien.tgz
- installpkg $packagedir/python-yenc-0.3-i486-1alien.tgz
- installpkg $packagedir/sqlite-3.6.23.1-i486-1.txz
- installpkg $packagedir/unrar-3.9.10-i486-2alien.tgz
- installpkg $packagedir/infozip-5.52-i486-2.tgz
- installpkg $packagedir/openssl-0.9.8n-i486-1.txz
- installpkg $packagedir/pyopenssl-0.10-i486-2sl.txz
- installpkg $packagedir/par2cmdline-0.4-i486-1alien.tgz
- tar xzf $packagedir/par2cmdline-0.4-tbb-20090203-lin32.tar.gz -C /tmp
- cp /tmp/par2cmdline-0.4-tbb-20090203-lin32/par2 /usr/bin/
- cp /tmp/par2cmdline-0.4-tbb-20090203-lin32/libtbb.so /usr/bin/
- cp /tmp/par2cmdline-0.4-tbb-20090203-lin32/libtbb.so.2 /usr/bin/
- rm -r /tmp/par2cmdline-0.4-tbb-20090203-lin32
- mkdir /etc/rc.d/unraid.d
- cp $packagedir/unraid.d/* /etc/rc.d/unraid.d
- /etc/rc.d/unraid.d/rc.unraid_sabnzbd start
- /etc/rc.d/unraid.d/rc.unraid_sickbeard start
- /etc/rc.d/unraid.d/rc.unraid_couchpotato start
- HERE
- echo "-- Added Entries to /boot/config/go --"
- echo
- echo
- echo
- echo
- echo "!!!!!! Preparing to start all the services for first run !!!!!!"
- sleep 5
- echo "-- Installing Prerequisites --"
- # Begin clean powerdown install
- CTRLALTDEL=yes installpkg $packagedir/powerdown-1.02-noarch-unRAID.tgz
- [ -f /usr/local/sbin/powerdown ] && mv /usr/local/sbin/powerdown /usr/local/sbin/unraid_powerdown
- [ -f /usr/local/sbin/unraid_powerdown ] && sed -i "sX/usr/local/sbin/powerdownX/sbin/powerdownX" /etc/acpi/acpi_handler.sh
- [ ! -f /usr/local/sbin/unraid_powerdown ] && sed -i "sX/sbin/init 0X/sbin/powerdownX" /etc/acpi/acpi_handler.sh
- sysctl -w kernel.poweroff_cmd=/sbin/powerdown
- # End clean powerdown install
- installpkg $packagedir/nano-2.2.4-i486-1.txz
- installpkg $packagedir/python-2.6.4-i486-1.txz
- installpkg $packagedir/python-cheetah-2.4.2.1-i486-1alien.tgz
- installpkg $packagedir/python-yenc-0.3-i486-1alien.tgz
- installpkg $packagedir/sqlite-3.6.23.1-i486-1.txz
- installpkg $packagedir/unrar-3.9.10-i486-2alien.tgz
- installpkg $packagedir/infozip-5.52-i486-2.tgz
- installpkg $packagedir/openssl-0.9.8n-i486-1.txz
- installpkg $packagedir/pyopenssl-0.10-i486-2sl.txz
- installpkg $packagedir/par2cmdline-0.4-i486-1alien.tgz
- # par2cmdline replace with multicore version
- tar xzf $packagedir/par2cmdline-0.4-tbb-20090203-lin32.tar.gz -C /tmp
- cp /tmp/par2cmdline-0.4-tbb-20090203-lin32/par2 /usr/bin/
- cp /tmp/par2cmdline-0.4-tbb-20090203-lin32/libtbb.so /usr/bin/
- cp /tmp/par2cmdline-0.4-tbb-20090203-lin32/libtbb.so.2 /usr/bin/
- rm -r /tmp/par2cmdline-0.4-tbb-20090203-lin32
- echo "- Replaced par2cmdline with MultiCore Version -"
- echo "-- Prerequisites Installed --"
- echo
- echo
- mkdir /etc/rc.d/unraid.d
- cp $packagedir/unraid.d/* /etc/rc.d/unraid.d
- chmod 755 /etc/rc.d/unraid.d/rc.unraid_sabnzbd
- chmod 755 /etc/rc.d/unraid.d/rc.unraid_sickbeard
- chmod 755 /etc/rc.d/unraid.d/rc.unraid_couchpotato
- /etc/rc.d/unraid.d/rc.unraid_sabnzbd start
- /etc/rc.d/unraid.d/rc.unraid_sickbeard start
- /etc/rc.d/unraid.d/rc.unraid_couchpotato start
- echo
- echo " ******* Script is complete *******"
- echo
- echo "Access your new services via the following addresses:"
- echo "SABnzbd --- http://$ip:$sabport"
- echo "SickBeard --- http://$ip:$sickbeardport"
- echo "CouchPotato --- http://$ip:$couchpotatoport"
- echo
- echo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement