No description
  • Python 97.3%
  • Dockerfile 2.7%
Find a file
Sayori 5c4937cd1e
All checks were successful
Build and Push / build-and-push (push) Successful in 2m24s
Added Workflow V3
2026-04-16 20:39:31 +02:00
.forgejo/workflows Added Workflow V3 2026-04-16 20:39:31 +02:00
yt2plex-poller Added everything 2026-04-16 20:20:49 +02:00
.env.example Added everything 2026-04-16 20:20:49 +02:00
.gitignore Added everything 2026-04-16 20:20:49 +02:00
docker-compose.yml Added everything 2026-04-16 20:20:49 +02:00
README.md Added everything 2026-04-16 20:20:49 +02:00

📄 [README.md]

YT2Plex + xTeVe + Plex — Docker Stack

Automatically monitor YouTube channels for live streams and expose them inside **Plex Live TV / DVR** so you can watch and record them like any other TV channel. Built for long events like **24H endurance races** (FIA WEC, Le Mans) and **WRX / rally** streams on YouTube.

How it works

YouTube channels
│
▼
[yt2plex-poller] ← polls every N seconds via YouTube Data API + yt-dlp
│ writes playlist.m3u + guide.xml to /shared
▼
[xTeVe] ← reads files, exposes a virtual HDHomeRun tuner on :34400
│
▼
[Plex] → Live TV → DVR recording of race streams
└── optional: auto guide-reload via REST API

Prerequisites

Requirement Notes
Docker + Docker Compose v2 docker compose (not docker-compose)
Plex Pass Required for Plex DVR / Live TV recording
YouTube Data API v3 key Free quota: 10,000 units/day
YouTube Channel IDs See lookup tool in References

Quick Start

1. Prepare the stack folder

mkdir yt2plex-xteve-stack && cd yt2plex-xteve-stack
# place docker-compose.yml, .env.example, and yt2plex-poller/ inside
cp .env.example .env && nano .env

2. Fill in .env

Minimum required:

  • YOUTUBE_API_KEY
  • YOUTUBE_CHANNELS
  • XTEVE_URL

3. Start

docker compose up -d

:::info First start builds the poller image (~12 min).

:::

4. Connect xTeVe → Plex

  1. Open xTeVe: http://<server-ip>:34400
  2. Setup Wizard → M3U → path: /shared/playlist.m3u
  3. Setup Wizard → XMLTV → path: /shared/guide.xml
  4. In Plex: Settings → Live TV & DVR → Set Up Plex DVR
  5. Plex will auto-discover xTeVe via host networking

5. Enable FFmpeg buffering in xTeVe (required)

xTeVe → Settings → Streaming → Stream Buffer: FFmpeg

6. Enable API in xTeVe

xTeVe → Settings → General → API Interface: On