Getting Started
This guide will help you get Webhooked up and running in minutes. We'll cover installation, basic configuration, and your first webhook.
Prerequisites
For Docker: Docker and Docker Compose installed
For Binary: Linux/macOS/Windows system
For Source: Go 1.24+ installed
Optional: Redis, PostgreSQL, RabbitMQ, etc... for storage backends
Quick Start (5 minutes)
Option 1: Docker (Recommended)
# Create a configuration file
cat > webhooked.yaml << 'EOF'
apiVersion: v1alpha2
kind: Configuration
metadata:
name: my-webhooks
specs:
- webhooks:
- name: hello-webhook
entrypointUrl: /webhook/hello
security:
type: noop # No auth for testing
response:
statusCode: 200
formatting:
templateString: '{"message": "Hello from Webhooked!", "received": {{ .Payload }}}'
EOF
# Run Webhooked
docker run -d \
-p 8080:8080 \
-v $(pwd)/webhooked.yaml:/config/webhooked.yaml \
atomys/webhooked:latest \
--config /config/webhooked.yaml
# Test your webhook
curl -X POST http://localhost:8080/webhooks/v1alpha2/webhook/hello \
-H "Content-Type: application/json" \
-d '{"test": "data"}'Option 2: Binary Installation
Option 3: Install from Source
Your First Real Webhook
Let's create a more realistic webhook that stores data in Redis:
1. Create Configuration
2. Start Services with Docker Compose
3. Test the Webhook
Essential Configuration Concepts
Webhook URL Structure
All webhook endpoints follow this pattern:
Example:
Configuration:
entrypointUrl: /my/webhookActual URL:
/webhooks/v1alpha2/my/webhook
Security Providers
Webhooked supports multiple security providers:
Storage Backends
Configure one or more storage backends:
Environment Variables
Webhooked supports environment variable substitution:
Set environment variables:
Health Checks
Webhooked provides built-in health endpoints:
Monitoring
When metrics are enabled, Prometheus metrics are available:
Common Patterns
1. Multi-Environment Configuration
2. Data Transformation
Congratulations! You're now ready to process webhooks at scale with Webhooked.
Last updated