weblug
is a webhook receiver program. It can be configured via a yaml file and allows you to configure customizable webhook which can execute different programs/script on the host system.
See for yourself, how it could work:
hooks:
- name: 'build blog'
route: "/webhooks/eehoRamahhaiChaeKoor3naixiecaese"
command: "/home/hugo/rebuild_blog"
background: True # Terminate http request immediately
concurrency: 1 # At most 2 parallel processes are allowed
uid: 1002 # Run a hugo user
gid: 1002 # hugo group
- name: 'burglar alarm'
route: "/webhooks/laexaig6ui6Bohch4viaFe9eequeiTh5"
command: "/root/release_hounds"
The project is on https://codeberg.org/grisu48/weblug, where more documentation is available.