Skip to content
Notifications

Notifications

Send alerts when proxies change status — start, stop, or encounter errors.

TSDProxy delivers webhook notifications to popular services. Each recipe below shows the exact configuration for a specific platform.

How It Works

TSDProxy emits an event every time a proxy changes status. You choose which statuses trigger a notification using the events filter.

Available Events

EventMeaning
InitializingProxy is being created
StartingTailscale node is starting up
AuthenticatingWaiting for Tailscale authentication
RunningProxy is up and serving traffic
StoppingProxy is shutting down
StoppedProxy has been stopped
ErrorProxy encountered an error
PausedProxy is paused

Event names are case-insensitive. If events is omitted, all status changes are sent.

Configuration

All notifications are configured in the webhooks section of /config/tsdproxy.yaml:

/config/tsdproxy.yaml
webhooks:
  - url: "https://example.com/webhook"
    type: generic              # ntfy | gotify | discord | slack | generic
    events:                    # optional — send all events if omitted
      - Running
      - Stopped
      - Error
    headers:                   # optional custom HTTP headers
      Authorization: "Bearer token123"

Multiple Webhooks

You can configure multiple webhooks to notify different services or topics simultaneously:

/config/tsdproxy.yaml
webhooks:
  - url: "https://ntfy.sh/alerts"
    type: ntfy
    events: [Running, Error, Stopped]

  - url: "https://discord.com/api/webhooks/123/abc"
    type: discord
    events: [Error]

Testing

Send a test webhook from the API:

curl -X POST http://localhost:8080/api/webhook/test

This fires a test event with proxy name test-proxy, status Running, and previous status Stopped to all configured webhooks.

Last updated on