Skip to content

Alirezajalilii/dobby-hooks

Repository files navigation

dobby-hooks

A modular GitHub webhook intake and activity-tracking service for dobby-hooks.ramzbank.com.

What it does

  • Receives GitHub webhooks for repositories you control
  • Verifies webhook signatures using X-Hub-Signature-256
  • Stores raw webhook deliveries in SQLite
  • Normalizes webhook events into a durable internal event stream
  • Polls GitHub for complementary activity when webhooks cannot be installed on third-party repositories
  • Exposes a localhost-only bridge for pending events

Why the hybrid design exists

GitHub webhooks only work on repositories or organizations where you can install them. For repositories owned by other people, this project adds polling for:

  • GitHub notifications related to the authenticated account
  • Public user activity events for the configured GitHub username
  • Commits by the configured username in selected watched repositories

This is useful, but it is not a perfect substitute for direct webhooks on third-party repositories.

Routes

Bound locally on 127.0.0.1:8787 by default:

  • POST /webhooks/github
  • GET /healthz
  • GET /internal/events/pending

nginx should proxy only POST /webhooks/github publicly.

Quick start

cd /root/.openclaw/workspace/projects/dobby-hooks
cp .env.example .env
bun run check
bun test
bun run start

Deployment artifacts

  • deploy/nginx/dobby-hooks.ramzbank.com.conf
  • deploy/systemd/dobby-hooks.service

Important remaining setup

  • Create .env with real secrets
  • Issue TLS for dobby-hooks.ramzbank.com
  • Enable the nginx site and reload nginx
  • Enable and start the systemd unit
  • Register webhook URLs in GitHub

About

Claude Code hooks for automating workflows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors