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/webhookConfiguration Options
| Environment Variable | Description |
|---|---|
| --token | Your webhook token from the Hooks dashboard (required) |
| --api-key | Your API key from Settings (required, user ID is auto-discovered from this) |
| --user-id | Your Skooh user ID (optional, auto-discovered from API key if not provided) |
| --internal-webhook-url | URL to forward webhooks to (required unless using --log-only) |
| API_URL | Skooh API URL (default: https://api.skooh.io) |
| --mode | Connection mode: auto, websocket, or http (default: auto) |
| --log-only | Log 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-onlyIncoming 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_KEYThe 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.