diff --git a/Makefile b/Makefile index 3ac7fef..b8c2342 100644 --- a/Makefile +++ b/Makefile @@ -1,19 +1,18 @@ -DOCKER_IMAGE_NAME=adnanh/webhook -CONTAINER_NAME=webhook +DOCKER_IMAGE_NAME = adnanh/webhook +CONTAINER_NAME = webhook COMMIT := $(shell git rev-parse HEAD) SHORTCOMMIT := $(shell git rev-parse HEAD|cut -c-7) TEMPDIR := $(shell mktemp -d) docker-build: Dockerfile - docker build --force-rm=true --tag=${DOCKER_IMAGE_NAME} . + docker build --force-rm=true --tag=$(DOCKER_IMAGE_NAME) . docker-run: @echo "Here's an example command on how to run a webhook container:" - @echo "docker run -d -p 9000:9000 -v /etc/webhook:/etc/webhook --name=${CONTAINER_NAME} \\" - @echo " ${DOCKER_IMAGE_NAME} -verbose -hooks=/etc/webhook/hooks.json -hotreload" + @echo "docker run -d -p 9000:9000 -v /etc/webhook:/etc/webhook --name=$(CONTAINER_NAME) \\" + @echo " $(DOCKER_IMAGE_NAME) -verbose -hooks=/etc/webhook/hooks.json -hotreload" build_rpm: git archive --format=tar.gz --prefix webhook-$(COMMIT)/ --output $(TEMPDIR)/webhook-$(SHORTCOMMIT).tar.gz $(COMMIT) rpmbuild -ta --define "_commit $(COMMIT)" $(TEMPDIR)/webhook-$(SHORTCOMMIT).tar.gz - diff --git a/README.md b/README.md index 991371e..a2bfa8c 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,36 @@ However, hook defined like that could pose a security threat to your system, bec # Examples Check out [Hook examples page](https://github.com/adnanh/webhook/wiki/Hook-Examples) for more complex examples of hooks. +# Running webhook in Docker +The simplest usage of [adnanh/webhook](https://hub.docker.com/r/adnanh/webhook/) image is for one to host the hooks JSON file on their machine and mount the directory in which those are kept as a volume to the Docker container: +```shell +docker run -d -p 9000:9000 -v /dir/to/hooks/on/host:/etc/webhook --name=webhook \ + adnanh/webhook -verbose -hooks=/etc/webhook/hooks.json -hotreload +``` + +Another method of using this Docker image is to create a simple `Dockerfile`: +```docker +FROM adnanh/webhook +COPY hooks.json.example /etc/webhook/hooks.json +``` + +This `Dockerfile` and `hooks.json.example` files should be placed inside the same directory. After that run `docker build -t my-webhook-image .` and then start your container: +```shell +docker run -d -p 9000:9000 --name=webhook my-webhook-image -verbose -hooks=/etc/webhook/hooks.json -hotreload +``` + +Additionally, one can specify the parameters to be passed to [webhook](https://github.com/adnanh/webhook/) in `Dockerfile` simply by adding one more line to the previous example: +```docker +FROM adnanh/webhook +COPY hooks.json.example /etc/webhook/hooks.json +CMD ["-verbose", "-hooks=/etc/webhook/hooks.json", "-hotreload"] +``` + +Now, after building your Docker image with `docker build -t my-webhook-image .`, you can start your container by running just: +```shell +docker run -d -p 9000:9000 --name=webhook my-webhook-image +``` + # Contributing Any form of contribution is welcome and highly appreciated.