Docker

Docker is the most popular way to run Webhook Relay agent to forward webhooks and open tunnels.

Webhook Relay agent can either forward requests to destinations or open bidirectional tunnels. It is a single Docker image that requires access key and secrets for authentication. This image can be used either in a single machine or in cluster schedulers such as Kubernetes.

If you don't have Docker installed, we highly recommend checking resources available on https://www.docker.com/.

Forward webhooks

  1. Go to https://my.webhookrelay.com/buckets and create a bucket

  2. Configure output destination (another container or IP address where you want to forward)

  3. Go to https://my.webhookrelay.com/tokens and get your access key and secret

  4. Start the agent:

docker run --network host -d webhookrelay/webhookrelayd \
  -k [access key] \
  -s [access secret] \
  -b my-bucket-name

You can also specify configuration through environment variables:

KEY=<your token key>
SECRET=<your token secret>
BUCKETS=<bucket filter>
DESTINATION=<destination output ID, name or URL to filter on>

If you are using self-signed certificates on your internal side, specify INSECURE environment variable to skip validation:

INSECURE=true

If you are behind a VPN or a firewall that doesn't allow egress gRPC traffic to my.webhookrelay.com:8080, then add environment variable to use WebSocket transport:

WEBSOCKET_TRANSPORT=true

Open a tunnel

  1. Go to https://my.webhookrelay.com/tunnels and create a tunnel with your desired destination

  2. Go to https://my.webhookrelay.com/tokens and get your access key and secret

  3. Start a tunnel:

docker run --name whr-relayd \
  --net host \
  --restart always \
  -d webhookrelay/webhookrelayd:latest \
  --mode tunnel -t mytunnelname -k [access key] -s [access secret]

Here webhookrelayd commands:

  • –mode tunnel indicates that it should start bidirectional tunnel

  • -t mytunnelname acts as a filter, it has to match the tunnel name that you have created previously

  • -k [access key] is your authentication token key

  • -s [access secret] is your authentication token secret

You can also specify these details through environment variables:

KEY=<your token key>
SECRET=<your token secret>
TUNNELS=<comma separated list of tunnels>
REGION=<region - eu, au, us-west (defaults to eu)>

Last updated