workflowbot is a GitHub App built with probot that enables complete workflow automation.
docker create --name=workflowbot \
-v <path to config>:/config \
-p 3000:3000 \
antilax3/workflowbot
The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side. For example with a volume -v external:internal - what this shows is the volume mapping from internal to external of the container. So -v /mnt/app/config:/config would map /config from inside the container to be accessible from /mnt/app/config on the host's filesystem.
-v /config
- local path for application private key-p 3000
- HTTP port for webserver-e PUID
- for UserID, see below for explanation-e PGID
- for GroupID, see below for explanation-e TZ
- for setting timezone information, eg Australia/Melbourne
It is based on alpine linux with s6 overlay, for shell access whilst the container is running do docker exec -it workflowbot /bin/bash
.
Sometimes when using data volumes (-v flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user PUID
and group PGID
. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work".
In this instance PUID=1001
and PGID=1001
. To find yours use id user
as below:
$ id <dockeruser>
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
The container uses a single volume mounted at '/config'. This volume stores the private key associated with the GitHub App.
config
|-- privkey.pem
The bot is configured by setting the following environment variables:
APP_ID
- App ID from the GitHub AppPRIVATE_KEY_PATH
- Location where the private key is stored, defaults to/config/privkey.pem
WEBHOOK_SECRET
- Webhook secret from the GitHub App
- 14/02/20: Initial Release