All apps · 0 apps
xTeVe-Channel-Alerts
Docker app from Celsian's Repository
Overview
Readme
View on GitHubxteve-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/dataretains state - Backup – copy
/mnt/user/appdata/xteve-channel-alerts/to preserve logs and the previous M3U snapshot
Happy monitoring 🎉
Install xTeVe-Channel-Alerts on Unraid in a few clicks.
Find xTeVe-Channel-Alerts in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Related apps
Explore more like this
Explore allLinks
Details
celsian/xteve-channel-alerts:latestRuntime arguments
- Network
bridge- Shell
sh- Privileged
- false
Template configuration
http://localhost:34400/m3u/xteve.m3u
- Target
- XTEVE_URL
https://discord.com/api/webhooks/webhook_id/token
- Target
- DISCORD_WEBHOOK_URL
- Target
- /app/data
- Value
- /mnt/user/appdata/xteve-channel-alerts/
- Target
- CRON_SCHEDULE
- Default
- 0 4 * * *