本文属于「自托管 Docker 部署实战」系列(共 35 篇),第 23 篇。 示例中的 IP(192.0.2.10)、域名(example.com)、密码均为占位符,请按实际环境替换。

它是什么

IPTV-API 会定时抓取公开的 IPTV 直播源,逐个测速、去重、排序,最后生成可被播放器直接订阅的 m3u / txt 播放列表。

适合给电视盒子、PotPlayer、VLC 之类的播放器提供一个稳定的订阅地址。

前置条件

  • 一台 Linux 服务器(1C1G 起);
  • 已安装 Docker 与 Compose v2;
  • 服务器能访问外网(要抓取源站)。
curl -fsSL https://get.docker.com | sh
mkdir -p /srv/docker/active/iptv && cd /srv/docker/active/iptv

镜像地址

guovern/iptv-api:lite

lite 是精简版,镜像更小、启动更快;需要完整功能可以换成 guovern/iptv-api:latest。

目录结构

/srv/docker/active/iptv/
├── docker-compose.yml
├── config/               # 配置:源列表、测速参数、输出格式
└── output/               # 生成的 result.m3u / result.txt

部署步骤

# docker-compose.yml
services:
  iptv-api:
    image: guovern/iptv-api:lite
    container_name: iptv-api-lite
    restart: unless-stopped
    ports:
      - "8755:8000"
    volumes:
      - ./config:/iptv-api-lite/config
      - ./output:/iptv-api-lite/output
docker compose up -d
docker compose logs -f --tail=100
  • 管理/状态页:http://<SERVER_IP>:8755
  • 订阅地址(以容器实际输出为准):http://<SERVER_IP>:8755/m3u 或 http://<SERVER_IP>:8755/txt

关键配置

项 说明
8755:8000 宿主机 8755 → 容器 8000
./config 源列表、测速并发、超时、输出模板
./output 生成的播放列表,播放器订阅这里
更新周期 默认每天定时更新,可在配置里改 cron 或间隔

注意事项

  • 公开源质量参差不齐,能播多少取决于源站,不是项目本身的问题;
  • 测速会发起大量并发请求,带宽小的机器把并发调低;
  • 生成的文件会周期性覆盖,别把 output 挂到重要目录;
  • 部分源有地域/运营商限制,跨网播放会卡;
  • 公开源涉及版权风险,仅建议自用研究。

备份与升级

# 备份配置即可,output 可再生
tar czf "iptv-config-$(date +%F).tar.gz" ./config

# 升级
docker compose pull
docker compose up -d
  • config/ 里如果有自定义源列表,升级前务必保留。