目 录CONTENT

文章目录

Docker与xteve+jellyfin搭建IPTV服务一次搭建多平台使用

yyzq
2024-08-12 / 2 评论 / 0 点赞 / 1,069 阅读 / 874 字

前言

Docker使用xteve+jellyfin框架搭建IPTV服务器,一个服务端加各个平台客户端同时使用IPTV自由。
image-1723474203546
使用界面
image-1723564663428

准备条件

1)一台服务器
需要便宜VPS的可以参考这个
《RackNerd》|《vultr》|《莱卡云》|《lightnode》
https://duan.yyzq.eu.org/vps1

2)本项目使用到的github

https://github.com/xteve-project/xTeVe

3)本项目jellyfin官网

https://jellyfin.org/

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此文件夹即可
自定义配置调谐器数量
image-1723477072927
选择PMS
image-1723477191193
选择映射的m3u8文件即可
image-1723477279673
看到如图就算成功了
image-1723477322691
此时就得到iptv服务了,这个是接口

http://ip:34400/

4.2配置jellyfin使用
image-1723477496961
配置源即可
image-1723477550534

五、绑定域名

绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定完域名就可以用域名来访问了

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

0

评论区