Webhook Relay
PricingLogin
  • Introduction
  • Quick Start - Forwarding
  • Quick Start - Tunnels
  • 🛠️Installation
    • Relay CLI
      • Install
      • Auto-start
      • Run config.yaml reference
    • Containerized
      • Kubernetes Installation
      • Podman
      • Docker
      • Docker Compose
  • Products
    • 🛰️Webhook Forwarding
      • Glossary
      • WebSocket Server
      • Authentication
      • Custom Domains
    • ⚡Functions
      • Managing functions
      • Edit request/response
      • Working with JSON
      • 🦾Advanced
        • Working with time
        • Testing functions in CLI
        • Making HTTP Requests
        • Multipart Form Data
        • URLEncoded Form Data
        • GCP BigQuery
        • Sending Emails
        • JWT authentication
        • Base64, Hashes, Encryption
      • 🤖Integrating into CI/CD
    • 🔃Tunnels
      • Using tunnels
      • Custom Domains
      • Encryption (HTTPS)
      • Regions
  • 📝Examples
    • Intro to examples
    • Webhooks
      • Receiving webhooks on localhost
      • Receive webhooks inside your JavaScript app
      • Execute shell scripts on remote machines
    • Functions
      • Enrich webhooks from 3rd party APIs
      • Convert DockerHub webhook to Slack notification
      • Allowing only POST requests through
      • Manipulate webhook request body
    • Tunnels
      • Ingress for any Kubernetes environment
      • Demoing your website
    • 🏠Home Automation
      • Home Assistant
      • Node-RED
      • Raspberry Pi
  • Platform
    • CLI Basics
    • Using CLI Behind Proxy
    • Self-hosting Server
      • Server deployment
      • Client configuration
    • Security & Tech
Powered by GitBook
On this page
  • Webhook forwarding
  • Bidirectional tunnel

Was this helpful?

  1. Installation
  2. Containerized

Docker Compose

Docker Compose is an excellent option to run multiple containers together. You can have a perfect development environment that receives webhooks directly from Stripe, Github and other services.

PreviousDockerNextWebhook Forwarding

Last updated 2 years ago

Was this helpful?

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.

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

Webhook forwarding

  1. Go to and create a bucket (we will call it “my-bucket“ in this example)

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

  3. Create a docker-compose.yaml file:

    version: '3.2'
    services:
     relay:
       container_name: webhookrelay
       image: webhookrelay/webhookrelayd:latest
       network_mode: host # required if you want to access other services running on localhost (otherwise localhost would be inside this container)
       restart: always
       environment:
         # Authentication
         - RELAY_KEY=${RELAY_KEY}
         - RELAY_SECRET=${RELAY_SECRET}
         # buckets list to subscribe
         - BUCKETS=${BUCKETS}
         # Destination to filter on (if you have multiple outputs and only 
         # wish to forward one or more from the bucket)
         - DESTINATION=${DESTINATION}
  4. Create .env file:

    RELAY_KEY="your-access-token-key"
    RELAY_SECRET="your-access-token-secret"
    BUCKETS=my-bucket
    DESTINATION=<destination output ID, name or URL to filter on>
  5. Start Docker Compose:

    docker-compose up -d

Bidirectional tunnel

  1. Create a docker-compose.yml file:

version: '3.2'

services:
  relay:
    container_name: webhookrelay
    image: webhookrelay/webhookrelayd:latest
    network_mode: host      
    command:
      - --mode 
      - tunnel
    restart: always
    environment:
      # Authentication
      - RELAY_KEY=${RELAY_KEY}
      - RELAY_SECRET=${RELAY_SECRET}
      # One or more tunnels must be set in the .env file
      - TUNNELS=${TUNNELS
      - REGION=us-west # eu, au, us-west (defaults to eu)    

3. Create .env file:

RELAY_KEY="your-access-token-key"
RELAY_SECRET="your-access-token-secret"
TUNNELS=your-tunnel

4. Start Docker Compose:

docker-compose up -d

Go to and create a tunnel with your desired destination

🛠️
https://my.webhookrelay.com/buckets
https://my.webhookrelay.com/tunnels