告别失效源,打造“会进化”的电视直播中心
核心逻辑
这套方案由两个服务协同工作,彻底解决直播源失效的痛点:
—
第一步:环境准备
创建文件夹:打开「文件管理」,在 docker 目录下新建 iptv 文件夹,并在其内新建 data 文件夹。
- 路径结构:
/vol1/1000/docker/iptv/data(用于存放生成的 iptv.txt)
确保网络通畅:NAS 需具备正常的互联网访问权限。
—
第二步:Docker 一键部署
打开飞牛 Docker 应用 -> 项目 (Compose) -> 创建项目。
项目名称:iptv-auto,路径选择:docker/iptv。
配置代码:复制以下 YAML 代码并根据注释微调:
YAML
services:
# Spider 服务:负责底层的爬虫工作
spider:
image: cqshushu/iptv-spider:v1.0
container_name: iptv-spider
restart: unless-stopped
ports:
- "50085:50085"
environment:
- TZ=Asia/Shanghai
volumes:
- ./data:/app/data
# Aggregator 服务:负责调度爬虫、聚合数据并生成最终列表
aggregator:
image: yiwanaishare/iptv-aggregator:latest
container_name: iptv-aggregator
restart: unless-stopped
ports:
- "50086:50086"
environment:
# ==================== 用户自定义配置 ====================
# Spider 登录密码(必填,需与上方 spider 默认密码一致,或者自行修改)
- SPIDER_PASSWORD=gawis1234
# 筛选条件配置
- FILTER_DAYS=5 # 采集最近N天的数据源 (建议5-15)
- FILTER_TYPE=hotel # 数据源类型:hotel(酒店源), multicast(组播), all(全部)
- PRIORITY_KEYWORDS=天津,联通 # 优先关键词 (如 "天津,联通", 逗号分隔)
- COLLECTION_PAGES=5 # 采集页数 (建议3-8,页数越多耗时越长)
# 运行时间配置
- REFRESH_INTERVAL_HOURS=12 # 自动更新间隔(小时)
# ==================== 系统配置(一般无需修改) ====================
- TZ=Asia/Shanghai # 时区设置
- SPIDER_URL=http://spider:50085 # Spider 服务地址
- PORT=50086 # Aggregator 服务端口
- HTTP_TIMEOUT=8 # HTTP 请求超时时间(秒)
- SPIDER_READY_MAX_WAIT_SECONDS=600 # 等待 Spider 就绪的最大时间(秒)
depends_on:
- spider
volumes:
# 数据持久化目录(生成的 iptv.txt 会在这里)
- ./data:/app/data
working_dir: /app
—
🔍 第三步:验证与排障
现象原因及对策接口返回空/报错爬虫正在测速。查看 aggregator 日志,确认是否有 Trigger spider collection。密码错误提示检查环境变量 SPIDER_PASSWORD 是否正确(默认 yiwan123)。搜不到频道检查 FILTER_TYPE。普通网络请务必选 hotel,切勿选 multicast(组播)。
成功标志:日志中出现 Playlist generated 或 Saved iptv.txt。
—
终端接入指引
部署完成后,你的专属直播源订阅地址为:
http://[NAS_IP]:50086/iptv
转自:[链接登录后可见]
致敬原作者: 本教程由博主 @一万AI分享 倾力制作。虽然步骤看似简单,但背后凝结了博主无数个日夜的研发与调试。前人栽树,后人乘凉,分享不易,请大家务必关注支持原作者,为优质内容发声!