前言
Docker使用xteve+jellyfin框架搭建IPTV服务器,一个服务端加各个平台客户端同时使用IPTV自由。
使用界面
准备条件
1)一台服务器
需要便宜VPS的可以参考这个
《RackNerd》|《vultr》|《莱卡云》|《lightnode》
https://duan.yyzq.eu.org/vps1
2)本项目使用到的github
https://github.com/xteve-project/xTeVe
3)本项目jellyfin官网
4)可以用的iptv项目
https://github.com/joevess/IPTV
https://github.com/Free-TV/IPTV
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
或者直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
无法使用docker拉取的可以看我之前的文章
国内无法拉取docker镜像的解决办法
二、创建docker-compose.yml文件
mkdir web-iptv;cd web-iptv #创建一个目录,并进入此目录
vim docker-compose.yml
version: '3'
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
ports:
- "8096:8096" # Jellyfin Web UI
- "8920:8920" # HTTPS port
- "1900:1900/udp" # DLNA
- "7359:7359/udp" # MDNS
- "1901:1901" # Custom port to avoid conflict with jellyfin in xteve
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
volumes:
- ./share/Container/conf/jellyfin:/config
- ./share/CloudDrive:/media
devices:
- /dev/dri:/dev/dri
restart: always
xteve:
image: alturismo/xteve
container_name: xteve
restart: always
ports:
- "34400:34400"
- "1902:1900" # Custom port to avoid conflict with jellyfin
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
volumes:
- ./share/Container/conf/xteve/conf:/config
- ./share/Container/conf/xteve/root:/root/.xteve
- ./share/Container/conf/xteve/tmp:/tmp/xteve
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否开启成功
正常启动如下所示
docker-compose ps
WARN[0000] /root/web-iptv/docker-compose.yml: `version` is obsolete
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
jellyfin jellyfin/jellyfin:latest "/jellyfin/jellyfin" jellyfin 4 days ago Up 4 days (healthy) 0.0.0.0:1900->1900/udp, :::1900->1900/udp, 0.0.0.0:1901->1901/tcp, :::1901->1901/tcp, 0.0.0.0:8096->8096/tcp, :::8096->8096/tcp, 0.0.0.0:7359->7359/udp, :::7359->7359/udp, 0.0.0.0:8920->8920/tcp, :::8920->8920/tcp
xteve alturismo/xteve "./entrypoint.sh" xteve 4 days ago Up 4 days 0.0.0.0:34400->34400/tcp, :::34400->34400/tcp, 0.0.0.0:1902->1900/tcp, :::1902->1900/tcp
四、打开web页面使用
4.1xteve配置
成功以后需要打开自己相应的端口(34400)防火墙就可以web端访问了
http://ip:34400/web #打开自己VPS的端口加ip/web进入web页面
找到自己的m3u文件放到./share/Container/conf/xteve/tmp此文件夹即可
自定义配置调谐器数量
选择PMS
选择映射的m3u8文件即可
看到如图就算成功了
此时就得到iptv服务了,这个是接口
http://ip:34400/
4.2配置jellyfin使用
配置源即可
五、绑定域名
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定完域名就可以用域名来访问了
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
评论区