githubEdit

Getting Started

This guide will help you get Webhooked up and running in minutes. We'll cover installation, basic configuration, and your first webhook.

circle-info

This page evolves with each version based on modifications and community feedback. Having trouble following this guide?

Open an issuearrow-up-right to get help, and contribute to improving this guide for future users. 💜

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)

# 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/webhook

  • Actual URL: /webhooks/v1alpha2/my/webhook

Security Providers

Webhooked supports multiple security providers:

circle-info

See the dedicated page Security Layer

Storage Backends

Configure one or more storage backends:

circle-info

See the dedicated page Storage Layer

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