Self-hosting requires familiarity with Node.js, PostgreSQL, and Redis. If you want to get started quickly, the cloud-hosted version at hookdrop.dev requires no setup.
Requirements
- Node.js v20+
- PostgreSQL 16+
- Redis 7+
Setup
Configure environment variables
Copy the example environment file:Open
.env and fill in your values. See .env.example in the repository for the full list of required variables. Key settings include:Architecture overview
Hookdrop is composed of four services that run independently:- Ingestion API (port 3002) — Receives incoming webhooks from providers like Stripe, GitHub, and Shopify. This is the URL you configure in your webhook provider settings.
- Delivery Worker — Picks up queued jobs from Redis and forwards events to your configured destinations. Handles retries with exponential backoff.
- Dashboard API (port 3003) — Powers the web dashboard. Handles authentication, endpoint management, event queries, and billing.
- Frontend (port 3004) — The web UI. Connects to the Dashboard API and streams live events via WebSocket.
Docker Compose support is coming soon. A single
docker-compose.yml for one-command self-hosting is on the roadmap.