Public | Automated Build

Last pushed: 18 days ago
Short Description
Short description is empty for this repo.
Full Description



flexget-dockerfile

Flexget Dockerfile for automated Docker builds.

What is Flexget?

FlexGet is a multipurpose automation tool for content like torrents, nzbs, podcasts, comics, series, movies, etc. It can use different kinds of sources like RSS-feeds, html pages, csv files, search engines and there are even plugins for sites that do not provide any kind of useful feeds.

There are numerous plugins that allow utilizing FlexGet in interesting ways and more are being added continuously.

FlexGet is extremely useful in conjunction with applications which have watch directory support or provide interface for external utilities like FlexGet.

How to use this image

Run on host networking

This example uses host networking for simplicity. Also note the -v arguments. This image will expect the flexget directory to contain a valid config.yml. Flexget will also use this directory for storing the resulting database and log file. The other directories, input and output are essentially working directories for Flexget. The intention is that the input directory is where files are downloaded to (from transmission, youtube-dl, etc) and the output directory is where the sorted and renamed files will be moved to; however, this can all be changed via the Flexget configuration file.

sudo docker run -d --net="host" --name flexget -v /home/kevin/flexget:/flexget -v /home/kevin/Downloads:/input -v /home/kevin/media:/output kmb32123/flexget-dockerfile

Configuration

Because of the way the volumes are attached to the host, paths can be very simple. An example of a task configration that sorts tv episode looks like so:

sort-tvseries:
  find:
    path: /input/tv
    regexp: '.*\.(mkv|mp4)$'
    recursive: yes
  template: tv
  move:
    to: /output/video/tv/{{series_name}}/Season {{series_season|pad(2)}}
    filename: 'S{{series_season|pad(2)}} E{{series_episode|pad(2)}} {{tvdb_ep_name}}'

View log information

To monitor the flexget logs (highly recommended) simply run:

sudo docker logs -f flexget

Run out of schedule

Sometimes you don't want to wait for the flexget process to kick on from the scheduler. In these cases you can simply enter:

sudo docker exec -it flexget flexget execute

Note the first flexget is the container name, and the second is the CLI command. This will run all tasks regardless of scheduling.

Implementation

This image is based on python:2-onbuild and consequently debian:jessie.

As of now, the version of Flexget installed will soley depend on the latest version available in the Python Package Index. I may change this in the future to manually install from flexget:master but for right now this suites my needs.

Docker Pull Command
Owner
kmb32123
Source Repository