ntfy
Send TSDProxy status alerts to ntfy — a push notification service for your phone and desktop.
Basic Configuration
/config/tsdproxy.yaml
webhooks:
- url: "https://ntfy.sh/your-topic"
type: ntfy
events:
- Running
- Stopped
- ErrorReplace your-topic with your ntfy topic name. TSDProxy sends the notification body as plain text:
Proxy: myapp
Status: Running
Previous: StartingWith Authentication
If your ntfy topic is protected, add an access token or basic auth via headers:
/config/tsdproxy.yaml
webhooks:
- url: "https://ntfy.sh/your-topic"
type: ntfy
headers:
Authorization: "Bearer tk_your_access_token"For basic auth:
/config/tsdproxy.yaml
webhooks:
- url: "https://ntfy.sh/your-topic"
type: ntfy
headers:
Authorization: "Basic dXNlcjpwYXNz"Custom Title and Priority
ntfy uses HTTP headers to set message metadata. Use the headers field to customize the notification appearance:
/config/tsdproxy.yaml
webhooks:
- url: "https://ntfy.sh/your-topic"
type: ntfy
headers:
Title: "TSDProxy Alert"
Priority: "high"
Tags: "rotating_light"Supported ntfy headers:
| Header | Example | Purpose |
|---|---|---|
Title | TSDProxy Alert | Notification title |
Priority | high | Urgency: min, low, default, high, max |
Tags | rotating_light,computer | Emoji tags (comma-separated) |
Click | https://myapp.tailnet.ts.net | URL opened when notification is tapped |
Actions | view, Open Dashboard, https://host:8080 | Action buttons |
Icon | https://example.com/icon.png | Notification icon URL |
Self-Hosted ntfy Server
Point the URL to your own instance:
/config/tsdproxy.yaml
webhooks:
- url: "https://ntfy.example.com/your-topic"
type: ntfy
headers:
Authorization: "Bearer tk_your_access_token"
Priority: "default"
events:
- Running
- Stopped
- ErrorFiltering by Status
Only send notifications for the events you care about:
/config/tsdproxy.yaml
webhooks:
- url: "https://ntfy.sh/tsdproxy-errors"
type: ntfy
headers:
Priority: "high"
Tags: "x"
events:
- ErrorNotes
- Plain text format. ntfy receives the message body as plain text (
Content-Type: text/plain), not JSON. - Custom headers are passed through. Any header you set in the
headersmap is included in the HTTP request to ntfy. You can use any ntfy-supported header. - Multiple topics. To send to different topics with different priorities, add multiple webhook entries:/config/tsdproxy.yaml
webhooks: - url: "https://ntfy.sh/tsdproxy-all" type: ntfy - url: "https://ntfy.sh/tsdproxy-critical" type: ntfy headers: Priority: "max" events: - Error
Last updated on