用Docker在飞牛NAS上搭建全自动追剧观影系统
2026/9/6 11:14:05 网站建设 项目流程

这次我们来看一套跑在飞牛 fnOS 上的全自动追剧观影方案。不是单装一个播放器,而是把“订阅 -> 下载 -> 整理 -> 刮削 -> 播放”整条链路用 Docker 串起来:你只要维护一个订阅列表,剩下的交给 NAS 自动完成。上一期聊的是飞牛 Docker 的基础玩法,这一期直接进入实用组合拳,重点解决“剧集更新没人提醒、下载完文件名乱、播放器海报墙空荡荡”这三个 NAS 影音玩家的高频痛点。

整套方案的核心组件是 Sonarr(剧集管理)+ Radarr(电影管理)+ qBittorrent(下载器)+ Jackett(索引器)+ Jellyfin(媒体服务器)。它们各自是独立容器,通过 Docker 网络互相通信,最终在 Jellyfin 里形成自动更新的海报墙。这套组合在群晖、威联通、绿联、飞牛上都能跑,本文以飞牛 fnOS 为例,因为它的 Docker 管理器自带 Compose 支持,部署最省事。

先给结论:这套方案对硬件要求不高,x86 架构的 NAS 都能带得动。Jellyfin 转码建议 Intel 核显(Quick Sync),但如果你的播放设备支持直接解码,纯下载和整理场景下 2 核 CPU + 4G 内存就够用。部署完成后你只需要做两件事:在 Sonarr/Radarr 里添加订阅,然后打开 Jellyfin 看片。下面从架构设计开始,逐步带你把这套系统搭起来。

1. 核心能力速览

先看这套方案整体能力,方便你判断要不要继续往下读。

能力项说明
方案类型NAS 全自动追剧 + 媒体库管理 + 多端播放
适用系统飞牛 fnOS(Docker + Compose),群晖/威联通/绿联可平滑迁移
核心组件Sonarr、Radarr、Jackett、qBittorrent、Jellyfin
硬件要求x86 架构 NAS,2 核 CPU + 4G 内存起步;Jellyfin 转码建议 Intel 核显
磁盘要求建议至少 2T 空间;下载盘和媒体库可分目录或分盘
启动方式Docker Compose 一键创建全部容器
接口能力Sonarr/Radarr 提供 REST API,可对接第三方 App 或自动化脚本
批量任务支持剧集/电影批量订阅,下载完成后自动整理入库
自动刮削Sonarr 自动重命名,Jellyfin 自动抓取海报、简介、演员信息
适合场景追美剧/日剧更新、电影收藏整理、家庭媒体库建设

这套方案的核心逻辑是:Jackett 负责对接各类资源索引站,Sonarr/Radarr 根据订阅自动搜索并推送下载任务给 qBittorrent,下载完成后 Sonarr/Radarr 自动整理文件并重命名,最后 Jellyfin 扫描入库完成海报墙展示。

2. 适用场景与使用边界

这套方案最适合这几类用户:

  • 追剧党:美剧、日剧、韩剧按季订阅,更新集数自动下载,不用每天手动刷站点。
  • 电影收藏控:想按 IMDB/TMDB 标准整理本地电影库,自动抓取封面、简介、评分。
  • 家庭媒体库建设者:希望全家人在电视、手机、平板上通过 Jellyfin 直接看 NAS 里的内容。
  • NAS 折腾玩家:已经装了飞牛 fnOS,想试试 Docker 组合拳,理解服务间通信和自动化流程。

不适合的场景:

  • 不看剧、不整理媒体文件,只想要一个能播本地视频的工具,那直接装飞牛自带影视即可。
  • 不懂 Docker 也不想维护,想要“装完就不管”的体验,这套方案需要偶尔处理索引失效、下载失败等运维问题。

合规与版权边界,这里必须明确提醒:这套方案本身是媒体自动化管理工具链,不包含任何盗版资源,也不内置任何侵权内容。请确保你订阅和下载的内容拥有合法授权,包括但不限于公开版权内容、已购买的数字内容备份、创作者授权分发的素材等。不要使用它批量抓取未授权内容,也不要将刮削后的媒体库对外公开分享。家庭私有媒体库的使用边界是“自用”,超出这个范围会有法律风险。

