Sign inSign up

natalnw7/pombohook-server

By natalnw7

•Updated 5 months ago

Self-hosted webhook forwarder server (open-source alternative to ngrok)

Image
Networking
Developer tools
0

598

natalnw7/pombohook-server repository overview

⁠🕊️ PomboHook Server

PomboHook is a lightweight, fast, open-source tool written in Go to receive webhooks from the internet directly into your local development environment (localhost).

⁠🎯 What is this?

This is the Server component of PomboHook. It acts as your digital carrier pigeon: it catches messages (webhooks) in the cloud and safely delivers them right to the door of your local server via WebSocket to the Pombo CLI.

Developing webhook-based integrations usually requires exposing your local machine to the internet using paid or complex tools like ngrok. PomboHook was born to be a self-hosted, minimalist alternative focused on developer experience (DX).

⁠🚀 How to Run

You can run this highly secure, minimalist Docker image based on scratch (0 shells, minimal attack surface).

docker run -d \
  -p 8080:8080 \
  -e PORT=8080 \
  -e POMBOHOOK_TOKEN="my-super-secret-token" \
  -e LOG_LEVEL="debug" \
  -e POMBOHOOK_ALLOWED_ORIGINS="*" \
  --name pombohook-server \
  natalnw7/pombohook-server:latest
⁠Environment Variables
  • PORT: The port the server will listen on (default: 8080).
  • POMBOHOOK_TOKEN: A secret token used to authenticate your local CLI with this server.
  • LOG_LEVEL: Logging verbosity (debug, info, warn, error).
  • POMBOHOOK_ALLOWED_ORIGINS: Hosts allowed (default: "*").

⁠📦 Resilience and Webhook Queue

To prevent data loss, the PomboHook Server has an in-memory queue:

  1. Disconnection: When the Server detects that the local CLI is not connected, it intercepts incoming webhooks and stores them in the queue. The external service receives a 202 Accepted and won't need to retry.
  2. Safety Limit: By default, the queue holds up to 20 simultaneous webhooks (circular buffer).
  3. Reconnection: As soon as you start the CLI again, the server detects the connection and immediately flushes all accumulated webhooks from the queue to your local machine.

Tag summary

Content type

Image

Digest

sha256:e8cdce2c8…

Size

2.8 MB

Last updated

5 months ago

docker pull natalnw7/pombohook-server