Hot Reload
ChannelWatch v1.0 watches /config/settings.json for changes. When you save settings through the web UI, the application reloads the affected components immediately — no container restart needed for most changes.
What reloads automatically
Section titled “What reloads automatically”These settings take effect the moment you save them in the web UI:
| Setting category | What happens on save |
|---|---|
| DVR servers | Changed DVRs are re-initialized; unchanged DVRs keep running without interruption |
| Alert settings | New thresholds, cooldowns, and toggles apply to the next alert event |
| Notification providers | Updated credentials and provider settings apply to the next delivery attempt |
| Notification templates | Custom message templates apply to the next notification |
| Logging verbosity | Log level switches immediately (Standard or Verbose) |
When a DVR’s configuration changes, ChannelWatch cancels that DVR’s monitoring task and spawns a new one with the updated settings. DVRs whose configuration did not change are not touched. A CONFIG_RELOADED log entry is written with a summary of what changed.
What requires a restart
Section titled “What requires a restart”A small number of settings cannot be changed at runtime. These require a full container restart to take effect:
| Setting | Why a restart is required |
|---|---|
| Network binding (host and port) | The HTTP server binds to the port at startup; rebinding requires stopping and restarting the process |
| Database URL | The database connection is established at startup; changing it requires a fresh connection pool |
| RBAC feature flag | The security middleware is wired at startup; toggling RBAC requires reinitializing the middleware stack |
To apply any of these changes:
- Update the value in your compose file or environment variables.
- Run
docker compose down && docker compose up -d(or the equivalent for your setup).
Notification plugins and hot reload
Section titled “Notification plugins and hot reload”Notification provider plugins (files in /config/plugins/notifications/) are not hot-reloaded. The plugin loader runs once at startup. To activate a new plugin or update an existing one, restart the container.
See Provider Plugins for details on the plugin system.
Verifying a reload
Section titled “Verifying a reload”After saving settings, check the application logs to confirm the reload completed:
INFO CONFIG_RELOADED: dvr_servers[0].port changed (8089 -> 8090); DVR task re-initializedIf the new configuration is invalid (for example, a DVR host that can’t be reached), ChannelWatch logs an error and keeps the previous configuration active. It does not apply a broken config.
Related pages
Section titled “Related pages”- Core Settings — timezone, log level, log retention, and alert toggles
- DVR Connection — add and manage Channels DVR servers
- Provider Plugins — third-party notification providers (require restart to activate)
- Delivery Log — notification history and retry status