涉及下载器的使用,同样需要遵守当地法律法规和网络服务条款。本文出现的所有容器均为开源软件,用途是搭建个人媒体管理流程,请勿用于任何侵权场景。

3. 环境准备与前置条件

3.1 飞牛 fnOS 环境检查

在你开始部署之前,先确认 NAS 满足以下条件:

检查项要求说明
系统版本飞牛 fnOS 0.8.x 或更新版本需要自带 Docker 管理器
架构x86_64ARM 设备需单独确认镜像兼容性
内存4G 起步,8G 更稳5 个容器同时运行,内存占用较高
存储建议 SSD 做系统盘 + 机械盘做存储盘下载缓存建议放在机械盘
网络能正常访问 Docker Hub拉取镜像需要网络通畅;国内网络慢时可配置镜像加速
端口7880/7881/7878/8989/8096 等端口空闲如果被占用,Compose 里可自行调整

3.2 目录规划

这是整套方案里最重要的一步。目录规划不清晰,后面文件整理就是一团乱麻。推荐按“下载暂存区”和“媒体库”分开的方式:

/vol1/1000/media/ ├── downloads/ │ ├── tv/ # 剧集下载暂存区 │ └── movies/ # 电影下载暂存区 ├── library/ │ ├── tv/ # 剧集最终入库目录 │ └── movies/ # 电影最终入库目录 └── docker/ ├── sonarr/ # Sonarr 配置目录 ├── radarr/ # Radarr 配置目录 ├── jackett/ # Jackett 配置目录 ├── qbittorrent/ # qBittorrent 配置目录 └── jellyfin/ # Jellyfin 配置目录

飞牛 fnOS 的存储卷一般挂在/vol1/1000下,具体路径以你在“文件管理”里看到的位置为准。先在文件管理里把上述目录建好,建议使用英文路径,避免中文路径在某些容器里出现编码问题。

3.3 确认 Docker Compose 支持

飞牛 fnOS 的 Docker 管理器已经内置了 Compose 功能。你在 Docker 应用里找到“项目”或“Compose”入口即可。如果找不到,也可以通过 SSH 连接 NAS,使用命令行直接执行docker compose up -d。下面会给出完整 Compose 文件,两种方式都能用。

4. 安装部署与启动方式

4.1 编写 docker-compose.yml

/vol1/1000/media/docker/下创建docker-compose.yml文件,内容如下。我加了详细注释,便于你理解每个服务的用途和端口映射。

version: "3.8" services: # ---- 索引器:对接资源站点,提供统一搜索 API ---- jackett: image: linuxserver/jackett:latest container_name: jackett environment: - PUID=1000 # 飞牛 fnOS 默认用户 UID,可用 id 命令查看 - PGID=1000 - TZ=Asia/Shanghai volumes: - /vol1/1000/media/docker/jackett:/config - /vol1/1000/media/downloads:/downloads ports: - "9117:9117" # Jackett WebUI 端口 restart: unless-stopped # ---- 下载器:负责实际下载任务 ---- qbittorrent: image: linuxserver/qbittorrent:latest container_name: qbittorrent environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai - WEBUI_PORT=8081 volumes: - /vol1/1000/media/docker/qbittorrent:/config - /vol1/1000/media/downloads:/downloads ports: - "8081:8081" # qBittorrent WebUI - "6881:6881" # BT 下载端口 - "6881:6881/udp" restart: unless-stopped # ---- 剧集自动订阅管理 ---- sonarr: image: linuxserver/sonarr:latest container_name: sonarr environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai volumes: - /vol1/1000/media/docker/sonarr:/config - /vol1/1000/media/downloads:/downloads - /vol1/1000/media/library/tv:/tv # 剧集媒体库 ports: - "8989:8989" # Sonarr WebUI restart: unless-stopped # ---- 电影自动订阅管理 ---- radarr: image: linuxserver/radarr:latest container_name: radarr environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai volumes: - /vol1/1000/media/docker/radarr:/config - /vol1/1000/media/downloads:/downloads - /vol1/1000/media/library/movies:/movies # 电影媒体库 ports: - "7878:7878" # Radarr WebUI restart: unless-stopped # ---- 媒体服务器:刮削 + 海报墙 + 多端播放 ---- jellyfin: image: lscr.io/linuxserver/jellyfin:latest container_name: jellyfin environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai volumes: - /vol1/1000/media/docker/jellyfin:/config - /vol1/1000/media/library/tv:/data/tv - /vol1/1000/media/library/movies:/data/movies ports: - "8096:8096" # Jellyfin WebUI restart: unless-stopped

