Configure FlexGet with Transmission on Ubuntu 14.x and 15.x

flexgetIf you followed our guides Install FlexGet on Ubuntu 15.x or Install FlexGet on Ubuntu 14.x you should already have a working FlexGet installation on your system.  You will need a torrent client installed, and in this guide we will use FlexGet with Transmission Bittorrent client. Just jump over to our Install Transmission Bittorrent Client on Ubuntu 15.x guide, and you will have your Transmission client up and running in no time, all this now with a systemd startup service! If you are using upstart script (Ubuntu 14.x) and don't have a running Transmission yet, stay tuned, we will be back with a guide with upstart script soon.

We will provide you with a basic configuration for FlexGet that will do the job for you, and you can fine tune it later to your needs and adjust it to your own taste. Just take a look at the vast number of plugins available for FlexGet!

VPN Service
All Platforms
Number of Connections
Monthly Cost
Annual Cost
Private Internet Access
Yes
5
$6.95
$39.95
($3.33 / month)
Pure VPN
Yes
5
$10.95
$59.95
($4.91 / month)
IPVanish
Yes
5
$10.00
$77.00
($6.41 / month)

Configure FlexGet with Transmission

As I have mentioned already, we will use FlexGet with Transmission (there will be a guide for Deluge with FlexGet too, if your torrent client of choice is Deluge).

First, we will need to connect FlexGet with Transmission, enter:

sudo pip install transmissionrpc

There is one more very important thing you need to do in order to prevent permission issues with the files downloaded by Transmission. We need to change the umask setting in Transmission's settings.json. For more information regarding the umask settings in Transmission consult the Transmission Wiki.

First, stop Transmission client:

sudo service transmission-daemon stop

Then open the settings.json file with Nano:

sudo nano /etc/transmission-daemon/settings.json

Find the umask line and set it to 0

umask”: 0,

Hit Ctrl+X, Y and Enter to save.

Start Transmission with:

sudo service transmission-daemon start

Now FlexGet can communicate with Transmission, and you should not have any permission issues with the downloaded contents.

Create FlexGet configuration

Now we have everything needed to create and configure the config file FlexGet will use.

Stop FlexGet service, on Ubuntu 14.x:

sudo service flexget stop

On Ubuntu 15.x:

sudo systemctl stop flexget

Change the YOUR_USER highlighted in red with the user you use to run FlexGet. Create the directory:

mkdir /home/YOUR_USER/.flexget

Now that we have the required directory for the configuration files, we need to create the config.yml file that we will use for FlexGet. Once again, don’t forget to change YOUR_USER highlighted in red to your own.

touch /home/YOUR_USER/.flexget/config.yml

Before we insert content to the newly created config.yml file, you need to decide how you want to add your favorite periodic video files that you want FlexGet to monitor and download for you. We will show you two methods here, but there are more possibilities to choose from (like using Sonarr's UI to manage periodic videos using a FlexGet Sonarr plugin):

1) Add periodic video files directly to your config.yml manually.

2) Use a TheTVDB.com account by adding the periodic video files to Favorites. FlexGet will get the information from your TheTVDB.com account's Favorites.

First option is fine if you like to take control of your followed content by manually editing the configuration files. I recommend the second option, so go ahead, and register a new account at TheTVDB. You can of course use your existing TheTVDB account, just remember, FlexGet will follow each periodic video that you add to your Favorites on TheTVDB, so make sure you just add those to Favorites that you want FlexGet to monitor and download for you.
The two config.yml files will be quite similar, and even the first one will rely on TheTVDB database to create proper folders for series and seasons. This way you will have everything properly organized, ready to be imported into Kodi or whatever player or library you use. Go to Configure FlexGet with manually adding periodic video files if you prefer the manual way. Jump to Configure FlexGet with TheTVDB.com Favorites, if you prefer to use TheTVDB.com favorites.

Configure FlexGet with manually adding periodic video files

This configuration will do the following:

  • Check if the monitored video files exist or not in your selected folders.
  • Doesn’t wait for proper releases.
  • Will download 720p quality HD version only. You can change this to any quality type you like, for the list of available quality types, check FlexGet quality description. As you can see, you can customize this part easily and in any possible way.
  • The downloaded files will be moved (and Transmission will continue to seed) to:
    /home/YOUR_USER/Series/{{tvdb_series_name}}/Season {{tvdb_season}}/
  • For the rss feed, you will need to enter your favorite rss feed (or feeds) here. Check out FlexGet's site for some public feeds, if you don't have yet your favorite.
  • FlexGet will check the rss feed every ten minutes (usually enough to catch every content in the feed).

It is very important to copy and paste the content of the config.yml file exactly as is to preserve the formatting, as FlexGet uses Yaml which has very strict formatting and is very restrictive!
Remember, change YOUR_USER according to your setup, and add your Transmission username and password.

