群晖Docker安装Flexget实现自动订阅自动下载

项目地址

wiserain/Flexget

FlexGet 是适用于所有媒体的多用途自动化工具支持种子文件、nzbs、播客、漫画、电视、电影、RSS、HTML、CSV 等。

功能简介

综合来说,群晖上有多种方式可以安装Flexget,用于订阅PT站的新种,配合QB、TR等工具可以实现自动订阅自动下载。原理就是flexget订阅下载指定站点的种子,然后推送到下载器开始下载。

安装教程

安装Docker套件

在群辉套件中搜索docker并安装,安装很简单,选择存储空间之后等待安装结束即可。

安装Docker套件

安装Flexget容器

下载Flexget映像

打开docker,点左边的注册表,然后在上方的搜索框搜索Flexget,得到所有Flexget映像。

搜索Flexget

双击右边的第一个wiserain/Flexget进行下载,下载完成后会在群晖通知中心提示,文件约170M 左右,下载所需时长以当前网络情况而定。下载好之后,点击映像可以看到下载好的Flexget映像。

Flexget映像

准备文件夹环境

下载期间可以新建好Docker中Flexget需要的文件夹。

在File Station中Docker共享文件夹下,建立一个Flexget的文件夹,用于存放Flexget相关的文件。Flexget下面分别建立data和config的文件夹,前者用于存放数据,后者用于存放配置,在创建Flexget容器的时候,需要将这两个文件夹映射到Docker容器中。建好后效果如下:

效果图
效果图

选择高级设置选项卡,勾选启用自动重新启动,这样每次群晖重启之后,容器会自动启动,免去了手动启动的麻烦。

启用自动重新启动

选择选项卡,按下图所示映射文件夹,将Docker中的路径映射到之前在群晖中新建好的路径。这样Flexget容器在Docker产生的数据都会存在群晖指定的文件夹中,方便备份恢复。

左边是刚刚建立的文件夹路径,右边是容器的路径(在容器中使用右边的路径,实际上是对应左边的路径)

映射

选择端口选项卡,添加一个3539的端口映射。本地端口是指在群晖中使用的端口。

端口映射

选择环境选项卡,添加如下几个环境变量

添加环境变量

各参数作用及其值如下,直接复制下表中变量名和变量值即可:

变量名 变量值 说明
TZ Asia/Shanghai 用于指定时区,固定值。
PGID 1001 可以随意4位数字,不要太大,不要和PUID重复
PUID 1002 可以随意4位数字,不要太大,不要和PGID重复
FG_LOG_LEVEL info 记录日志的级别,使用info即可
FG_WEB_PASSWD 你的密码 网页登录的密码,需要设置复杂密码,否则会启动失败。

然后点应用,接着就一直下一步中可以看到刚才添加的所有配置参数,确认无误就可以点击应用创建容器了。创建好的容器会自动启动,效果如下:

效果图

访问Flexget管理页面并配置

登录Flexget

容器启动好之后,就可以通过http://群晖ip:3539访问Flexget应用,在登录界面输入用户名、密码登录。

用户名:flexget

密码:在创建容器时环境选项卡配置的FG_WEB_PASSWD的值

登录进去之后,点击左侧config菜单,开始配置站点订阅信息和下载器信息。

点击左侧config菜单

配置注意事项

  1. 详细查看各项配置的说明
  2. 容易出问题的点1:flexget使用的是yml格式的配置,使用tab(制表符)缩进控制每行配置的层级关系。千万不能使用空格代替,否则会造成配置错误无法保存生效
  3. 容易出问题的2:配置中下载种子、文件的路径、其他各项参数只要出现错误,就会出现保存失败的提示。路径错误包括但不仅限于配置了一个还没创建好的路径。
  4. 配置好之后,点击③即可保存配置。
  5. 点击保存后注意观察右下角提示,如果提示保存成功,即可正常订阅并下载;提示保存失败,请挨个检查上述注意点。

配置模板

鉴于该配置文件容易出错,所以我准备了一个配置好的模块,复制之后把站点及其passkey、过滤信息、种子下载路径、下载器信息、文件下载路径等信息替换成自己的即可使用。模板如下,拿走不谢:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
web_server:
bind: 0.0.0.0
port: 3539 #web-ui的监听端口

tasks:
HDH:
rss: http://hdhome.org/torrentrss.php?rows=20&linktype=dl&passkey=b6ea527127b22890996f7a420a8ccc7a
accept_all: no #是否全部下载,不想过滤就yes然后把downlod之前的全删了
if: #启用 if 条件过滤
- "'HDH' in title": accept #这里可以多行,指定不同的规则
- "'@HDHome' in title": accept #这里可以多行,指定不同的规则
#- "'DEF' in title": reject #标题含有 DEF 就不下载

download: /volume3/Download/PT/Torrent_Monitor/HDH/ #种子下载路径
qbittorrent: #qb服务器信息
host: 192.168.4.99
port: 8085
username: yyyy
password: xxxxx
path: /volume3/Download/PT/Common/Up/HDH/ #文件下载路径

PTer:
rss: https://pterclub.com/torrentrss.php?rows=20&linktype=dl&passkey=xxxxxxxx
accept_all: no #是否全部下载,不想过滤就yes然后把downlod之前的全删了
if: #启用 if 条件过滤
- "'PTer' in title": accept #这里可以多行,指定不同的规则
#- "'DEF' in title": reject #标题含有 DEF 就不下载

download: /volume3/Download/PT/Torrent_Monitor/Pter/ #种子下载路径,即qb监视路径
qbittorrent: #qb服务器信息
host: localhost
port: 8085
username: xxxx
password: yyyyy
path: /volume3/Download/PT/Common/Up/Pter/ #文件下载路径

#schedules: no
schedules:
- tasks: [PTer,HDH] #多个任务这样写[Pter,HDH]
interval:
minutes: 5 #任务执行时间间隔,单位分钟

效果检测

运行几分钟后,如果配置没有问题,就可以看到下载器中已经自动添加了任务,flexget历史记录中也有了数据。

效果图