Skip to content

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.

  • A running Gotify server reachable from your ChannelWatch container
  • A Gotify application token (not your user password)

Gotify uses per-application tokens to separate notification sources. Create one for ChannelWatch:

  1. Open your Gotify web interface (typically http://your-server-ip:80 or the port you configured).
  2. Sign in with your Gotify admin account.
  3. Open Apps.
  4. Click Create Application.
  5. Enter a name like ChannelWatch and an optional description.
  6. Click Create. Gotify displays the token immediately.
  7. 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.

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.

ChannelWatch Gotify notification provider with an enabled switch and masked URL field and format guidance
Gotify server and token configurationThe dedicated field takes the hostname, optional port, and application token. Sample credentials are masked. Captured from ChannelWatch v1.6.0 with safe demo data.View full-size screenshot

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>

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.

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.

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 ps or systemctl 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.

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.internal as the hostname (requires --add-host=host.docker.internal:host-gateway in 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.