Installation Guide

Webhookd can be installed in several ways, depending on your environment and preferences. Choose the method that best suits your needs.

Using Go

If you have a Go environment set up, you can install webhookd directly using go install:

go install github.com/ncarlier/webhookd@latest

The binary will be placed in your $GOPATH/bin directory.

Download Binary

You can download a pre-compiled binary for your specific operating system and architecture. An installation script is provided for convenience on Linux and macOS systems.

Recommended Method (using install.sh):

This command will detect your OS and architecture, download the latest release, and install it into ~/.local/bin by default.

curl -s https://raw.githubusercontent.com/ncarlier/webhookd/master/install.sh | sudo bash

Alternative (using gobinaries):

curl -sf https://gobinaries.com/ncarlier/webhookd | sh

Using Docker

Webhookd is available as a Docker image on Docker Hub. This is a great way to run it in a containerized and isolated environment.

docker run -d --name=webhookd \
  -v ${PWD}/scripts:/scripts \
  -p 8080:8080 \
  ncarlier/webhookd

This command will start webhookd, mapping a local ./scripts directory to the container and exposing the server on port 8080.

For more advanced use cases, such as interacting with the Docker daemon from within your scripts, you can use the distrib image tag:

# Example using the distrib image
docker run -d --name=webhookd \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v ${PWD}/scripts:/scripts \
  -p 8080:8080 \
  ncarlier/webhookd:latest-distrib

See the Docker Deployment page for more details.

Using APT (for Debian/Ubuntu)

It is possible to install Webhookd using the Debian packaging system through a custom repository.

First, add the repository and its key, then install webhookd:

# Add the repository
echo "deb [arch=amd64] https://packages.azlux.fr/debian/ buster main" | sudo tee /etc/apt/sources.list.d/azlux.list

# Add the repository key
wget -qO - https://azlux.fr/repo.gpg.key | sudo apt-key add -

# Update and install
sudo apt update
sudo apt install webhookd

Note: With this method:

  • Custom configuration variables can be set in the /etc/webhookd.env file.
  • A systemd service is automatically created and enabled. You just need to start it with systemctl start webhookd.