通过 Docker 在本地搭建一套自动化影音库
目录
软件结构及说明
Prowlarr
/ \
Radarr Sonarr
| |
qBittorrent qBittorrent
| |
movies tv
\ /
Jellyfin
|
Bazarr(字幕)
disk
├── downloads/ # 下载中转区(脏)
│ ├── incomplete/ # qBittorrent 未完成
│ └── complete/ # 下载完成,等待 Arr 接管
│
├── movies/ # 🎬 电影正式库(干净)
│ └── Movie Name (2024)/
│ ├── Movie Name (2024).mkv
│ ├── Movie Name (2024).zh.srt
│ └── poster.jpg
│
├── tv/ # 📺 电视剧正式库(干净)
│ └── Series Name/
│ └── Season 01/
│ ├── S01E01.mkv
│ ├── S01E01.zh.srt
│ └── S01E02.mkv
│
└── docker/ # Docker 配置区
├── radarr/config/
├── prowlarr/config/
├── qbittorrent/config/
├── sonarr/config/
├── bazarr/config/
├── jellyfin/config/
└── docker-compose.ymlProwlarr 资源索引
它主要要配置的就是各种资源站索引器,本质上是告诉系统“电影应该去哪些地方找”,然后把这些搜索能力统一交给 Radarr 使用。
-
「索引器」 添加资源索引器,选择 torrent 协议,公开资源
-
「设置」 > 「应用程序」 添加 Radarr,Radarr 会自动发现 Prowlarr 的索引器,并使用这些索引器进行搜索。
Radarr 电影整理
Radarr 需要配置清楚索引器来源、下载器以及最终的电影存放目录,它决定的是“下什么、谁来下、下完放哪”,是整套系统真正的指挥中心。
-
「设置」 > 「媒体目录」 设置电影存放目录。
-
「设置」 > 「索引器」 如果前面配置了 Prowlarr,这里会自动发现 Prowlarr 的索引器,并使用这些索引器进行搜索。这个地方也可以手动添加索引器,但是需要手动添加索引器的 API Key。
-
「设置」 > 「下载客户端」 添加 qBittorrent,qBittorrent 会自动发现 Radarr 的下载任务,并使用这些下载任务进行下载。
-
「设置」 > 「通用」 获取 API 密钥。
Sonarr 电视剧整理
Sonarr 与 Radarr 相同,只是整理的对象是电视剧。
-
「设置」 > 「媒体目录」 设置电视剧存放目录。
-
「设置」 > 「索引器」 如果前面配置了 Prowlarr,这里会自动发现 Prowlarr 的索引器,并使用这些索引器进行搜索。
-
「设置」 > 「下载客户端」 添加 qBittorrent,qBittorrent 会自动发现 Sonarr 的下载任务,并使用这些下载任务进行下载。
-
「设置」 > 「通用」 获取 API 密钥。
qBittorrent 种子下载器
qBittorrent 的关键只有一件事,就是下载目录必须和 Radarr 看到的路径一致,并开放接口让 Radarr 能远程控制它完成下载。
-
「选项」 > 「速度」 考虑限制上传/下载速度,不然可能大量上传。
-
「选项」 > 「BitTorrent」 考虑设置做种限制,当达到设定的分享率后不再上传。
TIP
默认账户名和密码为 admin/adminadmin,自 qBittorrent v4.6.1 开始,如果没有设置密码,qBittorrent 会生成一个随机密码,并输出在控制台。
The most important change has to do with WebUI. It affects users that haven’t set their own credentials and are use the default ones. Those will not be accepted now and qBittorrent will generate a random password and output it in the console for you to use. Then you can login and configure a password.
TIP
如果 qBittorrent WebUI 的任务列表未显示完整的记录,与左侧的下载任务数量不一致,可以尝试清除 localStorage 以及 Cookies。
Bazarr 字幕下载
Bazarr 需要配置字幕语言偏好和可用的字幕站点,它依赖 Radarr 的电影列表,在影片入库后自动帮你把字幕补齐。
-
「Settings」 > 「Languages」 设置字幕语言偏好,支持多种语言。
-
「Settings」 > 「Providers」 添加字幕站点,支持多个字幕站点。
Jellyfin 流媒体播放
Jellyfin 只需要指向已经整理好的电影目录,并配置好刮削和播放方式,就可以把所有内容以流媒体的形式展示出来。
- 「控制台」 > 「媒体库」 添加媒体库,设置电影/电视剧存放目录。
Docker Compose 文件
Docker Compose 文件:
version: '3.8'
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- WEBUI_PORT=8080
volumes:
- ./qbittorrent/config:/config
- ~/disk/downloads:/downloads
ports:
- 8080:8080
- 6881:6881
- 6881:6881/udp
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./prowlarr/config:/config
ports:
- 9696:9696
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./radarr/config:/config
- ~/disk/downloads:/downloads
- ~/disk/movies:/movies
ports:
- 7878:7878
restart: unless-stopped
depends_on:
- qbittorrent
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./docker/sonarr/config:/config
- ~/disk/tv:/tv
- ~/disk/downloads:/downloads
ports:
- 8989:8989
restart: unless-stopped
bazarr:
image: lscr.io/linuxserver/bazarr
container_name: bazarr
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
volumes:
- ./bazarr/config:/config
- ~/disk/movies:/movies
- ~/disk/tv:/tv
ports:
- 6767:6767
restart: unless-stopped
depends_on:
- radarr
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
user: 1000:1000
volumes:
- ./jellyfin/config:/config
- ~/disk/movies:/media/movies
- ~/disk/tv:/media/tv
ports:
- 8096:8096
restart: unless-stopped