之前写了一套自动追番的教程,教你一步步搭建整个追番环境。然而那套教程有诸多问题,比如 Docker 容器过时、RSS 订阅不稳定且复杂、反吸血效果差、自动重命名经常报错等问题。

先收好下面的 Docker Compose 配置文件,如果你知道怎么用了,那么你可以直接关掉这一篇博客了。如果你不知道咋用,就继续看下去吧。

本文不再赘述基础内容。如果你没有接触过命令行或者 Docker,请先看旧的教程

配置文件

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
services:
ani-rss:
image: wushuo894/ani-rss:latest
container_name: ani-rss
# 自定义 DNS
# dns: 8.8.8.8
environment:
- PUID=0
- PGID=0
- UMASK=022
- PORT=7789 # ani-rss 端口
- CONFIG=/config
- TZ=Asia/Shanghai
volumes:
- ./ani-rss/config:/config
- /path/to/downloads:/downloads # 番剧挂载路径,两侧须保持一致
ports:
- 7789:7789
restart: always
network_mode: bridge
qbittorrent:
image: superng6/qbittorrent
container_name: qbittorrent
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
volumes:
- ./qbittorrent/config:/config
- /path/to/downloads:/downloads
ports:
- 6881:6881
- 6881:6881/udp
- 8080:8080
restart: unless-stopped
network_mode: host
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
user: 0:0
ports:
- 8096:8096/tcp
- 7359:7359/udp
volumes:
- ./jellyfin/config:/config
- ./jellyfin/cache:/cache
- type: bind
source: /path/to/downloads
target: /media
# Optional - extra fonts to be used during transcoding with subtitle burn-in
- type: bind
source: ./jellyfin/fonts
target: /usr/local/share/fonts/custom
read_only: true
restart: 'unless-stopped'
# Optional - alternative address used for autodiscovery
environment:
- JELLYFIN_PublishedServerUrl=http://example.com
# Optional - may be necessary for docker healthcheck to pass if running in host network mode
extra_hosts:
- 'host.docker.internal:host-gateway'
peerbanhelper:
image: "ghostchu/peerbanhelper:v9.0.10"
restart: unless-stopped
container_name: "peerbanhelper"
volumes:
- ./peerbanhelper:/app/data
network_mode: host
stop_grace_period: 30s

上面的容器组包含 4 个容器,参考链接了解功能:

  • ani-rss(自动追番)
  • qbittorrent(下载器,不用多说)
  • jellyfin(媒体库,用于 Web 和串流看番)
  • peerbanhelper(自动反吸血)

开始食用

首先 ssh 登陆你的服务器 (NAS),然后创建 docker-compose.yml,填入上面的内容,再启动容器组。

1
2
nano docker-compose.yml
docker compose up -d

现在多个端口已经打开,我们需要手动配置一下:

  • 8096 Jellyfin,在这里看番
  • 7789 ani-rss,自动追番
  • 8080 qbittorrent,配置下载器
  • 9898 peerbanhelper,配置自动反吸血

下面来仔细介绍每个容器怎么配置。

配置 qbittorrent

下载器默认密码是随机的。请输入:

1
docker logs qbittorrent

然后用显示的密码和账号登录。你可以自行配置下载器,这取决于你。/downloads 是下载文件夹。

Jellyfin 配置

首先要添加媒体库。添加媒体库时,最重要的是路径。如果你没有改我的配置文件,/media 这一路径应该是下载文件夹的目录。如果你需要下载其它非番剧的东西,或者还需要多种类型的下载,我建议把番剧放到子文件夹,如 /media/Bangumi

其次建议添加 Bangumi 插件,以适配中文字幕字幕组的命名偏好(避免识别失败),以及获取中文/日文简介,而不是英文。

控制台-插件,添加存储库,加上 https://jellyfin-plugin-bangumi.kookxiang.dev/repository.json,然后重启,插件里搜索 bangumi,安装,再重启容器。

下载和重命名

通常来说,你手动下载只需要下载旧的番剧,新番只需要 ani-rss 自动下载即可。

手动添加下载时,添加后建议先暂停,修改文件夹名称并取消勾选无用资源,再开始下载:

上传 Torrent

手动重命名

修改文件夹名称为番剧的中文或日文名称。右键上图红框文件夹,然后重命名。

取消勾选无用内容。非番剧本身不需要下载,容易造成 Jellyfin 的误识别。

配置 ani-rss 自动下载

要想看新番,先得有资源。访问 ani-rss WebUI,然后跟着教程配:

Ani-rss

具体使用太复杂,请自行查阅文档。

Peerban 反吸血

这很简单。打开之后设置个密码,填入一下下载器的凭据,就能全自动开始使用了。

结论

这篇博客是速通,展开来讲太麻烦了。如果你已经读过旧的教程,或者已经有相关基础,那么我相信你一定能读懂。