941 字
5 分钟
自动追番方案 BangumiStack 部署
1. 简介
追番时手动找资源、下载、整理太麻烦,于是用 Docker Compose 把三个服务整合到一起,实现从 RSS 订阅到媒体库的全自动流程。
整套方案叫 BangumiStack,由三个容器组成:
| 服务 | 作用 |
|---|---|
| AutoBangumi | 解析 RSS 订阅,自动识别番剧并推送下载任务 |
| qBittorrent | BT 下载客户端,负责实际下载 |
| Jellyfin | 媒体服务器,统一管理和播放下载好的番剧 |
工作流程:
RSS 订阅 → AutoBangumi 解析 → qBittorrent 下载 → Jellyfin 媒体库2. docker-compose.yml
version: "3.8"
services: qbittorrent: image: superng6/qbittorrent container_name: qbittorrent environment: - WEBUI_PORT=8080 volumes: - ./qbittorrent/config:/config - ./qbittorrent/downloads:/downloads ports: - "8080:8080" # WebUI - "6881:6881" # BT - "6881:6881/udp" restart: unless-stopped
autobangumi: image: estrellaxd/auto_bangumi container_name: autobangumi environment: - AB_DOWNLOADER=qbittorrent - AB_DOWNLOAD_PATH=/downloads/Bangumi - AB_RSS_HOST=qbittorrent:8080 - AB_RSS_USER=admin - AB_RSS_PASS=adminadmin volumes: - ./autobangumi/config:/app/config ports: - "7892:7892" depends_on: - qbittorrent restart: unless-stopped
jellyfin: image: jellyfin/jellyfin container_name: jellyfin volumes: - ./jellyfin/config:/config - ./jellyfin/cache:/cache - ./qbittorrent/downloads:/media:ro ports: - "8096:8096" restart: unless-stopped几个关键点:
- 数据卷共享:qBittorrent 的
downloads目录被 Jellyfin 以只读方式(:ro)挂载为/media,下载完成的番剧能直接被媒体库读取。 - 服务依赖:
autobangumi通过depends_on等qbittorrent先启动。 - 容器内通信:AutoBangumi 用
qbittorrent:8080而不是localhost,走的是 Compose 默认网络的服务名解析。 - 重启策略:全部设为
unless-stopped,宿主机重启后服务自动拉起。
3. 目录结构
BangumiStack/├── docker-compose.yml├── qbittorrent/│ ├── config/ # qBittorrent 配置│ └── downloads/ # 下载目录│ └── Bangumi/ # AutoBangumi 自动归类的番剧├── autobangumi/│ └── config/ # AutoBangumi 配置└── jellyfin/ ├── config/ # Jellyfin 配置 └── cache/ # Jellyfin 缓存配置和数据全部用相对路径挂载到项目目录下,迁移备份时直接打包整个文件夹即可。
4. 部署
# 进入项目目录cd BangumiStack
# 启动全部服务docker compose up -d
# 查看日志docker compose logs -f5. 服务访问
| 服务 | 地址 | 说明 |
|---|---|---|
| qBittorrent | http://localhost:8080 | BT 下载客户端 |
| AutoBangumi | http://localhost:7892 | 自动追番管理 |
| Jellyfin | http://localhost:8096 | 媒体服务器 |
qBittorrent 默认账号 admin / adminadmin,首次登录后立即修改密码。注意:如果改了密码,要同步更新 docker-compose.yml 里 autobangumi 的 AB_RSS_PASS,否则 AutoBangumi 连不上下载器。
6. 配置说明
6.1 AutoBangumi
环境变量在 docker-compose.yml 中配置:
| 变量 | 说明 | 默认值 |
|---|---|---|
AB_DOWNLOADER | 下载器类型 | qbittorrent |
AB_DOWNLOAD_PATH | 下载路径 | /downloads/Bangumi |
AB_RSS_HOST | qBittorrent 地址 | qbittorrent:8080 |
AB_RSS_USER | qBittorrent 用户名 | admin |
AB_RSS_PASS | qBittorrent 密码 | adminadmin |
启动后在 WebUI 中添加番剧 RSS 订阅链接(常用源如 Mikan Project),AutoBangumi 会自动解析剧集并归类。
6.2 Jellyfin
首次访问 WebUI 后需要:
- 创建管理员账号
- 添加媒体库,目录选择
/media - 媒体类型选择「电视剧」
之后 Jellyfin 会自动刮削番剧元数据(封面、简介等)。
7. 常用命令
# 启动docker compose up -d
# 停止docker compose down
# 重启单个服务docker compose restart autobangumi
# 查看指定服务日志docker compose logs -f autobangumi
# 更新镜像docker compose pulldocker compose up -d8. 常见问题
8.1 AutoBangumi 无法连接 qBittorrent
确保 qBittorrent 已启动,依次检查:
- qBittorrent WebUI 能否正常访问
- 用户名密码是否与
AB_RSS_USER/AB_RSS_PASS一致 - 容器网络是否正常(同一 Compose 网络下用服务名
qbittorrent通信)
8.2 下载的文件在哪里
文件存储在 ./qbittorrent/downloads/Bangumi/ 目录下,由 AutoBangumi 按番剧名称自动归类。
8.3 Jellyfin 媒体库不显示内容
- 确认 AutoBangumi 已下载并完成归类
- 在 Jellyfin 手动刷新媒体库
- 检查文件命名是否符合 Jellyfin 识别规范
9. 小结
整套方案的核心思路是用 Docker Compose 把三个独立服务串成一条流水线,依靠共享数据卷打通下载目录与媒体库,依靠容器网络服务名解决服务间通信。部署完成后,订阅一次 RSS 就能实现新番自动下载、归类、入库。
相关文档
自动追番方案 BangumiStack 部署
https://blog.xeu.asia/posts/bangumi-stack-deploy/