ChannelWatch: The Complete Monitoring Dashboard for Channels DVR

ChannelWatch: Monitoring Dashboard for Channels DVR

Hey everyone!

ChannelWatch v0.9.9 is available now.

ChannelWatch is a self-hosted monitoring dashboard for Channels DVR. It gives you one place to see what is being watched, what is recording soon, whether your DVRs are healthy, and whether notifications actually delivered.

The current website/wiki docs are here:

ChannelWatch Official Docs Site

ChannelWatch dashboard overview

Why I built it

Channels DVR is already great at recording and serving TV. ChannelWatch sits beside it and answers the operator questions that come up when you run the DVR yourself:

  • Who is watching live TV right now?

  • Which device started the stream?

  • Did a recording start, finish, stop, cancel, or fail?

  • Is disk space getting tight?

  • Did a notification send, retry, fail, or get rate-limited?

  • Are all DVRs in a multi-DVR setup still reachable?

The goal is simple: run one Docker container, open the web UI, add your DVR, and let ChannelWatch watch the boring-but-important stuff.

What is new in v0.9.9

This update adds the new Update Center and keeps improving the notification fixes reported in this thread.

  • Settings > Updates can now check for compatible ChannelWatch app updates from the web UI.

  • Compatible app-only updates can be verified, backed up, applied, restarted, and rolled back from inside ChannelWatch.

  • Future releases that need a new container image will be marked clearly as container image update required instead of trying to force an unsafe in-app update.

  • Signed update manifests and signed app bundles are now published with the release.

  • Local/private notification destinations can be approved for exact trusted LAN receivers, which helps with local Mattermost and custom Apprise HTTP-style destinations.

  • Live-watch history and session state are recorded before provider delivery, so Recent Activity should keep updating even if Pushover, Apprise, or routed delivery fails.

A quick visual tour

Dashboard overview

The dashboard gives you active streams, uptime, upcoming recordings, disk space, recent activity, and per-DVR status in one place.

Dashboard overview

Update Center

The new Update Center lets ChannelWatch check for compatible app updates, verify signed update metadata, create a backup, apply the update, restart, and roll back if activation fails.

Update Center

Multi-DVR setup

ChannelWatch can monitor more than one Channels DVR server, with separate status, history, sessions, and notification routing.

Multi-DVR settings

Notification routing

Route alerts by DVR and alert type. For example, send live TV alerts to one destination, recording alerts somewhere else, and disk alerts to a quieter route.

Notification routing matrix

Delivery history

The delivery log shows what sent, what retried, what failed, and which route handled the alert.

Notification delivery log

Diagnostics and support

Diagnostics gives you connection checks, API checks, alert tests, live logs, debug bundle download, and the Report a Problem support path.

Diagnostics

What ChannelWatch monitors

  • Live TV viewing with channel, program, device, IP, and source details

  • VOD and recorded playback with metadata and progress

  • Recording events, including scheduled, started, completed, cancelled, and stopped recordings

  • Disk space with configurable warning and critical thresholds

  • Multiple Channels DVR servers from one dashboard

  • Active sessions across devices

  • Notification delivery history, retries, failures, and circuit-breaker state

  • Health, readiness, metrics, logs, diagnostics, backup, restore, and /api/v1 endpoints

Notification providers

ChannelWatch supports Pushover through Apprise, plus a broad set of Apprise-backed destinations including Discord, Slack, Telegram, email, Gotify, Matrix, and custom Apprise URLs.

It also supports signed outbound webhooks for custom automations.

Install

The website has the current install and migration instructions:

Short version:


services:

  channelwatch:

    image: coderluii/channelwatch:latest

    container_name: channelwatch

    network_mode: host

    volumes:

      - /mnt/user/appdata/channelwatch:/config

    environment:

      TZ: America/New_York

      CHANNELWATCH_SECRET_STORAGE_KEY: "change-this-to-a-unique-32-character-value"

      PUID: "99"

      PGID: "100"

    restart: unless-stopped

Then open:


http://your-server-ip:8501

The first-run web setup handles auth mode, DVR discovery/manual entry, connection testing, and alert settings.

Images

Docker Hub:
coderluii/channelwatch:0.9.9
coderluii/channelwatch:latest

GHCR:
ghcr.io/coderluii/channelwatch:0.9.9
ghcr.io/coderluii/channelwatch:latest

Published platforms: linux/amd64 and linux/arm64

Requirements

  • Docker and Docker Compose

  • Channels DVR server

  • At least one notification service if you want alerts outside the dashboard

Links

I would really like feedback from anyone who tries it, especially around multi-DVR setups, notifications, migration from v0.7, the new Update Center, and anything that still feels rough.

Cheers,

CoderLuii

CoderLuii

1 Like

