webhookd - Turn Shell Scripts into HTTP Webhooks

AWS Streaming & Messaging

run shell scripts as secure, streaming HTTP webhook endpoints

Base
Hardened build
minimal ports, security patches applied at build time
Access
Unique credentials
generated on first boot, readable only by root
Verified
Boots working
services pass a health gate before release
Support
24/7, 365 days
by email and live chat, 24 hour response SLA

Overview

webhookd is a minimalist HTTP server that turns ordinary shell scripts into webhook endpoints. Drop an executable script into a directory and it becomes callable over HTTP, with the script's output streamed back to the caller in real time as chunked transfer encoding or Server-Sent Events. Request parameters and headers are passed to the script as environment variables, so a webhook can react to whatever triggered it. It is ideal for triggering deployments, maintenance jobs, backups or any automation from a CI/CD pipeline, a chatbot, a monitoring alert or another service's outgoing webhook.

Why the cloudimg image

The cloudimg image runs webhookd under systemd behind an nginx TLS terminator, secure by default: HTTP Basic authentication is mandatory, so no unauthenticated request can ever run a hook. No secret is baked in, a unique auth credential and a per-instance self-signed TLS certificate are generated on first boot and written to a root-only file. The OS ships fully patched with unattended security updates, and every image is paired with a step-by-step deploy guide and 24/7 cloudimg support.

Common uses

  • Trigger deployments, restarts or maintenance jobs from a CI/CD pipeline or chatbot over an authenticated HTTP call
  • Expose existing shell scripts as streaming webhook endpoints without writing a web service
  • Receive and act on outgoing webhooks from third-party services with real-time streamed output

Key features

  • Instant script-to-endpoint conversion with real-time output streaming: drop any executable script into the hooks directory and it becomes a callable HTTPS endpoint immediately, with no compilation, no framework, and no redeployment. Output streams back to the caller line by line as chunked transfer encoding or Server-Sent Events, unlike a serverless store-and-forward model where you wait for complete execution before seeing results.
  • Secure by default with unique per-instance credentials, not default passwords: every launch generates a fresh Basic-auth username, a bcrypt-hashed password, and a TLS certificate. No secrets are baked into the image. HTTP 401 is enforced on every request before any hook executes, eliminating the class of vulnerabilities common in images that ship with shared or documented default credentials.
  • Production ready in minutes instead of hours of manual hardening: this image replaces the typical multi-step process of compiling webhookd, configuring systemd, generating certificates, setting up nginx, and enabling security updates. The entire stack launches preconfigured with HTTPS termination, streaming proxy, automatic restarts, unattended OS patching, and 24/7 cloudimg support included.

Description

This is a repackaged open source software product wherein additional charges apply for cloudimg support services.

webhookd is a lightweight HTTP server that transforms any executable shell script into a callable HTTP webhook endpoint. This image delivers webhookd 1.22.0 fully installed and running behind an nginx TLS terminator, a production ready webhook server answering HTTPS requests within minutes of launch, with no compilation, no manual configuration, and no security hardening required.

Why choose this image over a self-managed deployment: deploying webhookd from source means installing Go, compiling the binary, configuring systemd, generating TLS certificates, setting up a reverse proxy, and hardening credentials, typically hours of work. This image eliminates that. You launch the instance, retrieve the auto-generated credentials, and invoke hooks immediately. Unlike a serverless function, webhookd runs continuously with no cold starts and no per-invocation fees, so you can run unlimited webhook calls on a single instance. Hook output streams back to the caller line by line as chunked transfer encoding or Server-Sent Events, rather than waiting for the whole execution to finish.

Secure by default, not secure by effort: unlike a bare deployment or an image that ships with a default password, this image generates unique credentials on every launch. HTTP Basic authentication is mandatory and no unauthenticated request can ever execute a hook, every such request is refused with HTTP 401. A unique username and password are generated on first boot, hashed with bcrypt, and stored only in a root owned file, and a per-instance self-signed TLS certificate is generated for nginx, so nothing is baked into the image. webhookd binds exclusively to the loopback interface while nginx on port 443 faces the network. The operating system ships fully patched with unattended security updates enabled.

How it works: nginx terminates HTTPS on port 443 with the per-instance certificate and reverse proxies to webhookd on the loopback interface. Response buffering is disabled so streaming and Server-Sent Events output reaches the client the instant the script produces it. An unauthenticated health probe and an HTTP to HTTPS redirect are served on port 80, and systemd manages the service for automatic restarts and clean logging. Request query parameters and HTTP headers are passed to your script as environment variables, so a hook can react to whatever triggered it.

Common uses include triggering deployments from a CI/CD pipeline such as GitHub, GitLab or Jenkins, running infrastructure tasks from a chatbot command, kicking off scheduled maintenance such as backups or certificate renewal, and restarting or scaling services from any system that can make an HTTP call. For example, a monitoring tool can fire a webhook when disk usage crosses a threshold, and the hook script snapshots a database, uploads the backup, and streams a confirmation back to the caller. To add your own hook, drop an executable script into the hooks directory and call it by name over HTTPS; to change what runs, edit the script, with no redeployment and no recompilation. The current release available is webhookd 1.22.0.

This is a repackaged open source software product with additional charges for cloudimg support services. webhookd is distributed under the MIT license. cloudimg is not affiliated with or endorsed by the webhookd project or Nicolas Carlier. All product and company names are trademarks or registered trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

Related technologies

webhook servershell script automationhttp endpointdevops automationci cd webhookdeployment triggerserver sent eventsstreaming outputwebhook relayplatform engineerinfrastructure automationscript to apiwebhook handler