Skip to content

First-Run Configuration

When you open ChannelWatch for the first time on a fresh install, ChannelWatch guides you through the essential setup in the web UI. This page covers that first-run flow and the core settings you’ll configure.

After starting the container, open a browser and navigate to:

http://your-server-ip:8501

Replace your-server-ip with the IP address or hostname of the machine running ChannelWatch. If you’re running it locally, use http://localhost:8501.

On a fresh install with no existing configuration, ChannelWatch opens a guided first-run flow before the main dashboard. The exact field names and step order can change between builds, but the setup still covers the same core tasks: connect to at least one Channels DVR server, review system defaults, and save your settings.

Step 1: Add your first Channels DVR server

Section titled “Step 1: Add your first Channels DVR server”

Enter the connection details for your Channels DVR server:

FieldDescription
HostIP address or hostname of your Channels DVR server (e.g. 192.168.1.100)
PortChannels DVR API port (default: 8089)
Display NameA friendly label shown in the dashboard (e.g. Living Room DVR)
API KeyOptional. Required only if your Channels DVR server has API authentication enabled.

Click Test Connection to verify ChannelWatch can reach the server before saving.

SettingDescription
TimezoneYour local timezone in IANA format (e.g. America/New_York). Used for timestamps in notifications and logs.
Log LevelStandard (default) logs connection events and alerts. Verbose adds detailed event processing output, useful for troubleshooting.
Log RetentionHow many days of logs to keep before automatic cleanup.

The wizard shows a summary of your settings. Click Save and Launch to write the configuration and start monitoring.

ChannelWatch then connects to your Channels DVR server and begins watching the event stream. The main dashboard appears once the initial setup is complete.

After the wizard, all settings are available under the Settings tab. The core settings are:

SettingDescription
Channels DVR HostServer IP or hostname
Channels DVR PortServer port (default: 8089)
TimezoneLocal timezone for timestamps
Log LevelStandard or Verbose logging
Log RetentionAuto-cleanup period in days

ChannelWatch monitors four alert types. All are enabled by default. Toggle them under Settings > Alerts:

Alert typeWhat it monitors
Channel WatchingLive TV viewing sessions
VOD WatchingRecorded content and library playback
Recording EventsRecording lifecycle (scheduled, started, completed, cancelled, stopped)
Disk SpaceFree space on the DVR storage path

Each alert type has its own options page with toggles for what information to include in notifications (channel name, device name, program details, etc.).

Stream counting is part of Channel Watching configuration, not a separate fifth alert type.

ChannelWatch sends notifications through one or more providers. Configure them under Settings > Notifications. At least one provider must be configured for alerts to be delivered.

Supported providers are Pushover plus Apprise-backed destinations for Discord, Telegram, Slack, Email (SMTP), Gotify, Matrix, and any Apprise-compatible URL.

See the Notification Providers section for per-provider setup guides.

Use the Diagnostics tab to confirm everything is working:

  • System Status shows the health of each component (DVR connection, notification providers, alert system).
  • Connection Tests lets you manually test connectivity to each configured Channels DVR server.
  • Alert Tests sends a test notification for each alert type so you can confirm delivery end-to-end.

All settings are stored in /config/settings.json inside the container. You do not need to edit this file directly.

If you need to back up your configuration, copy the entire /config directory. The backup includes settings.json, the SQLite activity database, and any related runtime files. API keys and provider credentials should be treated as sensitive; per-DVR API keys are encrypted in settings.json when a valid /config/encryption.key is available.