PUIDPGID换成你 NAS 实际用户的值,在 SSH 执行id就能看到,默认一般是 1000。如果飞牛 fnOS 的 WebUI 创建用户时有不同设定,以实际为准。

4.2 启动容器

如果你在飞牛 WebUI 的 Docker 项目里操作,选择“添加项目”,把上面的 Compose 内容粘贴进去即可。如果使用命令行,SSH 到 NAS 后在docker-compose.yml所在目录执行:

cd /vol1/1000/media/docker docker compose up -d

第一次拉取 5 个镜像需要一点时间,镜像大小加起来大约 2-3 GB。启动完成后执行:

docker ps

看到 5 个容器状态都是Up,部署就算成功了。

4.3 访问各服务 WebUI

服务地址默认端口
Jacketthttp://NAS_IP:91179117
qBittorrenthttp://NAS_IP:80818081
Sonarrhttp://NAS_IP:89898989
Radarrhttp://NAS_IP:78787878
Jellyfinhttp://NAS_IP:80968096

首次访问 qBittorrent 时,默认用户名admin,密码在容器日志里,执行docker logs qbittorrent可以在日志末尾看到临时密码,登录后记得修改。

5. 功能配置与联动设置

容器全部启动只是第一步,真正让这套系统“全自动”运转,需要完成服务间的配置联动。

5.1 Jackett 配置索引器

打开 Jackett WebUI,点击 “Add Indexer” 添加你需要的资源索引站。这里需要注意:索引站的可访问性会直接影响 Sonarr/Radarr 的搜索结果,建议挑选你本地网络能正常访问的站点添加。

配置完成后,Jackett 会给每个索引器生成一个独立的 API Key 和 Torrent 搜索链接。在 Sonarr/Radarr 里添加索引器时会用到这个链接,格式一般是:

http://NAS_IP:9117/api/v2.0/indexers/站点名/results/torznab/

因为两个容器都映射到了宿主机网络,Sonarr 里可以直接填http://192.168.1.100:9117这样的地址(改成你实际的 NAS IP),不需要填容器内部 IP。

5.2 qBittorrent 配置下载路径

打开 qBittorrent WebUI,进入 “设置 -> 下载”,把“保存管理”中的默认保存路径设置为/downloads。实际下载的子目录由 Sonarr/Radarr 自动创建。

建议做一个关键设置:勾选“Torrent 完成时运行外部程序”,并填入 Sonarr/Radarr 的 API 通知地址。不过更推荐直接用后面的连接配置方式,Sonarr/Radarr 会主动轮询下载器状态。

5.3 Sonarr 连接 qBittorrent

打开 Sonarr WebUI,进入 “设置 -> 下载客户端”,点击“添加”,类型选qBittorrent,填写:

字段
主机NAS_IP
端口8081
用户名admin
密码你修改后的密码
类别tv-sonarr

点击“测试”,显示连接成功即可。Radarr 的操作完全一致,只是类别建议填movies-radarr

5.4 Sonarr 配置根目录和媒体库

在 Sonarr 的 “设置 -> 媒体管理” 中,把根文件夹设为/tv,重命名规则保持默认即可。Sonarr 会自动把剧集整理成以下格式:

/电视剧名/季数/电视剧名 - S01E01 - 集标题.mkv

Radarr 同样把根文件夹设为/movies,电影命名格式为:

/电影名 (年份)/电影名 (年份) - 质量来源.mkv

注意,Sonarr 和 Radarr 的根目录必须是容器内路径,不是 NAS 的物理路径。

6. 功能测试与效果验证

配置完成,进入功能测试阶段。建议按下面的顺序逐项验证。

6.1 测试 Jackett 搜索

在 Jackett WebUI 的搜索框输入你要找的资源名,比如blade runner 2049,能返回搜索结果,说明索引器配置正常。这一步是承上启下的关键,Jackett 如果搜不到结果,Sonarr/Radarr 肯定也搜不到。

6.2 测试 Sonarr 自动订阅

在 Sonarr 界面点击 “添加剧集”,输入剧名,选择正确的剧集条目后点确定。

