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
.