
使用jeckett,sonarr,iyuu,qt,emby打造全自动追剧流程,打造一个完整的HTPC。
滚动更新: 2021-08-19
jackett 作为种子源,sonarr剧集管理,bt下载,qbittorrent主力下载,使用iyuu转移辅种,emby,jellyfin做海报墙,sunfinder自动下载字幕。基本算是完美打通全流程自动追剧。bt种子文件命名规则SxxExx的自动识别下载,国内的资源手动查找下载,自动推送到emby刮削好。
结合本地DNS管理,DNS去广告,Nginx 反向代理去端口访问,形成一个完整解决方案。
硬链接工具导入到新目录,使用TMM刮削
注意:图床使用github,已经启动CDN加速,如果图片显示问题自己解决。
indexer 种子索引源
种子索引来源。
jackett
- docker: linuxserver/jackett:latest
- 老牌选手,种子源非常丰富。
prowlarr
- indexer manager/proxy
- Docker: linuxserver/prowlarr:develop
- 新开发的,和sonarr, lidarr等结合比jackett 配置更简单
sonarr动画剧集管理
管理剧集名,查找剧集种子推送到下载工具
剧集管理示例图片
管理剧集目录,剧集日历,提醒你那一天哪些节目播放
自动识别下载对英文剧集支持较好,对于中文资源,结合手动识别下载更佳。
手动识别下载
示例图片
电影使用radarr, 音乐使用lidarr,同样可以自动化过程
emby海报墙,流媒体中心
emby作为海报墙,元数据查看器,结合tampermonkey js脚本调用外部potplayer播放减少nas服务器压力,并且得到更好解码性能。手机端也有emby客户端。jellyfin,plex也可以
js脚本: embyLaunchPotplayer
jellyfin 开源版本的emby
- jellyfin硬件解码
- jellyfin中文字体显示方块问题
上面两个问题见下面compose 配置解决方法
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
version: '3'
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
user: ${PUID}:${PGID}
hostname: jellyfin
restart: always
devices:
- /dev/dri:/dev/dri #使jellfin支持硬件解码
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
# 给一些插件做代理
- http_proxy=http://xxx.17lai.fun:1089/
- https_proxy=http://xxx.17lai.fun:1089/
# ports: # 使用nginx 反向代理,所以这里就不用开端口了
# - 8098:8096
volumes:
- ${USERDIR}/jellyfin/config:/config
- ${USERDIR}/jellyfin/cache:/cache
# 把windowsfonts目录下面的字体都复制到`jellyfin/fonts`目录中
- ${USERDIR}/jellyfin/fonts:/usr/share/fonts # 给jellyfin装载更多字体,使中文显示正确,不再是方块
- ${USERDIR}/nginx/resolv.conf:/etc/resolv.conf # 定制dns
赋予emby,jellyfin访问硬件加速驱动权限
1
2
chmod 755 /dev/dri
chmod 666 /dev/dri/renderD128
tmm刮削,改名
一些命名不规范,不能被emby识别的剧集使用tmm刮削改名,配合硬链接工具,可以不影响做种的前提下改名,该目录。大文件硬链接,小文件直接复制方便刮削,推荐一个自己写的硬链接bash shell脚本
https://github.com/appotry/PTtool,PTtool在nas,linux环境使用更方便
注意:使用v3版本,不要升级到v4,v4版本收费。
硬链接工具
Github: PTools
使用教程: Linux PT硬链接助手使用教程
博主编写的脚本,自推一下,在Nas,linux环境使用的Shell 脚本。
PT hard link tools。方便PT用户硬链接文件,在最大可能情况下节约空间,并保持做种。 小于1M的文件直接复制,方便emby,tmm等工具刮削修改nfo等小文件。 大于1M的文件硬链接到目的目录,可以随意修改文件名,但是不能修改文件内容!
从此,做种,刮削改名两不误!
下载工具
Transmissoin
qBittorrent
都分别有docker版本和套件版本。
虽然下载工具很多,但IYUU只支持这两个辅种工具,开发者的话是这两个工具的RPC调用接口稳定。
辅种工具IYUU
Doker版本
命令行版本
图形界面版本,更轻松上手。
自动辅种,解放双手,更多魔力,更容易养多站。
字幕下载
想要较好的自动下载字幕,最好用前面介绍的tmm刮削改名之后再使用下面工具。
subfinder 自动下载字幕
- Docker: superng6/subfinder
下载完成,刮削后的目录,挂载到subfinder的media目录,就会自动下载字幕。
字幕下载对电影,英文剧集支持较好。对于一些tv,动画手动下载字幕会更好一些。
注意:官方的配置文件有问题,时效问题。修改URL到最新即可。
chinesesubfinder
Docker: allanpk716/chinesesubfinder
新开发的中文字幕查找工具,上面那个很久没更新了,这个刚出来。使用nfo里面刮削出来的文件名来匹配字幕。所以就原理来说,这个字幕匹配更准确。
bazarr
- Docker:linuxserver/bazarr
- 字幕下载管理,配合sonarr, radarr 使用效果更好。对于英文剧集命名规范的支持较好,比如
[name]S01E01
使用radarr管理电影
radarr示例图片
使用lidarr管理音乐
lidarr示例图片
使用docker compose 管理docker配置文件,一键安装,升级
使用portainer管理docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
version: '3'
services:
portainer-ce:
container_name: portainer-ce
image: portainer/portainer-ce
command: -H unix:///var/run/docker.sock
restart: always
ports:
- 9300:9000
- 9301:8000
environment:
- TZ=Asia/Shanghai
- LANG=en_US.UTF-8
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /share/Container/portainer_data:/data
使用watchtower自动升级docker
使所有软件保持最新最佳状态
1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3'
services:
watchtower:
container_name: watchtower
image: containrrr/watchtower:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- TZ=Asia/Shanghai
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_SCHEDULE=0 0 1 * * *
restart: always
command: nginx redis
上述配置文件中volumes
使用了绝对路径,使这个容器能访问系统docker.sock
目录,用于方便监控容器镜像的版本以便更新.其他的一些环境变量,例如时区,清理旧镜像,定时任务都转换为environment
,而特殊的command
命令则定义了指定监控nginx
和redis
两个容器。没有command这一行,默认监控升级所有运行中的docker
1
2
# 运行一次,更新所有的容器,并清除旧的容器
docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once
1
2
#只更新nginx和redis
docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once nginx redis
使用muximux来管理多个docker入口
主页面
配置页面
更进阶定制本地域名访问
nginx 管理域名访问
- Docker: bloodstar/nginx-purge
- Github: nginx
- 去掉烦人的端口后缀,实现80,443 端口复用。这个docker 是博主定制功能版。
- 配置SSL证书访问,密码等敏感数据从此加密传输。并可以使用http2高级特性。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
version: '3'
services:
nginxweb:
image: bloodstar/nginx-purge
container_name: "nginxweb"
hostname: nginxweb
ports:
- "80:80"
- "443:443"
restart: always
volumes:
# 映射主机目录
- ${USERDIR}/nginx/conf.d:/etc/nginx/conf.d:ro
- ${USERDIR}/nginxproxy/certs:/etc/nginx/certs:ro
- ${USERDIR}/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
这里推荐博主制作的nginx docker镜像: bloodstar/nginx-purge
支持ARM64, ARMV7, AMD64 ,增加 CA 证书,防火墙,brotli, Proxy-cache-purge, htpasswd 支持
DNS 域名管理
和nginx 配合使用。 简单的可以直接修改
/etc/hosts
。DNSCrypt Proxy: 作为DNS前端访问DOH的DNS
DNSMasq: 作为DNS后端,连接到DNSCrypt Proxy,并配置本地域名。还可以添加DNS去广告功能,浏览器插件去广告非常消耗CPU和内存,但是在DNS前端去广告,资源消耗低,并一次性解决所有的访问终端(pc,手机,平板)广告问题。
配置一个去广告,本地域名管理工具。
Xteve 看IPTV
Docker: dnsforge/xteve
结合Emby, jellyfin直接看iptv。
注意事项
tmm,jackett,sonarr最好配置代理。否则,刮削,图片墙可能工作不正常。
docker最好配置镜像加速,提高安装docker速度
一些docker初始化安装,运行、更新时需要访问github,最好配置代理。