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 directly to it with no third-party accounts or cloud services involved.

  • 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. Click Apps in the left sidebar.
  4. Click Create Application.
  5. Enter a name like ChannelWatch and an optional description.
  6. Click Create. Gotify displays the token immediately.
  7. Copy the token. It is shown only once — if you lose it, delete the app and create a new one.

Open the web UI at http://your-server-ip:8501 and go to Settings > Notifications > Gotify.

Fill in the following fields:

FieldWhat to enter
ServerYour Gotify server hostname or IP, followed by / and the token

The format is hostname/token. For example:

gotify.home.lan/AbCdEfGhIjKlMnOp

Or with an explicit port:

gotify.home.lan:8080/AbCdEfGhIjKlMnOp

Save the settings, then send a test notification from Diagnostics > Alert Tests to confirm the message appears in your Gotify app.

If your Gotify server uses HTTPS, prefix the value with gotifys:// instead of the default gotify://. ChannelWatch passes the value directly to Apprise, which handles the scheme:

SchemeWhen to use
gotify:// (default)Plain HTTP — only use on a trusted LAN
gotifys://HTTPS — required for servers exposed to the internet

To use HTTPS, enter the connection string in the Server field as:

gotifys://gotify.example.com/AbCdEfGhIjKlMnOp

You can configure Gotify via environment variable in your docker-compose.yml for automated deployments:

environment:
CW_APPRISE_GOTIFY: "gotify.home.lan:8080/AbCdEfGhIjKlMnOp"

For HTTPS:

environment:
CW_APPRISE_GOTIFY: "gotifys://gotify.example.com/AbCdEfGhIjKlMnOp"

Settings entered in the web UI take precedence over environment variables once saved.

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.

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. 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 gotifys:// with a self-signed certificate, Apprise will reject the connection. Use a certificate from a public CA (Let’s Encrypt), or switch to plain gotify:// 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.

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.