Gotify
Send TSDProxy status alerts to Gotify — a self-hosted notification server.
Configuration
Gotify accepts JSON payloads via its message API. Use the generic type since TSDProxy sends JSON that Gotify can parse:
/config/tsdproxy.yaml
webhooks:
- url: "https://gotify.example.com/message?token=your-app-token"
type: generic
events:
- Running
- Stopped
- ErrorWith Authentication
Gotify uses a token in the query string for app-level authentication. You can also pass the token as a header:
/config/tsdproxy.yaml
webhooks:
- url: "https://gotify.example.com/message"
type: generic
headers:
X-Gotify-Key: "your-app-token"
events:
- Running
- Stopped
- ErrorMessage Format
TSDProxy sends a JSON payload that Gotify stores as-is:
{
"proxy": "myapp",
"status": "Running",
"previous_status": "Starting",
"timestamp": "2026-05-15T10:00:00Z",
"message": "Proxy 'myapp' status changed from Starting to Running"
}Notes
- Generic type. Use
type: generic(or omittypeentirely) — Gotify accepts JSON message payloads. - Token in URL vs header. Both
?token=in the URL andX-Gotify-Keyheader work. The header approach keeps tokens out of server logs. - Priority. Gotify supports message priority (1–10) but TSDProxy does not set it. If you need priority, use a Gotify plugin or a reverse proxy that injects the
priorityfield into the JSON body. - Self-hosted only. Gotify is self-hosted — there is no cloud service. Make sure your Gotify instance is reachable from the TSDProxy container.
Last updated on