Gotify
Gotify is a self-hosted push notification server. If you already run Gotify on your home lab, ChannelWatch can send alerts to it with no third-party accounts or cloud services involved. ChannelWatch routes Gotify notifications through Apprise, which handles the gotify:// and gotifys:// URL schemes internally.
What you need
Section titled “What you need”- A running Gotify server reachable from your ChannelWatch container
- A Gotify application token (not your user password)
Create an application token
Section titled “Create an application token”Gotify uses per-application tokens to separate notification sources. Create one for ChannelWatch:
- Open your Gotify web interface (typically
http://your-server-ip:80or the port you configured). - Sign in with your Gotify admin account.
- Open Apps.
- Click Create Application.
- Enter a name like
ChannelWatchand an optional description. - Click Create. Gotify displays the token immediately.
- Copy and store the token privately. Recent Gotify versions reveal it only when created or rotated; use your server’s token-rotation control if you lose it. See the Gotify token instructions.
Configure in the web UI
Section titled “Configure in the web UI”Open the web UI at http://your-server-ip:8501, go to Settings > Notifications, stay on the Global scope, and enable Gotify.
Fill in the following fields:
| Field | What to enter |
|---|---|
| Server | Your Gotify server hostname or IP, followed by / and the token |
The format is hostname/token. For example:
gotify.home.lan/<gotify-app-token>Or with an explicit port:
gotify.home.lan:8080/<gotify-app-token>Save, then follow the notification test guidance, including the v1.6.0 command-line fallback. A test sends a real message. Check Gotify’s message list, the receiving app, and the Delivery Log.

HTTPS vs HTTP
Section titled “HTTPS vs HTTP”The dedicated Gotify field is the credential path after gotify://; ChannelWatch adds that scheme itself. Use it for a plain HTTP endpoint on a trusted network.
| Scheme | When to use |
|---|---|
| Dedicated Gotify field | hostname/token; ChannelWatch constructs gotify://hostname/token |
| Custom Apprise URL | A complete gotifys://hostname/token URL for HTTPS |
To use HTTPS, enable Custom under Settings > Notifications and enter the complete URL there:
gotifys://gotify.example.com/<gotify-app-token>Environment variable (optional)
Section titled “Environment variable (optional)”You can configure Gotify via environment variable in your docker-compose.yml for automated deployments:
environment: CW_APPRISE_GOTIFY: "gotify.home.lan:8080/<gotify-app-token>"For HTTPS, use the Custom Apprise environment variable so ChannelWatch does not prepend gotify://:
environment: CW_APPRISE_CUSTOM: "gotifys://gotify.example.com/<gotify-app-token>"Settings entered in the web UI take precedence over environment variables once saved.
Notification priority
Section titled “Notification priority”The dedicated Gotify settings do not expose a priority control. Adjust notification presentation in your Gotify client, or consult the version-compatible Apprise Gotify options when using a complete Custom Apprise URL.
Troubleshooting
Section titled “Troubleshooting”No message appears in Gotify. Confirm the server address and token are correct. Open the Gotify web interface and check the Messages tab for the ChannelWatch application - if messages appear there but not in the mobile app, the issue is with the app’s push connection, not ChannelWatch.
Connection refused. ChannelWatch cannot reach your Gotify server. Check that:
- The Gotify container or service is running (
docker psorsystemctl status gotify) - The port is correct and not blocked by a firewall
- ChannelWatch and Gotify are on the same Docker network, or Gotify is reachable via the host IP
Invalid token. Confirm that you copied an application token, not a client token or password. Tokens are case-sensitive. If it was revoked or lost, rotate it in Gotify and update ChannelWatch.
TLS certificate error. If you use a gotifys:// Custom Apprise URL with a self-signed certificate, Apprise will reject the connection. Use a certificate from a public CA (Let’s Encrypt), or use the dedicated Gotify field for plain HTTP on a trusted LAN.
Reachability from Docker
Section titled “Reachability from Docker”If ChannelWatch runs in a Docker container with network_mode: host, it can reach Gotify at any LAN IP or hostname. If you use bridge networking, make sure Gotify is reachable from inside the container:
- If Gotify runs on the same Docker host, use
host.docker.internalas the hostname (requires--add-host=host.docker.internal:host-gatewayin your compose file on Linux). - If Gotify runs in its own container on the same Docker network, use the container name as the hostname.
- If Gotify runs on a different machine, use its LAN IP address.
Related pages
Section titled “Related pages”- Provider Matrix - compare all notification providers at a glance
- Notification Examples - see what Gotify alerts look like
- Delivery Log - check whether notifications were sent and why they may have failed
- Email (SMTP) - send alerts to an inbox instead of a push notification server