预期结果:Sonarr 会自动搜索该剧的种子资源,推送下载任务到 qBittorrent,qBittorrent 开始下载。

判断成功的标准:

  • Sonarr 的 “活动” 页面能看到当前下载队列。
  • qBittorrent 的 “种子” 列表里出现了对应任务。
  • 界面右上角没有红色警报。

如果搜不到资源,优先检查 Jackett 是否配置了可用索引器,以及索引器返回结果是否需要特殊参数(例如部分站点需要自定义 FlareSolverr 处理)。

6.3 测试 qBittorrent 下载完成后的自动整理

等待一个测试下载任务完成后,观察 Sonarr 的“活动 -> 历史记录”。如果显示GrabbedDownloadedImported三个状态流转,说明整套自动化链路已经跑通。

此时去 NAS 的媒体库目录library/tv下查看,文件应该已经按标准格式重命名并归入对应季目录。

6.4 测试 Jellyfin 媒体库刮削

打开 Jellyfin WebUI,首次使用需要创建管理员账号。创建完成后进入“仪表盘 -> 媒体库”,添加媒体库,内容类型选“电视节目”,文件夹路径填/data/tv。电影媒体库同理,路径填/data/movies

添加完成后 Jellyfin 会自动扫描,并匹配 TMDB 元数据。打开首页,能看到海报墙、剧集简介、演员列表,说明刮削成功。

如果刮削匹配不到,常见原因是文件名信息不完整。确认 Sonarr 的重命名规则里包含剧集名和集号,不要用纯数字文件名。

6.5 端到端回归测试

完整的回归测试流程如下:

  1. 在 Sonarr 添加一部美剧订阅。
  2. 等待 Jackett 自动搜索 -> Sonarr 推送任务 -> qBittorrent 开始下载。
  3. 下载完成后 Sonarr 自动重命名并移动文件。
  4. Jellyfin 检测到新文件,自动扫描入库。
  5. 打开 Jellyfin 首页,海报墙出现新剧,点进去可以正常播放。

这一整套流程全部自动完成、无需人工干预,就算验收通过。

7. 接口 API 与批量任务扩展

这套方案里的 Sonarr 和 Radarr 都提供完整 REST API,配合批量任务可以在追剧场景之外做更多自动化。

7.1 用 API 批量添加剧集

如果你搬家式的从旧媒体库迁移一批剧集,不想在 WebUI 里一个个添加,可以通过 API 批量导入。先到 Sonarr 的“设置 -> 常规”页面复制 API Key,然后使用下面的 Python 示例:

import requests import json # 配置区 SONARR_URL = "http://NAS_IP:8989" API_KEY = "你的API_Key" TVDB_ID = 121361 # 剧集的 TVDB ID,可在 Sonarr 搜索页面获取 url = f"{SONARR_URL}/api/v3/series" headers = {"X-Api-Key": API_KEY} payload = { "tvdbId": TVDB_ID, "title": "测试剧集", "qualityProfileId": 1, # 质量配置 ID,可按需调整 "languageProfileId": 1, "seasonFolder": True, "monitored": True, "rootFolderPath": "/tv", "addOptions": {"searchForMissingEpisodes": True} } response = requests.post(url, headers=headers, json=payload, timeout=30) print(response.status_code) print(response.json())

searchForMissingEpisodes设为true,添加成功后 Sonarr 会立即开始搜索缺失剧集,自动生成下载任务。

7.2 用 API 批量整理已下载资源

如果你之前已经有一批手动下载的文件,不想重新下载,可以使用 Sonarr 的“导入”功能。通过 API 返回的候选文件列表,可以写脚本自动做批量导入:

import requests SONARR_URL = "http://NAS_IP:8989" API_KEY = "你的API_Key" url = f"{SONARR_URL}/api/v3/importlist" headers = {"X-Api-Key": API_KEY} response = requests.get(url, headers=headers, timeout=30) print(response.json())

建议第一次跑通全链路后再做这些高级扩展,先把核心订阅流程搞清楚,比单纯追求 API 数量更有价值。

7.3 下载器批量限速与队列管理

qBittorrent 本身提供 Web API,可以用来批量管理下载任务。例如批量给所有 5 个以上的种子限速到 5MB/s:

