Change the wording and construction of the README file for better readability.
2 KiB
weblug
weblug
is is a configurable webhook receiver that allows users to run arbitrary programs and script when a webhook is triggered.
The configuration happens via a yaml file. Read the usage caveats!
weblug
supports multiple webhooks via different URL paths, concurrency limitations, background execution and running webhooks as separate user (uid
/gid
).
Usage
Webooks are defined via a yaml file. See weblug.yml for an example configuration. Pass the yaml file(s) to weblug
to starting the webserver and waiting for incoming webhooks:
./weblug YAML-FILE
weblug
can run as any user, however for custom uid
/gid
webhooks, the program needs to run as root.
Caveats
weblug
does not support https encryption
weblug is expected to run behind a http reverse proxy (e.g. apache
or nginx
) which handles transport encryption. The program it self does not support https, nor are there any plans to implement this in the near future.
CAVE: Don't expose secrets and credentials by running this without any transport encryption!
- Do not run this without reverse proxy
weblug
relies on the standart go http implementation. To avoid a whole class of security issues, weblug
should never run on the open internet without a http reverse proxy.
weblug
runs as root, when using custom UID/GIDs
In it's current implementation, weblug
requires to remain running as root without dropping privileges when using custom UID/GIDs.
Build
make # Build weblug
make static # Make a static binary
Alternatively you there is also a Taskfile
task
task static # Build static binary
Run as systemd unit
This repository provides an example weblug.service, which can be used to start weblug
as systemd service.
This file can be placed in /etc/systemd/system/weblug.service
and in conjunction with an adequate weblug.yml
file e.g. in /etc/weblug.yml
this provides a way of running weblug as a native systemd service.