Install CouchPotato Raspberry Pi with Raspbian

raspberry pi couchpotatoCouchPotato just got updated to version 2.6. CouchPotato is currently the only option for automating your usenet or torrent downloads for feature length videos.  I recommend coupling CouchPotato with NZBGet on the Raspberry Pi because of its low processing power. You will also need a usenet account like UsenetServer and a good indexer like OZnzb, DOGnzb.cr, NZB.su or OMGWTFNZBs. I am still raffling off NZB.su invites for members of my mailing list so sign up for a chance to get in. Time to install CouchPotato on Raspbian.

If you are trying to figure out which hardware would work best for you, consider reading the Pi benchmarks.

Usenet Provider
Backbone
Retention
Speed
Connections
VPN
Monthly
Annual
UsenetServer
UsenetServer
3199
Unlimited
30
Yes
$10
$95.40
Newshosting
Newshosting
3199
Unlimited
30
Yes
$10
$99
Frugal
Frugal
3000
Unlimited
20
No
$4.16
$50
Usenetlink
Cloudgate
2000
100 Mbit
30
No
$15
$140

Install CouchPotato Raspberry Pi

Install CouchPotato dependencies on Raspbian

sudo apt-get update
sudo apt-get install git-core libffi-dev libssl-dev zlib1g-dev libxslt1-dev libxml2-dev python python-pip python-dev build-essential -y

Install lxml and pyopenssl, lxml takes some time as it needs to be compiled.

sudo pip install lxml cryptography pyopenssl

Use git to clone the latest CouchPotato, version 2.6 at time of writing. It will go in opt/CouchPotato

sudo git clone http://github.com/RuudBurger/CouchPotatoServer /opt/CouchPotato

Make pi the owner

sudo chown -R pi:pi /opt/CouchPotato

Attempt to start the CouchPotato daemon

python /opt/CouchPotato/CouchPotato.py --daemon

If you got this error you forgot to typo sudo which solves the error

No handlers could be found for logger "root"

You can now access CouchPotato at http://ip.address:5050

Back in terminal you can exit the CouchPotato script with Ctrl+C or Ctrl+Z

Autostart CouchPotato on Boot

Let's make CouchPotato autostart on boot using an upstart script or init.d script.

The init.d script is preferred as upstart is not officially supported

CouchPotato init.d Script

Create the default CouchPotato file that the init.d script reads settings from

sudo nano /etc/default/couchpotato

Paste this, change CP_DATA to your /home/pi/.couchpotato directory if you want to get rid of the warning

CP_HOME=/opt/CouchPotato
CP_USER=pi
#CP_GROUP=pi
CP_PIDFILE=/home/pi/.couchpotato.pid
CP_DATA=/opt/CouchPotato
CP_OPTS=--daemon

Ctrl+X, Y and Enter to save and exit nano

Copy the default CouchPotato init.d script

sudo cp /opt/CouchPotato/init/ubuntu /etc/init.d/couchpotato

Make the CouchPotato init.d script executable

sudo chmod +x /etc/init.d/couchpotato

Enable the CouchPotato init.d script to start on boot

sudo update-rc.d couchpotato defaults

If you see this error just reboot and rerun the update-rc.d command

update-rc.d: error: unable to read /etc/init.d//etc/init.d/couchpotato

Start the CouchPotato service

sudo service couchpotato start

Just reboot and CouchPotato should start. It can take a minute or two for the interface to be accessible because the Raspberry Pi is slow

sudo reboot

You have now successfully installed CouchPotato 2.6 on Raspbian. You can now configure CouchPotato and tweak it to get you subtitles and pushbullet notifications when a movie has downloaded on your home media server.