https://github.com/manbearwiz/flexget-dockerfile
Flexget Dockerfile for automated Docker builds
https://github.com/manbearwiz/flexget-dockerfile
docker docker-compose docker-image flexget scheduling
Last synced: 5 months ago
JSON representation
Flexget Dockerfile for automated Docker builds
- Host: GitHub
- URL: https://github.com/manbearwiz/flexget-dockerfile
- Owner: manbearwiz
- License: mit
- Created: 2014-11-03T04:49:56.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T11:42:05.000Z (over 1 year ago)
- Last Synced: 2026-01-14T17:22:26.144Z (5 months ago)
- Topics: docker, docker-compose, docker-image, flexget, scheduling
- Language: Dockerfile
- Homepage:
- Size: 35.2 KB
- Stars: 2
- Watchers: 1
- Forks: 8
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README



# flexget-dockerfile
Flexget Dockerfile for automated Docker builds.
# What is Flexget?
From [Flexget](https://flexget.com/):
>FlexGet is a multipurpose automation tool for all of your media.
>
>Support for torrents, nzbs, podcasts, comics, TV, movies, RSS, HTML, CSV, and more.
# 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`](http://flexget.com/wiki/Cookbook). 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.
```shell
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 configuration that sorts tv episode looks like so:
```yml
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:
```shell
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:
```shell
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`](https://registry.hub.docker.com/_/python/) and consequently [`debian:jessie`](https://registry.hub.docker.com/u/library/debian/).
As of now, the version of Flexget installed will soley depend on the latest version available in the [Python Package Index](https://pypi.python.org/pypi/FlexGet). I may change this in the future to [manually install](https://github.com/Flexget/Flexget#how-to-use-git-checkout) from [flexget:master](https://github.com/Flexget/Flexget) but for right now this suites my needs.