import requests QB_URL = "http://NAS_IP:8081" QB_USER = "admin" QB_PASS = "你的密码" # 登录获取 cookie session = requests.Session() session.post(f"{QB_URL}/api/v2/auth/login", data={"username": QB_USER, "password": QB_PASS}) # 获取所有种子 torrents = session.get(f"{QB_URL}/api/v2/torrents/info").json() # 批量限速 for torrent in torrents: if torrent["hash"]: session.post(f"{QB_URL}/api/v2/torrents/setLimit", data={ "hash": torrent["hash"], "limit": 5120 # 单位 KB/s }) print(f"已对 {len(torrents)} 个种子设置限速")

8. 资源占用与性能观察

这套系统属于“常驻后台”型服务,了解资源占用情况有助于评估是否需要扩大内存,或者哪些容器吃资源最严重。

8.1 如何观察资源占用

在飞牛 fnOS 的 WebUI 里直接看“资源监控”即可,能看到每个容器的 CPU 和内存实时曲线。更精确的观察可以通过 SSH 执行:

docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"

运行docker stats能看到类似下面的输出:

NAME CPU % MEM USAGE / LIMIT sonarr 0.35% 480MiB / 7.6GiB radarr 0.20% 350MiB / 7.6GiB jackett 0.10% 250MiB / 7.6GiB qbittorrent 2.50% 620MiB / 7.6GiB jellyfin 3.20% 720MiB / 7.6GiB

以上只是示意数据,实际以你 NAS 的真实输出为准。总体规律是:空闲时这套系统内存占用大概在 2-3 GB 之间,下载和转码时 CPU 会明显上升。

8.2 性能影响分析

  • Jellyfin 转码是资源消耗大户。如果你用手机流量播放 NAS 里的 4K 原盘,Jellyfin 会触发转码,CPU 占用可能直接拉满。解决方式是在客户端开启“直接播放”,或者给 Jellyfin 挂载 Intel 核显做硬件转码。
  • qBittorrent 大量并发任务会占用较多内存。如果你同时跑几百个种子,内存占用会显著上升,建议下载完成后自动做种上限设置,不要无限做种。
  • Jackett 和 Sonarr/Radarr 的搜索过程是短暂的 CPU 波动,因为需要同时发起很多索引请求,峰值 CPU 会短暂升高,属于正常现象。

8.3 如何降低资源占用

如果 NAS 配置较低,比如只有 4G 内存,可以做一些取舍:

  • 不需要追剧的话,可以不部署 Radarr,少一个常驻容器。
  • qBittorrent 设置“全局最大连接数”为 300,降低网络和内存开销。
  • Jellyfin 关闭不必要的转码格式支持,尽量在播放端解码。
  • Jackett 只保留必要的索引器,索引器越多,搜索时 CPU 和网络开销越大。

9. 常见问题与排查方法

基于实际部署中最常踩的坑,整理出下面的排查表。

问题现象可能原因排查方式解决方案
容器启动后马上退出目录映射不存在或权限不足查看docker logs 容器名确认主机目录已创建,PUID/PGID 设置正确
Sonarr/Radarr 提示下载客户端连接失败qBittorrent 密码被修改过在 Sonarr 里重新测试连接更新 qBittorrent 密码
Sonarr 搜索不到任何资源Jackett 索引器配置失效在 Jackett WebUI 里手动搜索测试更新索引器 Cookie/API Key,或添加新的索引器
下载完成但 Sonarr 不导入下载目录和媒体库目录映射不一致检查 Sonarr 的路径映射设置确保容器内/downloads/tv路径映射正确
Jellyfin 刮削不到海报文件名不规范或网络无法访问 TMDB在 Jellyfin 日志里查看元数据抓取报错规范命名,或检查 NAS 网络解析是否正常
Docker Hub 拉取镜像超时网络问题尝试重新拉取配置国内镜像加速源
qBittorrent 无法下载,显示 tracker 未连接网络或 tracker 问题查看 qBittorrent 的 Tracker 状态添加备用 tracker,或检查网络连通性
重启 NAS 后容器未自动启动restart 策略没设置查看容器运行状态在 Compose 里确保restart: unless-stopped

9.1 端口冲突排查

如果你发现某个端口被占用导致容器无法启动,可以用下面的命令查看端口占用情况:

netstat -tlnp | grep 8989

