Docker一键部署自动维护的IPTV直播源
充电三小时通话两分钟,讲的就是我们,看电视两分钟,找源三小时!
玩 NAS 和软路由的兄弟们,十有八九都折腾过 IPTV。大家肯定都有过这种经历:
1. 在论坛或群里求到一个 `m3u` 列表。
2. 导入 TiviMate 或 TVBox,刚开始挺爽。
3. 过了三天,源失效了,画面转圈圈。
4. 循环第一步...
**为了解决这个痛点,我封装了一个伴侣服务:IPTV Aggregator(聚合器)。**
* **Aggregator (管家)**:负责指挥爬虫、清洗数据、按你的喜好(省份/运营商)排序,并生成最终的播放列表。
**今天就手把手教大家,如何在飞牛 NAS (FnOS) 上一键部署这套神器!**
---
🛠️ **准备工作**
* **设备**:安装了飞牛 OS 的 NAS。
* **网络**:NAS 需能正常访问互联网(爬虫需要联网)。
* **工具**:飞牛自带的“文件管理”和“Docker”。
---
🚀 **部署步骤**
**第一步:创建文件夹**
1. 打开飞牛桌面的 **「文件管理」**。
2. 找到或新建 `docker` 文件夹。
3. 在 `docker` 文件夹内,新建一个子文件夹,命名为 `iptv`。
4. 在 `iptv` 文件夹内,再新建一个子文件夹 `data` (📂 **最终路径结构**:`docker/iptv/data`)。这个 `data` 目录用于存放生成的 `iptv.txt`,方便你直接取用。
**第二步:创建 Docker 项目**
1. 打开飞牛桌面的 **「Docker」** 应用。
2. 点击左侧菜单的 **「项目」(Compose)**。
3. 点击右上角 **「创建项目」**。
4. **项目名称**:填写 `iptv-auto`。
5. **路径**:选择刚才创建的 `docker/iptv` 文件夹。
**第三步:配置 Docker Compose (核心)**
将下方代码完整复制到编辑框中。**请务必阅读代码中的中文注释,根据你的实际情况修改环境变量!**
YAML
services:
aggregator:
# 官方镜像 (v2.0)
image: yiwanaishare/iptv-aggregator:latest
container_name: iptv-aggregator
restart: unless-stopped
ports:
- "50086:50086"
environment:
# ==================== 用户自定义配置 ====================
# 优先关键词 (如 "山西,联通", 逗号分隔)
- PRIORITY_KEYWORDS=山西,联通
# 自动更新间隔(小时)
- REFRESH_INTERVAL_HOURS=12
# 时区设置
- TZ=Asia/Shanghai
volumes:
# 数据持久化目录
- ./data:/app/data
点击 「确定」 或 「构建并启动」,等待镜像拉取完成并变绿运行。
⏳ 验证与避坑(重要!)
很多朋友部署失败,都是因为太急了!
1. 为什么接口是空的?
刚启动时,访问接口可能会报错或返回空数据。这是正常的!
原因:爬虫也是需要时间去公网扫描 IP、测速的。
查看日志:点击 iptv-aggregator 容器 -> 日志。
看到 Trigger spider collection... 说明任务已下发。
此时去 iptv-spider 容器看日志,会发现它正在疯狂刷屏扫描。
等待时间:根据你设置的页数,通常需要 **5-**10分钟 才能完成第一轮扫描。
2. 如何确认成功?
当 iptv-aggregator 的日志中出现:
Playlist generated 或 Saved iptv.txt
说明第一轮数据已经生成完毕!🎉
📺 使用方法
获取播放地址
打开浏览器,输入:http://你的NAS_IP:50086/iptv
你会看到一个纯文本的频道列表,已经按你的关键词排好序了。
导入电视
打开 TiviMate、影视仓、TVBox 或 Kodi:
添加 M3U 播放列表。
地址栏输入上面的链接。
尽情享受秒切、高清、无广告的直播吧!
❓ 常见问题 (FAQ)
**Q:为什么扫不到源?**A:请检查 FILTER_TYPE。如果你家里没有组播环境,千万别选 multicast,请改回 hotel。
**Q:日志提示 Spider 密码错误?**A:检查环境变量 SPIDER_PASSWORD。如果你没有修改过 Spider 的镜像,默认密码就是 yiwan123。如果你手动去 Spider 后台改过密码,这里必须同步。
Q:端口冲突怎么办?A:如果 50085/50086 被占用,在 Compose 文件的 ports 处修改冒号左边的数字即可(例如 - "10086:50086")。
**Q:数据存在哪里?**A:就在你最开始创建的 docker/iptv/data 文件夹下,有一个 iptv.txt。你可以把它复制出来分享给朋友,但不要手动修改它,因为下次更新会被覆盖。这个文章帮我润色

