xTeVe-Channel-Alerts

xTeVe-Channel-Alerts

Docker app from Celsian's Repository

Overview

Occasionally you may find that a channel you want to watch has disappeared from your xTeVe playlist. With xTeVe-Channel-Alerts, you can stay informed about these changes. When configured to run after your automatic xTeVe update, it compares the current channel list with the previous. If xTeVe-Channel-Alerts detects a missing channel, it sends a detailed rich-embed message to your Discord webhook, keeping you in the loop.

xteve-channel-alerts

Why?

Occasionally you may find that a channel you want to watch has disappeared from your xTeVe playlist. With xTeVe-Channel-Alerts, you can stay informed about these changes. When configured to run after your automatic xTeVe update, it compares the current channel list with the previous. If xTeVe-Channel-Alerts detects a missing channel, it sends a detailed rich-embed message to your Discord webhook, keeping you in the loop.


Multi-Architecture Support ✅

The Docker image celsian/xteve-channel-alerts:latest is published as a multi-arch image.
Docker (and Unraid) automatically pull the correct build:

Architecture Typical hosts / CPUs Docker platform
AMD64 Intel / AMD 64-bit PCs & servers linux/amd64
ARM64 Apple Silicon (M1/M2/M3) & ARM SBCs linux/arm64

No flags are required—Docker fetches the right image.


Quick-start (single run)

docker run -d \
  --name xteve-channel-alerts \
  -e XTEVE_URL="http://192.168.1.100:34400/m3u/xteve.m3u" \
  -e DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/…" \
  -e CRON_SCHEDULE="0 4 * * *" \
  -v /path/to/appdata:/app/data \
  celsian/xteve-channel-alerts:latest

/path/to/appdata is a single directory that the container organises like:

data/
├── logs/   ──▶  app.log , cron.log
└── m3us/   ──▶  current.m3u , previous.m3u

docker-compose example

version: '3'
services:
  xteve-channel-alerts:
    image: celsian/xteve-channel-alerts:latest
    container_name: xteve-channel-alerts
    environment:
      XTEVE_URL: http://192.168.1.100:34400/m3u/xteve.m3u
      DISCORD_WEBHOOK_URL: https://discord.com/api/webhooks/…
      CRON_SCHEDULE: 0 4 * * *        # daily at 04:00
    volumes:
      - ./data:/app/data              # organised sub-dirs: logs/  m3us/
    restart: unless-stopped

Environment variables

Variable Required Default Description
XTEVE_URL ✔ — URL to the M3U generated by xTeVe
DISCORD_WEBHOOK_URL ✔ — Discord webhook that receives alerts
CRON_SCHEDULE ✖ 0 4 * * * Standard 5-field cron string controlling run times

Volume mapping

Container path Contains … Must persist? Example host path
/app/data logs/ → app.log, cron.log  •  m3us/ → current.m3u, previous.m3u Yes /mnt/user/appdata/xteve-channel-alerts

If this volume is not mapped persistently the container will treat every run as the first run and logs will be lost.


Cron schedule

CRON_SCHEDULE accepts any standard five-field cron expression:

Example Meaning
*/30 * * * * every 30 minutes
15 2 * * * daily at 02:15
0 */6 * * * every 6 hours

Change the variable and restart the container to apply.


Troubleshooting

Symptom Likely cause / fix
No Discord messages Incorrect webhook URL or outbound network blocked
“Previous m3u file not found” every run /app/data not mapped persistently
Cron appears to do nothing Mis-typed CRON_SCHEDULE; validate with an online cron tester
xTeVe: cannot GET … errors xTeVe URL unreachable from container; use IP or set network_mode: host
Discord message truncated Discord embeds limited to ~7 kB; see full list in app.log

Updating & backup

  • Update – pull the new image and restart; /app/data retains state
  • Backup – copy /mnt/user/appdata/xteve-channel-alerts/ to preserve logs and the previous M3U snapshot

Happy monitoring 🎉

Download Statistics

2,468
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
celsian/xteve-channel-alerts:latest
Last Updated2025-07-09
First Seen2025-06-05

Runtime arguments

Network
bridge
Shell
sh
Privileged
false

Template configuration

xTeVe URLVariable

http://localhost:34400/m3u/xteve.m3u

Target
XTEVE_URL
Discord Webhook URLVariable

https://discord.com/api/webhooks/webhook_id/token

Target
DISCORD_WEBHOOK_URL
ConfigPathrw
Target
/app/data
Value
/mnt/user/appdata/xteve-channel-alerts/
Cron ScheduleVariable
Target
CRON_SCHEDULE
Default
0 4 * * *