dockerhub-webhook-api

1.3.2 • Public • Published

Build Status js-standard-style Coverage Status

dockerhub-webhook-api is deprecated

Please use dockerhub-webhook instead.

dockerhub-webhook-api

Automatic Docker Deployment via Webhooks.

dockerhub-webhook-api listens to incoming HTTP requests from hub.docker.com and triggers your specified script.

Features

  • Lightweight
  • Pretty simple setup process
  • Supports updating multiple docker images
  • Scripts can trigger docker or docker-compose

Create secret

Create a secret token with openssl, uuidgen or something else. Remember not to use any slashes since it's going to be used in the URL.

export TOKEN=$(openssl rand -base64 30 | sed 's=/=\\/=g')
echo $TOKEN

Installation alternatives

1. Run on host

Install

Nodejs and npm must be installed.

git clone http://github.com/maccyber/dockerhub-webhook-api
cd dockerhub-webhook-api
npm i

Edit config

vim config/index.js

Edit webhooks and scripts

vim scripts/index.js

Test

npm start

2. Run with docker-compose

Git clone

git clone http://github.com/maccyber/dockerhub-webhook-api

Add secret token in dockerhub.env with

vim dockerhub.env

Start with

docker-compose up -d

3. Run from docker hub

Git clone

git clone http://github.com/maccyber/dockerhub-webhook-api

Start with

docker run -d \
  -p 3000:3000 \
  -e SERVER_PORT=3000 \
  -e TOKEN=abc123 \
  -e ROUTE=/api \
  -v ${PWD}/scripts:/src/scripts \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --name dockerhub-webhook \
  maccyber/dockerhub-webhook-api 

Configuration on docker hub

Go to https://hub.docker.com/ -> your repo -> Webhooks

Add a webhook like on the following image.

alt tag

example.com can be the domain of your server or its ip address.

docker-hook listens to port 3000. Please replace abc123 with your safe auth-token.

Package Sidebar

Install

npm i dockerhub-webhook-api

Weekly Downloads

16

Version

1.3.2

License

MIT

Last publish

Collaborators

  • maccyber