An alpine-based docker container that pulls a git repo (updates it) every given amount of time (default 60s) with a shell script.
Go to file
2024-09-22 17:52:28 +00:00
example [example/README.md] Added link 2024-09-22 17:52:28 +00:00
docker-entrypoint.sh Implemented docker-entrypoint.sh and moved some contents from Dockerfile into the docker-entrypoint.sh script 2024-09-22 19:19:15 +02:00
Dockerfile Implemented docker-entrypoint.sh and moved some contents from Dockerfile into the docker-entrypoint.sh script 2024-09-22 19:19:15 +02:00
LICENSE.md Added basic information about this repository 2024-09-21 21:24:54 +02:00
README.md [README.md] Added Configuration section 2024-09-22 19:51:21 +02:00

docker-git-puller

A docker container that pulls a git repo (updates it) every given amount of time (default 60s) with a shell script.

Purpose

There are many scenarios where such a container could help. For example (as I use it), this image could be used to pull a hugo built website (living in a public git repo) to a local folder, so that another docker container can serve the most recent files.

See the docker-compose example for a quick overview how this works.

Building

Building this docker image is quite easy. For a quick start, just use this:

docker build -t git-puller .

After this is done successfully, you can check out the new image in your local image store with docker images.

Configuration

Essentially, this image can be configured over environment variables.

  • PULL_LOCATION: used to set the container-internal folder which is getting pulled frequently (you should mount one into this direction) - defaults to /to-pull
  • PULL_INTERVAL: the interval between pulls in seconds (minimum is 5, default is 60)
  • PULLER_UID: the uid of the user that executes the git pull command (defaults to 1000)
  • GIT_OUTPUT: if set to 0, the git pull stdout will be hidden from docker logs (redirected to /dev/null ;) (if not set, everything is visible in the docker logs)

Similar projects:

Forum posts:

License

see LICENSE.md