找到占用进程后,换一个宿主机端口映射即可。例如 Sonarr 的端口映射改成"8989:8989""18989:8989",访问地址相应变成http://NAS_IP:18989。注意只有冒号左侧可以改,右侧是容器内部端口,不要动。

9.2 路径映射排查

这是整个方案里最容易出问题的地方。出现“找不到文件”类错误时,进入容器内部确认路径是否能访问到数据:

docker exec -it sonarr bash ls /downloads ls /tv

如果ls /downloads能看到文件,说明下载器和 Sonarr 的路径映射是一致的。看不到文件,说明 Compose 里的 volumes 映射有问题,需要回到宿主机路径和容器路径一一核对。

9.3 Jellyfin 硬解配置排查

如果 Jellyfin 转码特别卡,可能是没有开启硬件加速。在 Jellyfin 的“仪表盘 -> 播放”里,勾选 Intel Quick Sync,然后重启 Jellyfin 容器。确认你的 NAS CPU 是否支持 Quick Sync,飞牛 fnOS 内核只要包含 i915 驱动,一般都能识别到/dev/dri设备。

10. 最佳实践与使用建议

10.1 目录规划要一次到位

不要下载完再移动文件。下载暂存区和媒体库从一开始就分开,能避免 Sonarr/Radarr 在硬链接和文件移动时出现跨文件系统问题。如果下载盘和媒体库是同一块物理盘,Sonarr 默认会优先使用硬链接,实现“秒入库”且不占用额外空间。如果分属不同磁盘,硬链接不生效,会执行真实的文件复制,耗时更长。

验证硬链接是否生效,可以执行:

stat /downlo ads/xxx.mkv /tv/xxx.mkv

两个文件如果 Inode 相同,说明是硬链接;不同则是复制。

10.2 索引器要克制

Jackett 每添加一个索引器,Sonarr 搜索时就会多一个查询目标。索引器太多会导致搜索速度变慢,且某些不稳定的索引器会让搜索超时。建议保留 3-5 个稳定的索引器即可,质量优先而不是数量优先。

10.3 留好配置备份

容器配置目录都在/vol1/1000/media/docker/下面,定期把这个目录整体备份到另一块硬盘,或者用飞牛的自带备份功能同步到网盘。更换 NAS 或者系统重装时,只要恢复这些目录,重新docker compose up -d,整套系统就能恢复原样。

10.4 下载完成留种策略

qBittorrent 默认会一直做种,长期挂机既不节能,也会占用网络上行。在 qBittorrent 设置里把做种限制改成“分享率达成 1.0 或做种时间满 72 小时自动停止”,既能保证基本的分享义务,又不会拖垮 NAS 网络。

10.5 合规与授权提醒

重要的事情说三遍:确保下载内容有合法授权。这套自动下载工具链不内置任何内容源,也不帮你找盗版资源。索引器列表里的站点如果是公开的,也意味着它的可用性随时可能变化,不要在生产环境过度依赖某一个索引器。直接对外发布 Jellyfin 媒体库链接、分享账号给非家庭成员,都存在版权风险和安全风险,请务必慎重。

11. 总结与下一步

这套方案最值得尝试的点是:一次配置,长期自动。只要 Jackett 索引器稳定,Sonarr/Radarr 的订阅列表就是你的“追剧清单”,下载、整理、入库、刮削全部自动完成,Jellyfin 打开就是干净的海报墙。

最先应该验证的功能是 Jackett 手动搜索 + Sonarr 添加剧集测试。这两步跑通,说明索引、下载、管理链路是通的,后面 Jellyfin 入库只是时间问题。

最容易踩的坑是路径映射不一致,其次是 qBittorrent 默认密码找不到。前者的解决方式是每次改 Compose 都确认宿主机路径和容器路径一一对应,后者则是在首次启动后第一时间看容器日志拿临时密码并完成修改。

后续可以继续扩展的方向包括:给 Sonarr/Radarr 接入 Telegram/微信通知机器人,剧集下载完成自动推送到手机;给 Jellyfin 配置 SSL 证书后在外网安全访问;或者引入硬链接批量整理脚本,把已有的散乱资源库快速整理成标准格式。每一块都可以单独写一篇,先把手头的自动追剧链路跑稳,再逐步加功能。

建议收藏备用。如果你已经有一台飞牛 NAS,现在就可以打开 Docker 项目模块,把上面的 Compose 文件粘贴进去,体验一下全自动追剧的快乐。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询