I have all my periodic video files in a directory Series. You can change this, but remember to change it everywhere accordingly.

mkdir /home/YOUR_USER/Series

Let's open the previously created Flexget config file:

nano /home/YOUR_USER/.flexget/config.yml

Copy the content below, change the following parameters to fit your needs:

  • change YOUR_USER at line 4 and 12
  • add the periodic video names you would like to follow
  • change the Transmission username and password at lines 22 and 23
  • add the address of the RSS feed at line 28
templates:
  tv:
    exists_series:
      - /home/YOUR_USER/Series/{{tvdb_series_name}}
    thetvdb_lookup: yes
    series:
      settings:
        tv:
          propers: no
          quality: 720p
          set:
            path: "/home/YOUR_USER/Series/{{tvdb_series_name}}/Season {{ series_season }}/"
      tv:
        - periodic video 1
        - periodic video 2
        - etc

    transmission:
      enabled: yes
      host: localhost
      port: 9091
      username: YOUR USERNAME
      password: YOUR PASSWORD

tasks:
  RSS:
    priority: 1
    rss: HERE GOES YOUR RSS FEED
    template: tv

schedules:
# Run every task every 10 minutes
  - tasks: '*'
    interval:
      minutes: 10

Ctrl+X, Y and enter to save.
Run the following to check the content of the config.yml file:

flexget check

This will check the configuration file, and you will see if everything is configured properly, or display the errors if there are any. The final line of the output should be:

“Config passed check”

Start FlexGet service on Ubuntu 14.x:

sudo service flexget start

Start FlexGet service on Ubuntu 15.x:

sudo systemctl start flexget

Configure FlexGet with TheTVDB.com Favorites

This configuration will do the following:

  • Check if the monitored periodic videos exist or not in your selected series folder.
  • Use your TheTVDB.com Favorites to get the content you follow.
  • Doesn’t wait for proper releases.
  • Will download 720p quality HD version only. You can change this to any quality type you like, for the list of available quality types, check FlexGet quality description. As you can see, you can customize this part easily and in any possible way.
  • The downloaded files will be moved (and Transmission will continue to seed) to:
    /home/YOUR_USER/Series/{{tvdb_series_name}}/Season {{tvdb_season}}/
  • For the rss feed, you will need to enter your favorite rss feed (or feeds) here. Check out FlexGet's site for some public feeds, if you don't have yet your favorite.
  • FlexGet will check the rss feed every ten minutes (usually enough to catch every content in the feed).

I have all my periodic video files in a directory Series. You can change this, but remember to change it everywhere accordingly.

mkdir /home/YOUR_USER/Series

You should first register at TheTVDB. Of course, you can use your existing account, just remember, everything you added to Favorites will be followed and downloaded (if available) by FlexGet. Once you registered, click on Account and get your Account Identifier. You will need to enter this into the config.yml file.

tvdb_api

Let's open the previously created FlexGet config file:

nano /home/YOUR_USER/.flexget/config.yml

Copy the content below, change the following parameters to fit your needs:

  • change YOUR_USER at line 4 and 16
  • add your Account Identifier from your TheTVDB account at line 8
  • change the Transmission username and password at lines 21 and 22
  • add the address of the RSS feed at line 27
templates:
  tv:
    exists_series:
      - /home/YOUR_USER/Series/{{tvdb_series_name}}
    configure_series:
      from:
        thetvdb_favorites:
          account_id: INSERT TVDB ACCOUNT IDENTIFIER
    thetvdb_lookup: yes
    series:
      settings:
        tv:
          propers: no
          quality: 720p
          set:
            path: "/home/YOUR_USER/Series/{{tvdb_series_name}}/Season {{ series_season }}/"
    transmission:
      enabled: yes
      host: localhost
      port: 9091
      username: YOUR USERNAME
      password: YOUR PASSWORD

tasks:
  RSS:
    priority: 1
    rss: HERE GOES YOUR RSS FEED
    template: tv

schedules:
# Run every task every 10 minutes
  - tasks: '*'
    interval:
      minutes: 10

Ctrl+X, Y and enter to save.
Run the following to check the content of the config.yml file:

flexget check

This will check the configuration file, and you will see if everything is configured properly, or display the errors if there are any. The final line of the output should be:
“Config passed check”
Now that you have everything configured, go back to your TheTVDB account and search for the periodic video you would like to follow, and click on the:

flexget_tvdb_not_favorite

to add to your Favorites. It will turn to:

flexget_tvdb_favorite

From now, FlexGet will monitor this periodic video, and when a new entry in the RSS feed is present, it will snatch and download for you.

Start FlexGet service on Ubuntu 14.x:

sudo service flexget start

Start FlexGet service on Ubuntu 15.x:

sudo systemctl start flexget

Congratulations, you should have a fully automated snatch and download system using FlexGet and Transmission up and running!