Install CouchPotato on Ubuntu 14.04

couchpotato-logo

CouchPotato python based automated movie downloader. To be exact it will search for a movies and send them to a download application like NZBGet or uTorrent to do the actual downloading. I don’t trust CouchPotato to select the correct release since it is does not integrate with release databases. Instead I use it as a search aggregation and bookmark application for movies.

 

Set up credentials

Create a system user account that CouchPotato will run under.

sudo useradd -r -s /bin/false -m couchpotato

 

Create a group that CouchPotato will run under.

sudo groupadd media

 

Add the system user to the primary group.

sudo usermod -g media couchpotato

 

Install CouchPotato

Update the package list.

sudo apt-get update

 

Install the required dependencies.

sudo apt-get install git-core python

 

Change the current directory to the installation directory.

cd /opt

 

Clone the latest release of CouchPotato from the official git repository.

sudo git clone https://github.com/RuudBurger/CouchPotatoServer.git

 

Set the ownership to the user and group CouchPotato will run as.

sudo chown -R couchpotato:media /opt/CouchPotatoServer

 

Set permissions to grant full access to CouchPotato user.

sudo chmod -R 755 /opt/CouchPotatoServer

 

Run CouchPotato manually.

sudo python /opt/CouchPotatoServer/CouchPotato.py

Note that CouchPotato will create new directories and files with ownership of the user which executed the script. To avoid issues run CouchPotato only with the user it will always run under or set ownership permissions again before running it under a different user.

 

Access CouchPotato in your browser on the default port 5050 and the current IP address. For example http://192.168.0.100:5050/. Follow the wizard to setup username and password.

 

Run CouchPotato at Startup

Open or create a new upstart configuration file for CouchPotato.

sudo nano /etc/init/couchpotato.conf

 

Copy the script and save the configuration file.

description "CouchPotato upstart script"
author "DominicM @ dominicm.com"

# What user to run as
setuid couchpotato

# What group to run as
setgid media

# When to start the service
start on runlevel [2345]

# When to stop the service
stop on runlevel [016]

# Automatically restart process if crashed
respawn

# Start the process
script
exec python /opt/CouchPotatoServer/CouchPotato.py
end script

 

Run CouchPotato with upstart.

start couchpotato

 

Quick reference

sudo useradd -r -s /bin/false -m couchpotato
sudo groupadd media
sudo usermod -g media couchpotato
sudo apt-get update
sudo apt-get install git-core python
cd /opt
sudo git clone https://github.com/RuudBurger/CouchPotatoServer.git
sudo chown -R couchpotato:media /opt/CouchPotatoServer
sudo chmod -R 755 /opt/CouchPotatoServer
python /opt/CouchPotatoServer/CouchPotato.py

http://192.168.0.100:5050

sudo nano /etc/init/couchpotato.conf
start couchpotato
  • great article–thank you! I think that upstart job must also be sudo’d – I was getting an error after running
    start couchpotato
    by itself. Thanks again!

    • You are correct, added sudo to the command. The only problem with running it manually as any other use than the couchpotato user is that files may be created that do not have the right permissions for cp user. Just something to watch out for…

  • Mark

    When I run ‘start couchpotato’ I get the error:
    start: Unknown job: couchpotato

    I then ran ‘init-checkconf /etc/init/couchpotato.conf’ and get the error:
    init:couchpotato.conf:1: Unknown stanza

    any ideas how to resolve this?….

    thanks

    • Are you definitely running Ubuntu 14.04 and not 14.10 or other version?