Public | Automated Build

Last pushed: 3 months ago
Short Description
Docker image for running a Pelican blog
Full Description



A machine for maintaining a Pelican web site with a few extras to handle build tasking using Git, Fabric and GPG.

General Use

Copy the file to something else, say, Add any items you might want in the .gnupg and .ssh directories. Edit your .gitconfig file as necessary


# Add more mounts for your projects after the git/gnupg/ssh ones
# e.g. -v ~/stuff/myproject:/project \

if docker ps | grep $img | awk '{ print $11 }'
    com=$(docker rm -f $img)
    echo "Removed ${com}"
docker run \
--name $img \
-p 80:8000 \
-v $wd/git/.gitconfig:/root/.gitconfig \
-v $wd/gnupg:/root/.gnupg \
-v $wd/ssh:/root/.ssh \
-v ~/mydir:/project \
-ti \
chrisramsay/$img:latest \

To run the container:

$ ./

Edit the file to add as many extra mount commands as you need.

Build Script

There is a file packaged here. This is to help with further development of the container. One of a number of possible options must be passed at run time.


Runs the standard docker build command with a few build arguments; tags as both verson and latest picking up build version from the VERSION file.


Does not execute docker build. Instead modifies the Dockerfile replacing in-place values from the Dockerfile.tmpl with label values. This should be done prior to a tagged release.


Used in order to reinstate the normal Dockerfile for continuing development. Utility function only.

Development Process

  • Create a new release branch
  • Change directory to the build directory
  • Bump the version number in build/VERSION
  • Run $ ./ restore to set up a clean Dockerfile
  • Make any required changes to build/Dockerfile.tmpl
  • Run $ ./ build to build current tag and latest
  • Once all the work is complete, run $ ./ release
  • Merge and tag the release

Docker Pull Command
Source Repository