本文将介绍如何在 OpenWrt 的 Docker 环境下部署一个 IPTV 本地订阅脚本,并通过天光云影 APP 配置自定义直播源。


1. 准备工作

确保你的 OpenWrt 系统已安装并配置好 Docker 环境。如果未安装 Docker,请参考 OpenWrt 官方文档进行安装。


2. 编写 Docker Compose 文件

在 OpenWrt 的任意目录下创建一个 docker-compose.yml 文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: '3.8'

services:
iptv-api:
image: docker.1ms.run/guovern/iptv-api:latest
container_name: iptv
restart: unless-stopped
ports:
- "8000:8000"
volumes:
- /root/docker/iptv/config:/iptv-api/config
- /root/docker/iptv/output:/iptv-api/output

cron:
image: alpine
container_name: cron
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
entrypoint: >
/bin/sh -c "echo '0 2 * * * docker-compose pull iptv-api && docker-compose up -d iptv-api' | crontab - && crond -f"

3. 启动服务

在 docker-compose.yml 文件所在的目录下,运行以下命令启动服务:

1
docker-compose up -d

4. 获取订阅地址

部署成功后,可以通过以下地址访问 IPTV 订阅:

M3U 格式:http://<你的 OpenWrt IP>:8000/ipv4
TXT 格式:http://<你的 OpenWrt IP>:8000/txt

5. 配置天光云影 APP

打开天光云影 APP,点击「直播源」->「自定义直播源」->「添加其他直播源」。
在电脑浏览器中输入天光云影的推送地址:http://<电视或盒子的 IP>:10481。
在自定义直播源中填入订阅地址和名称,然后点击「推送直播源」。
在天光云影 APP 上出现推送的直播源后,点击并设置为默认即可。

6. 自动更新脚本

cron 服务会每天凌晨 2 点自动拉取最新的 iptv-api 镜像并重启服务,确保订阅内容是最新的。

7. 其他说明

如果 OpenWrt 的 IP 地址发生变化,请手动更新订阅地址。
如果你需要修改定时任务的时间,可以编辑 docker-compose.yml 文件中的 cron 服务配置。