:hammer_and_wrench: v0.8 Development Starting Soon

First, I owe you all an explanation. I went quiet for a while. Life hit me from a few directions at once. Health stuff knocked me down, the day job got intense, and I just needed to step back and take care of things. I never abandoned the project, but I had to put myself first for a bit. I'm back now, feeling good, and ready to get back to work.

I've been building ChannelWatch solo since day one. And if I'm being honest? The features people use the most weren't my ideas. They came from you guys.

→ Apprise integration? Community request.
→ Device tracking? Community request.
→ Disk space alerts? Someone here asked for it.

So let's do it again. v0.8 is a blank canvas.

Tell me what you need:

:bug: Bugs: something broken? Share logs or screenshots and I'll dig in.

:sparkles: Features: what's missing? What would make ChannelWatch a must-have for your setup?

:wrench: Enhancements: something works but could work better? I want to know.

:bulb: Integrations: other tools or services you want ChannelWatch to play nice with?

Already on my list:

→ Multi-DVR support: multiple Channels DVR servers • Planned
→ Channel art fixes: missing images for cc4c/TVE sources • Investigating
→ Bridge mode improvements: easier setup without host networking • Planned
→ Notification upgrades: more Apprise providers, richer formatting • Ongoing

I'll keep this list updated as things come in. Can't promise timelines since it's still just me, but every single reply gets read.

Reply here or open an issue on GitHub. Whatever works for you.

Let's make v0.8 the best one yet! :rocket:

Cheers,
CoderLuii
CoderLuii

1 Like

Were you ever able to identify the issue where ChannelWatch sent thousands of notifications through my Pushover account?

Hey @bnhf, thanks for bringing this up again. I honestly don't have enough details yet to pinpoint what caused the notification flood on your end.

If you still have any logs from when it happened, that would be really helpful. Otherwise, rate limiting is already on my priority list for v0.8 so this kind of thing can't happen again regardless of the root cause.

If you're open to it, could you create a GitHub issue with whatever info you have? Even timestamps or a rough description of what was running at the time would help me narrow it down.

I take this seriously and I want to make sure it's properly addressed before the next release.

Cheers,
CoderLuii
CoderLuii

Since this happened 9 or 10 months ago, I don't have anything more for you than I posted at the time. After that notification storm, I don't recall firing up the project again.

Given my monthly allowance with Pushover could be used up in a short period of time at the rate they were sent, I wasn't really feeling comfortable running it again. Especially if I happened to be away from my phone when the notifications started rolling in.

Also, I only received a fraction of the notifications that Pushover reported were sent. If you're planning to address this in v0.8, great. Once you roll that out, I'll take a fresh look at it.

3 Likes

Looking forward to seeing the next release.

1 Like

This looks interesting, will give you a chance to bring out your new version.

1 Like

@CoderLuii nice app, but this doesnt work if you don't connect a notification service? why is that mandatory?

after connecting the notification service everything works but when I disable alerts for VOD watching for example, any VOD played won't be recorded in the activity. alerts have to be turned on in order for it to be shown.

is that by design?

it would be great if this can be used without a notification service or at least disable them and still have them be shown in the GUI.

thanks.

2 Likes

@bnhf Totally understand. Nine months is a long time and I wouldn't expect you to have logs from that far back. Rate limiting is happening in v0.8. Not as a "nice to have," it's a hard requirement before release. Configurable thresholds, cooldown periods, the works. I get the Pushover concern. Burning through a monthly allowance because of a bug is not acceptable. When v0.8 drops I'll call it out in the release notes so you know it's safe to give it another shot.

@Jackamus @JefferMC Appreciate you both! Good timing, v0.8 is in active development right now. If either of you spin it up and hit anything weird, let me know here or on GitHub.

@AeroR1 Good question. Right now the notification service is required because that's how ChannelWatch was originally built. It was a notification tool first, and the web dashboard came later. So the activity tracking and the notification pipeline are tied together under the hood.

You're right that it shouldn't have to work that way. I'm adding this to the v0.8 list:

  • Decouple activity tracking from notification delivery
  • Allow ChannelWatch to run in "monitor only" mode without a notification service
  • Disabling an alert type should still log the activity in the UI

That last point is the real one. Turning off VOD alerts shouldn't mean VOD activity disappears from the dashboard. That's a bug, not a design choice. Thanks for flagging it.

Cheers,
CoderLuii
CoderLuii

:rocket: v1.0 is almost here.

Quick update for everyone who's been following along.

What started as v0.8 turned into something much bigger. The amount of work that went into this one earned it the v1.0 name. Every part of ChannelWatch got touched. Here's what's coming.

Dashboard, rebuilt from the ground up. Live uptime ticker, richer stream details with artwork, a real time status panel showing your entire system at a glance, and a completely redesigned activity timeline.

