Install with Portainer
ChannelWatch runs as a Docker container. These steps show how to run that container with Portainer. ChannelWatch does not have a native Portainer package.
Before you start
Section titled “Before you start”Portainer is a Docker management UI, not a separate runtime platform. You still need a working Docker host underneath it.
Have these ready:
- A Docker environment already connected to Portainer
- A persistent host path for
/config - A reachable Channels DVR server on your LAN
Deploy with a stack
Section titled “Deploy with a stack”Use Stacks in Portainer instead of the manual container form. The stack editor is the closest match to the main Docker Compose guide and keeps updates simpler.
Paste a compose file like this:
services: channelwatch: image: coderluii/channelwatch:latest container_name: channelwatch network_mode: host volumes: - /opt/channelwatch/config:/config environment: TZ: "America/New_York" restart: unless-stoppedIf your Docker host needs explicit user and group ownership for the bind mount, add PUID and PGID just like the base Docker guide.
Networking in Portainer
Section titled “Networking in Portainer”For stack deployments, set host networking directly in the compose content with network_mode: host.
If you choose Portainer’s manual container wizard instead, the equivalent setting is in the container networking section where you select the host network instead of a bridge network.
Volumes and environment variables
Section titled “Volumes and environment variables”Map a persistent host folder to /config. That folder stores settings, logs, migration backups, and the encryption key file.
Set TZ to your local timezone. For most installs, leave DVR connection details out of the stack and add them through the web UI after first launch.
Open the web UI
Section titled “Open the web UI”With host networking, open:
http://your-docker-host-ip:8501Then complete First-Run Configuration.
Upgrading via Portainer
Section titled “Upgrading via Portainer”Pull the latest image, redeploy the stack, and keep the same /config mount in place.