| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Production-ready infrastructure for sending webhooks and delivering events from your platform to your customers' systems. Self-host it anywhere, or use Hookdeck Outpost as a managed service.
Add outbound webhooks and Event Destinations to your platform, with support for Webhooks, Hookdeck Event Gateway, Amazon EventBridge, AWS SQS, AWS S3, GCP Pub/Sub, RabbitMQ, and Kafka. Outpost handles retries, tenant isolation, observability, and provides a portal for your end users.
The runtime has minimal dependencies (Redis/Redis cluster, PostgreSQL, a supported message queue), is 100% backward compatible with your existing webhook implementation, and is optimized for high-throughput, low-cost operation.
Outpost is built and maintained by Hookdeck. Written in Go. Distributed as a binary and Docker container. Licensed under Apache-2.0.
Read Outpost Concepts to learn more about the Outpost architecture and design.
See the Outpost Features for more information.
Outpost is a good fit if:
Outpost is backward compatible with your existing payload format, HTTP headers, and signatures — you can drop it into what you already have.
In-repo Markdown for hookdeck.com/docs/outpost lives under docs/content/ (and images under docs/public/images/). Pushes to main that touch those paths run a GitHub Action that notifies Hookdeck to trigger a Vercel redeploy of the marketing site.
Once deployed, set the TOPICS environment variable to your supported topics (e.g. TOPICS=user.created,user.updated,user.deleted). You'll need the public Railway URL of your Outpost instance ($OUTPOST_URL) and the generated API_KEY to authenticate requests.
git clone https://github.com/hookdeck/outpost.git
cd outpost/examples/docker-compose/
cp .env.example .envUpdate the API_KEY value in the .env file, then start the services:
docker-compose -f compose.yml -f compose-rabbitmq.yml -f compose-postgres.yml upOutpost is now running on localhost:3333.
See the Configuration Reference for Redis cluster setup, TLS, and other deployment options.
Set your environment variables:
export OUTPOST_URL=http://localhost:3333
export API_KEY=your_api_keyCreate a tenant, add a webhook destination, and publish an event:
# Create a tenant
curl -X PUT "$OUTPOST_URL/api/v1/tenants/acme-corp" \
-H "Authorization: Bearer $API_KEY"
# Create a webhook destination
curl "$OUTPOST_URL/api/v1/tenants/acme-corp/destinations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"type": "webhook",
"topics": ["*"],
"config": { "url": "https://your-endpoint.com/webhooks" }
}'
# Publish an event
curl "$OUTPOST_URL/api/v1/publish" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"tenant_id": "acme-corp",
"topic": "user.created",
"data": { "user_id": "123" }
}'Get a portal link for the tenant:
curl "$OUTPOST_URL/api/v1/tenants/acme-corp/portal" \
-H "Authorization: Bearer $API_KEY"Open the returned redirect_url to view the Outpost portal.
SDKs are available for Go, TypeScript, and Python. See the full quickstart guides for step-by-step setup with your stack.
Don't want to run the infrastructure yourself? Hookdeck Outpost is a fully managed version that runs the exact same codebase — no proprietary fork, no reduced feature set.
The managed service adds serverless scaling, SOC 2 compliance, SSO, RBAC, and usage-based pricing starting at $10 per million events.
Get started with Hookdeck Outpost →
See CONTRIBUTING.
This repository contains Outpost, covered under the Apache License 2.0, except where noted (any Outpost logos or trademarks are not covered under the Apache License, and should be explicitly noted by a LICENSE file.)
| Back | FazBrowse Home | New Git URL |