闲来无事又开始折腾了,最近对docker挺感兴趣,正巧手里有个1T硬盘的服务器,索性利用一下。拿docker搭个Transmission 和Flexget刷刷PT。
首先准备这些
- linuxserver/docker-transmission
- cpoppema/docker-flexget
- Docker Compose
- 一台服务器(硬盘一定要大)
安装与配置Docker Compose
Transmission部署
这里只说明一下docker cli(命令行)
docker run -d \
--name=transmission \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Shanghai/China \
-e TRANSMISSION_WEB_HOME=/transmission-web-control/ \
-e USER=root \
-e PASS=sakurato \
-p 9091:9091 \
-p 51413:51413 \
-p 51413:51413/udp \
-v /root/transmission/config:/config \
-v /root/transmission/downloads:/downloads \
-v /root/transmission/watch:/watch \
--restart unless-stopped \
ghcr.io/linuxserver/transmission
不要尝试使用宝塔面板的docker管理器进行创建,宝塔的docker管理器有问题,映射的目录不正确且无法转发UDP端口。
实在不懂docker你就直接复制上面的粘贴回车也可以创建成功,用户名为root,密码为sakurato。
映射的目录位置在/root/transmission/中。
实在不懂docker你就直接复制上面的粘贴回车也可以创建成功,用户名为root,密码为sakurato。
映射的目录位置在/root/transmission/中。
此镜像默认开启了transmissionrpc与目录监控所以在配置flexget时无需另外修改配置文件。
Flexget部署
依旧说明一下配置
---
version: "2"
services:
flexget:
image: cpoppema/docker-flexget
container_name: flexget
environment:
- PUID=1001
- PGID=1001
- WEB_PASSWD=xxx #WebUI密码,请随意设置,因为后面要重设
- TORRENT_PLUGIN=transmission #flexget通信插件,这里我们是transmission
- TZ=Europe/London #时区
- FLEXGET_LOG_LEVEL=debug #Log模式,这里为Debug(调试模式)
volumes: #映射的目录位置
- <path to data>:/config
- <path to downloads>:/downloads
ports: #映射的端口号
- 5050:5050
restart: unless-stopped
下面是Flexget配置文件,文件采用YML语法
注意,在启动docker镜像前,你应该先将写好的yml配置文件写好!
否则flexget无法正常启动。
否则flexget无法正常启动。
web_server:
bind: 0.0.0.0
port: 5050 #webUI端口号
web_ui: yes #是否开启webui,如不开启删除web server段
base_url: /flex
run_v2: yes
tasks:
task1:
rss: #RSS地址
accept_all: no #是否下载全部内容
if:
- "'One Room' in title": accept #正则判别
download: /download
transmission:
host: 172.17.0.2 #transmission客户端IP,这里需要填写transmission的容器IP
port: 9091
username: root
password: password #transmission登陆密码,明文即可
schedules: #定时器,确保自动执行
- tasks: '*'
schedule:
minute: "*/30"
启动Flexget WebUI并重置密码(首次登陆必须)
docker exec -it flexget bash
flexget -c /config/config.yml web passwd <some_password>
此时便可从http://<你的服务器IP地址>:5050 登陆Flexget的webui,默认用户名为flexget
另外需要注意的一点,transmission的host地址需要自行确认,执行以下命令即可显示全部的docker容器IP
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
© 版权声明
文章版权由CC-BY-NC-SA 4.0协议分发共享
THE END
暂无评论内容