Skip to content

theohbrothers/docker-webhook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docker-webhook

github-actions github-release docker-image-size

Dockerized webhook with useful tools.

Tags

Tag Dockerfile Build Context
:2.8.1, :latest View
:2.8.1-libvirt-8 View
:2.8.1-curl-git-jq-sops-ssh View
:2.8.1-libvirt-7 View
:2.8.1-libvirt-6 View
:2.7.0 View
:2.7.0-libvirt-8 View
:2.7.0-curl-git-jq-sops-ssh View
:2.7.0-libvirt-7 View
:2.7.0-libvirt-6 View

Usage

# Create hooks.yml, see: https://github.com/adnanh/webhook#configuration
cat - > hooks.yml <<'EOF'
- id: hello-world
  execute-command: echo
EOF

# Start container
docker run -it -p 9000:9000 -v $(pwd)/hooks.yml:/config/hooks.yml:ro theohbrothers/docker-webhook

# Run the webhook
wget -qO- "http://$HOSTNAME:9000/hooks/hello-world"

FAQ

Q: webhook fails with error __nanosleep_time64: symbol not found

On Raspberry Pi, running alpine-3.12 fails with error:

$ docker run -it theohbrothers/docker-webhook:2.8.0-alpine-3.12
Error relocating /usr/local/bin/webhook: __nanosleep_time64: symbol not found

The solution is to use alpine-3.13 or later

$ docker run -it theohbrothers/docker-webhook:2.8.0-alpine-3.13

Q: ping fails with error ping: clock_gettime(MONOTONIC) failed

On Raspberry Pi, running ping on alpine-3.13 and above might fail with error:

$ docker run -it theohbrothers/docker-webhook:2.8.0-alpine-3.13
PING 1.1.1.1 (1.1.1.1): 56 data bytes
ping: clock_gettime(MONOTONIC) failed

The solution is to use --security-opt seccomp=unconfined option. See here

$ docker run -it --security-opt seccomp=unconfined theohbrothers/docker-webhook:2.8.0-alpine-3.13

Development

Requires Windows powershell or pwsh.

# Install Generate-DockerImageVariants module: https://github.com/theohbrothers/Generate-DockerImageVariants
Install-Module -Name Generate-DockerImageVariants -Repository PSGallery -Scope CurrentUser -Force -Verbose

# Edit ./generate templates

# Generate the variants
Generate-DockerImageVariants .