Skooh.io Logo
Documentation
Docs/Docker

Docker Guide

Overview

The Skooh proxy connects to the Skooh API and forwards webhooks to your local or internal servers. Use Docker for production deployments, Kubernetes, or CI/CD pipelines. For local development, we recommend the Desktop App instead.

Docker

Run the proxy

docker run -d \
  --name skooh-proxy \
  -e API_URL=https://api.skooh.io \
  skooh/proxy \
    --token your_webhook_token \
    --api-key your_api_key \
    --internal-webhook-url http://host.docker.internal:3000/webhook

Configuration Options

Environment VariableDescription
--tokenYour webhook token from the Hooks dashboard (required)
--api-keyYour API key from Settings (required, user ID is auto-discovered from this)
--user-idYour Skooh user ID (optional, auto-discovered from API key if not provided)
--internal-webhook-urlURL to forward webhooks to (required unless using --log-only)
API_URLSkooh API URL (default: https://api.skooh.io)
--modeConnection mode: auto, websocket, or http (default: auto)
--log-onlyLog webhooks without forwarding them

Log-Only Mode (No Forwarding)

For debugging or inspecting webhooks without forwarding them, use the --log-only flag:

docker run -d \
  --name skooh-proxy \
  -e API_URL=https://api.skooh.io \
  skooh/proxy \
    --token your_webhook_token \
    --api-key your_api_key \
    --log-only

Incoming webhooks will be logged to stdout but not forwarded anywhere. View logs with:

docker logs -f skooh-proxy

Testing

Once the proxy is running, send a test webhook to verify it's working:

curl -X POST 'https://api.skooh.io/hook/YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"event": "test", "data": {"message": "Hello!"}}'

Check your proxy logs and local server to confirm the webhook was forwarded.

Kubernetes Deployment

Example Kubernetes deployment for the Skooh proxy:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: skooh-proxy
spec:
  replicas: 1
  selector:
    matchLabels:
      app: skooh-proxy
  template:
    metadata:
      labels:
        app: skooh-proxy
    spec:
      containers:
      - name: skooh-proxy
        image: skooh/proxy:latest
        env:
        - name: TOKEN
          valueFrom:
            secretKeyRef:
              name: skooh-secrets
              key: token
        - name: API_KEY
          valueFrom:
            secretKeyRef:
              name: skooh-secrets
              key: api-key
        - name: INTERNAL_WEBHOOK_URL
          value: "http://your-service:3000/webhook"
        - name: API_URL
          value: "https://api.skooh.io"

💡 Creating the Secret

Create the secret before deploying:

kubectl create secret generic skooh-secrets --from-literal=token=YOUR_TOKEN --from-literal=api-key=YOUR_API_KEY

The proxy auto-discovers the user ID from the API key, so you only need to provide the token and API key.

Replace your-service with your actual service name, or use localhost if running as a sidecar in the same pod.

Skooh | Docker Guide