weblug/README.md
Felix Niederwanger 027426c4f7
Improve the readability
Change the wording and construction of the README file for better
readability.
2023-09-23 11:00:06 +02:00

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

  1. 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!

  1. 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.

  1. 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.