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.
- Click Apps in the left sidebar.
- Click Create Application.
- Enter a name like
ChannelWatchand an optional description. - Click Create. Gotify displays the token immediately.
- Copy the token. It is shown only once - if you lose it, delete the app and create a new one.
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 the settings, then open Diagnostics, find Diagnostic Tests > Notifications, and send a test notification to confirm the message appears in your Gotify app.
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”Gotify supports message priorities (0 = min, 10 = max). ChannelWatch sends all notifications at the default Apprise priority, which Gotify displays as a standard-priority message. You can adjust notification behavior in the Gotify app’s per-application settings if you want alerts to appear differently.
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. Gotify returns a 401 error when the token is wrong. Delete the application in Gotify, create a new one, and copy the new token carefully. Tokens are case-sensitive.
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.
Messages appear but with no title. This can happen if the Gotify application was created without a name. Edit the application in the Gotify web interface and add a display name.
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