Skip to content

wiserain/docker-flexget

 
 

Repository files navigation

docker-flexget

Docker image for running flexget

Container features are

  • lsiobase/alpine
  • pre-installed dependencies for plugins
    • telegram
    • cfscraper
    • convert_magnet
    • decompress
    • transmission
    • deluge
    • irc

Usage

docker run

docker run -d \
    --name=<container name> \
    --restart on-failure:5 \
    -p 5050:5050 \
    -v <path for data files>:/data \
    -v <path for config files>:/config \
    -e PUID=<UID for user> \
    -e PGID=<GID for user> \
    -e TZ=<timezone> \
    -e FG_WEBUI_PASSWD=<desired password> \
    wiserain/flexget

docker-compose

version: "3"
services:
  flexget:
    image: wiserain/flexget
    container_name: <container name>
    restart: on-failure:5
    ports :
      - 5050:5050
    volumes:
      - <path for data files>:/data
      - <path for config files>:/config
    environment:
      - PUID=<UID for user>
      - PGID=<GID for user>
      - TZ=<timezone>
      - FG_WEBUI_PASSWD=<desired password>

Most importantly, secure webui using FG_WEBUI_PASSWD.

Environment variables

ENV Description Default
PUID / PGID uid and gid for running an app 911 / 911
TZ timezone
FG_WEBUI_PASSWD use a strong password
FG_LOG_LEVEL log level info
FG_LOG_FILE log file name flexget.log
FG_PLUGINS see below
FIX_DIR_OWNERSHIP_CONFIG set something other than 1 or true to skip applying chown for dir /config 1
FIX_DIR_OWNERSHIP_DATA set something other than 1 or true to skip applying chown for dir /data 1

Additional packages

If there are additional packages you may want to install, create bash script with any name under /custom-cont-init.d, for example,

#!/usr/bin/with-contenv bash
apk add -q --no-cache <alpine pkgs>
pip install <python pkgs>

Then, it will run every container start. Please find more details here.

Or, you can have a built-in script do this by setting environment variables as follows.

-e "INSTALL_APK_PKGS=build-base python3-dev" \
-e INSTALL_PIP_PKGS=guppy3

Custom plugins

You can install custom plugins by FG_PLUGINS="{plugin_name_1} {plugin_name_2}" whose value is a space-separated list of plugin names. Currently available ones are

  • write_magnet: Mostly same as built-in convert_magnet but expect better performance and improved error handling, which is compatible with a version of libtorrent containerized in this image.

Languages

  • Python 70.5%
  • Dockerfile 23.0%
  • Shell 6.5%