Railway

Deploy webhook-inspector

Self-hosted webhook inspector to capture, inspect & replay webhooks

Deploy webhook-inspector

self-hosted-webhook-inspector

Kjudeh/self-hosted-webhook-inspector

Just deployed

Deploy and Host webhook-inspector on Railway

webhook-inspector is a self-hosted webhook tester, debugger, and replay tool — an open-source alternative to webhook.site and RequestBin. It generates unique capture URLs, records every incoming HTTP request (headers, body, query, source IP) in PostgreSQL, streams them to a live UI in real time, and lets you replay any request to a target of your choice.

About Hosting webhook-inspector

Hosting webhook-inspector means running one small Node.js (Fastify) web service backed by a single PostgreSQL database — no Redis, queues, or extra services. The app builds from a multi-stage Dockerfile, runs its schema migration automatically on boot, and serves both the API and the bundled web UI on a single port. Live updates use Server-Sent Events, so it works behind standard proxies without WebSocket configuration. You point any webhook source (Stripe, GitHub, n8n, etc.) at your capture URL, watch requests arrive instantly, inspect the raw payloads, and replay them. An auto-cleanup job prunes old requests on a configurable retention window, keeping the database tidy without manual maintenance.

Common Use Cases

  • Debug webhooks from Stripe, GitHub, Shopify, n8n, and WhatsApp Business API by inspecting their exact headers and payloads.
  • Replay captured webhook events into a local or staging endpoint to reproduce and fix integration bugs.
  • Run a private, self-hosted alternative to webhook.site so sensitive payloads never pass through a third party.

Dependencies for webhook-inspector Hosting

  • A PostgreSQL database (added via Railway's PostgreSQL plugin).
  • Node.js 20 runtime (handled automatically by the included Dockerfile).

Deployment Dependencies

Implementation Details

Set DATABASE_URL to reference the Postgres plugin, and the app handles the rest (migration runs on startup, health check at /health):

DATABASE_URL=${{Postgres.DATABASE_URL}}

Optional variables: ACCESS_TOKEN (gates the UI/API; capture URLs stay public), RETENTION_HOURS (default 168), MAX_BODY_BYTES (default 1048576), and PUBLIC_URL (for a custom domain). PORT is injected by Railway automatically.

Why Deploy webhook-inspector on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying webhook-inspector on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

self-hosted-webhook-inspector

Kjudeh/self-hosted-webhook-inspector

More templates in this category

View Template
SigOnly
Deploy SigNoz with a working demo app & config in one click

zoeyjones
View Template
Unwrapped Spotify Music Stats
Unwrapped Spotify Music Stats, Estatísticas de músicas disponíveis

Jorge Henrique
View Template
OpenTelemetry Collector and Backend
OpenTelemetry Collector with Backend Stack

Melissa