DocumentationFundamentals
Docker Compose
How to use Webhook Relay client with Docker Compose to start forwarding webhooks to your internal services and open tunnels to expose your services
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.
Prerequisites
- Docker, installation instructions: https://docs.docker.com/engine/install/
- Webhook Relay account, get your token here: https://my.webhookrelay.com/tokens
Forward webhooks
- Go to https://my.webhookrelay.com/buckets and create a bucket (we will call it "my-bucket" in this example)
- Configure output destination (another container or IP address where you want to forward)
- Create a docker-compose.yml 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}
- Create .env file:
RELAY_KEY="your-access-token-key"
RELAY_SECRET="your-access-token-secret"
BUCKETS=my-bucket
- Start Docker Compose:
docker-compose up -d
Open a tunnel
- Go to https://my.webhookrelay.com/tunnels and create a tunnel with your desired destination
- 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}
- Create .env file:
RELAY_KEY="your-access-token-key"
RELAY_SECRET="your-access-token-secret"
TUNNELS=your-tunnel
- Start Docker Compose:
docker-compose up -d