Skip to content

wdev-io/genhook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e5b5c1a · Aug 24, 2023

History

5 Commits
Feb 28, 2023
Aug 24, 2023
Mar 10, 2023
Feb 28, 2023
Feb 28, 2023
Mar 10, 2023
Feb 28, 2023
Feb 28, 2023
Feb 28, 2023
Feb 28, 2023
Feb 28, 2023
Mar 10, 2023
Mar 10, 2023
Feb 28, 2023

Repository files navigation

Genhook - Generic Webhook Handler

Docker Build GitHub Repo

A generic webhook handler, for source code please check the Github repo, for the latest builds check the Docker Hub page.

Usage example (docker)

$ docker run --rm -it \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v ./data/webhook-handler/webhooks:/app/webhooks:ro \
  -v /docker/compose:/docker/compose:ro \
  wdevio/genhook:latest

Usage example (docker compose)

version: '3.9'
services:
  genhook-webhook-handler:
    image: wdevio/genhook:latest
    container_name: genhook-webhook-handler
    restart: unless-stopped
    ports:
      - "9999:9999"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /root/.docker/config.json:/root/.docker/config.json:ro
      - ./data/webhook-handler/webhooks:/app/webhooks:ro
      - /docker/compose:/docker/compose:ro
      - /etc/localtime:/etc/localtime:ro
    environment: # Optional environment variables (defaults are given for reference)
      HOST: '0.0.0.0'
      PORT: 9999
      URL_PREFIX: '/update-webhooks'
      SCRIPTS_DIR: '/app/webhooks'

Webhook example

  • /app/webhooks/my-app.secret
7e473aea-9c08-463a-9836-f031ca258d89
  • /app/webhooks/my-app.sh
#!/bin/sh

cd /docker/compose/my-app
echo Pulling latest images...
docker compose pull -q api frontend
echo Restarting needed services...
docker compose up -d
  • The hook will be callable at the following URL: http://localhost:9999/update-webhooks/my-app/7e473aea-9c08-463a-9836-f031ca258d89

Nginx proxy example

http {
  # ...

  proxy_connect_timeout 60s;
  proxy_send_timeout 60s;
  proxy_read_timeout 300s; # 5 minutes - max runtime of your script

  server {
    listen        80;

    location /ci/ {
      proxy_pass http://10.0.0.2:9999/;
      proxy_pass_request_headers on;
    }

    # ...
  }
}

About

Genhook - Generic Webhook Handler

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published