Install with Docker Compose

One docker-compose.yml starts the container, then the first-run wizard walks you through DVR and notification setup.

Before you start

Have Docker and a reachable Channels DVR server ready. Choose a notification provider if you want alerts.

Docker with Compose

Docker Engine with the Compose plugin (docker compose). The example below uses Linux host networking. On macOS or Windows Docker Desktop, enable host networking or use the bridge-network example.

Channels DVR server

A running Channels DVR server reachable from the machine you deploy ChannelWatch on.

Notification provider

For alerts, connect a notification service: Pushover, Discord, Telegram, Slack, Email, Gotify, Matrix, or any Apprise-compatible endpoint.

Three steps to your first alert

The setup stays simple: paste the compose file, start the container, then finish the DVR connection in the web UI.

  1. Create your compose file

    Create a docker-compose.yml in a new directory and paste the snippet below. Replace /your/local/path with the absolute path where ChannelWatch should store its config, and set TZ to your timezone (IANA format, e.g. America/Chicago or Europe/London).

    name: ChannelWatch
    services:
      channelwatch:
        image: coderluii/channelwatch:latest
        container_name: channelwatch
        init: true
        network_mode: host
        volumes:
          - /your/local/path:/config
        environment:
          TZ: "America/New_York"
        restart: unless-stopped

    All DVR connection settings are configured through the web UI after first launch. For headless or automated installs, use `CHANNELS_DVR_SERVERS` or a carefully managed `/config/settings.json` file instead.

  2. Start the container

    From the directory containing your docker-compose.yml:

    docker compose up -d

    ChannelWatch will pull the latest image, create the container, and start in the background. Check the logs any time with docker logs -f channelwatch.

  3. Open the web UI and add your DVRs

    Navigate to http://your-server-ip:8501 in a browser. The first-run wizard will guide you through connecting your Channels DVR server and choosing your notification providers.

    Configuration docs

Multi-DVR ready out of the box

One install can monitor more than one Channels DVR server without changing the basic setup flow.

Already running ChannelWatch?

Existing installs keep their upgrade path, but the compose file should drop legacy DVR host and port variables first.

Running Kubernetes?

Docker Compose is still the primary path, but the Helm chart stays available when your environment already runs on Kubernetes.

Helm chart path

ChannelWatch includes a source-managed Helm chart for Kubernetes deployments. Use it as a self-managed chart path with liveness, readiness, and startup probes already wired for the current health endpoints. Single-replica only in v1.5.3.

Kubernetes + Helm install guide

Questions? The community has answers.

Join the ChannelWatch community on GitHub Discussions or Discord, report issues, or support ongoing development. Built by a Channels DVR user, for Channels DVR users.