Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tedkulp/docker-autobuilder
Docker Hub's autobuild function on your own infrastructure.
https://github.com/tedkulp/docker-autobuilder
docker dockerhub
Last synced: 2 days ago
JSON representation
Docker Hub's autobuild function on your own infrastructure.
- Host: GitHub
- URL: https://github.com/tedkulp/docker-autobuilder
- Owner: tedkulp
- Created: 2018-12-02T16:21:25.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-06-09T13:31:07.000Z (7 months ago)
- Last Synced: 2024-11-14T10:41:22.817Z (2 months ago)
- Topics: docker, dockerhub
- Language: TypeScript
- Homepage: https://hub.docker.com/r/tedkulp/docker-autobuilder
- Size: 680 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# docker-autobuild
## Description
Docker Hub recently made autobuilds an Pro-only feature. This container does basically the
same thing, but on your own infrastructure.This will:
- Listen for a `push` webhook from Github
- Look in config.json for a matching config entry
- Pull the repo
- Checkout the correct commit
- Build the container
- Push it to Docker Hub
- Notify you via various notification methods when it's done### Direct trigger
There is also an option to trigger a build directly without a push event.
Send a GET request to: `http://mynodeserver:3000/trigger/projectName/branchName`. This will
follow the same series of events as the webhook, but will checkout the tip of whatever branch
is in the URL.## Deployment
The easiest thing to do is deploy this with docker:
- Create a config file somewhere:
`curl https://raw.githubusercontent.com/tedkulp/docker-autobuilder/master/config/config.yaml.example > config.yaml`
- Modify config file with actual credentials
- Run w/ docker:`` docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -p 3000:3000 -v `pwd`/config.json:/app/config/config.json tedkulp/docker-autobuilder:latest ``
- Create _push_ webhook in repository to point to `http://mynodeserver:3000/webhook/github` and has a content type of `application/json`.
- Wait patiently for new docker container to be pushed to Docker Hub### Redis
Docker-autobuilder does require redis for queueing builds. The default hostname is `localhost`, which can be overridden with the
`REDIS_HOST` environment variable. See the included docker-compose.yaml file for a idea on how to set it up.