Clickable activity and recording details. Tap any item in the recent activity list or upcoming recordings to pull up full details instantly.

Live log viewer. Built right into the Diagnostics page. Search, filter by level, pause, download. No more SSHing into your container.

Notification rate limiter. Configurable sliding window that keeps you informed without flooding your phone. @bnhf, you reported the notification flood issue that sent thousands of Pushover alerts. That will never happen again.

Multi-DVR support. @chDVRuser, you've been asking for this since the early days. Monitor multiple Channels DVR servers from a single ChannelWatch instance. The most requested feature since day one.

Per DVR and global settings. Full control. Configure each server individually or set defaults across all of them.

Light mode. Better version of the previous Light Mode. Fully polished. Every page, every component.

Tailscale / MagicDNS support. @bnhf and @chDVRuser, you both ran into DNS and networking issues with bridge mode. This should make things a lot smoother.

I also want to shout out @Jackamus, @Kryptonyte, @Fofer, and everyone else who's been patiently waiting for the next release. @Kryptonyte, you compared ChannelWatch to the old SageTV alerts. That meant a lot. @Fofer, the wait is almost over.

None of this would exist without the people who posted feedback, opened issues, and kept pushing for improvements. Genuinely, thank you. This community shaped what v1.0 became.

Aiming to release within the next week. Full release notes and screenshots coming with it.

Cheers,
CoderLuii

CoderLuii

Wow, it looks amazing. I will be reinstalling and setting it up as soon as it is available. I hope the Olivetin One click project will still work to set up the 0.7 version and then will pull the new version.

It will. The current version is currently on the "deprecated" page (and can still be installed from there), but I'll move it back to the main Project One-Click page once the new version is available.

I wanted to share that ChannelWatch v0.9.0 is out.

This is a bigger update for the project. The main thing is multi-DVR support, so ChannelWatch can now monitor more than one Channels DVR with separate status, history, sessions, and notification routing.

A few other things changed too:

  • first-run setup with DVR discovery and connection testing
  • refreshed dashboard and settings screens
  • backup and restore tools
  • notification delivery logs and routing
  • health, readiness, metrics, and /api/v1 endpoints
  • updated Docker, Compose, Unraid, and Helm deployment files

Docker images are published now:

  • coderluii/channelwatch:0.9.0
  • coderluii/channelwatch:0.9
  • coderluii/channelwatch:latest

GHCR images are available too:

  • ghcr.io/coderluii/channelwatch:0.9.0
  • ghcr.io/coderluii/channelwatch:0.9
  • ghcr.io/coderluii/channelwatch:latest

Existing single-DVR installs should still work. If you are setting up multiple DVRs, CHANNELS_DVR_SERVERS is the better path now.

I do not want to oversell this as 1.0 yet. There are still some things I want to tighten up, but this gets the larger monitoring update out where people can try it.

If you try it, I would really like to hear what works, what still feels rough, and what you would want improved next.

Cheers,
CoderLuii
CoderLuii

2 Likes

Nice to see that this hasn't been abandoned. I'll give it another go

Small follow-up because I forgot to include the website/docs link:

That page is now the best starting point for ChannelWatch. It has the install guide, migration notes, multi-DVR docs, screenshots, release notes, and support links in one place.

If you are coming from v0.7 or setting it up fresh, start there and then use the web UI for first-run setup.

Cheers,
CoderLuii
CoderLuii

work was delayed this morning, so I did get 0.9.1 installed with depreciated olivetin oneclick action. no auth, no notify yet, but seems to be working fine. I'll play more with it later. :arrow_forward:

i'm seeing an issue where it will show a stream is taking place in active streams


but it never hits activity or notifications @CoderLuii

i'm on 0.9.1

@Matthew_Crommert thanks, that screenshot helps. The Active Streams card and the alert path use different signals, so this is worth digging into.

The card can show a current stream from the DVR activity state, but Recent Activity and notifications only update when ChannelWatch receives and processes the matching live-TV event from the DVR event stream.

Could you grab one bit of diagnostic info for me?

  1. Set ChannelWatch log level to Verbose.
  2. Restart ChannelWatch/container so the log level applies.
  3. Start a fresh live TV stream and wait about a minute.
  4. Open Diagnostics and download the sanitized debug bundle.

That bundle masks DVR host/API key and notification credentials. I’m mainly looking for whether the live-TV event reaches ChannelWatch, then whether it gets filtered, routed, or fails delivery.

Also, can you confirm whether Live TV / Channel Watching is enabled under alerts, and whether the Pushover route is enabled for that DVR?

Cheers,
CoderLuii
CoderLuii

Really going crazy now that i check - no watch history


How do i get the zip to you

Also, it looks like your Disk Space value should be TB Free, not GB...

2 Likes