Install CouchPotato on Ubuntu 14.04


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


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/

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 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 @"

# 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

# Start the process
exec python /opt/CouchPotatoServer/
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
sudo chown -R couchpotato:media /opt/CouchPotatoServer
sudo chmod -R 755 /opt/CouchPotatoServer
python /opt/CouchPotatoServer/

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?….


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