Docker image for running GitHub Pages / Jekyll projects.
GitHub Pages are public webpages hosted and published directly through your GitHub repository.
This image makes it easy to run you GitHub Pages page locally while developing –
refreshing changes automatically as you make them. All you need to do is to mount
your page in a volume under /usr/src/app
like this:
$ docker run -v "$PWD":/usr/src/app -p "4000:4000" starefossen/github-pages
And you Jekyll page with be available on http://localhost:4000
.
Remember to add all the gems to your _config.yml
file in order to get all the
different things to work correctly:
repository: your/repo
gems:
- jekyll-github-metadata
- jekyll-mentions
- jekyll-redirect-from
- jekyll-sitemap
- jemoji
Also, in order for the {{ site.github }}
metadata variables to be poppulated
you need to set the JEKYLL_GITHUB_TOKEN
environment variable with your GitHub
token.
$ docker run \
-v "$PWD":/usr/src/app \
-e JEKYLL_GITHUB_TOKEN=my-github-token \
-p "4000:4000" starefossen/github-pages
The starefossen/github-pages
images come in two flavors, each designed for a
specific use case.
starefossen/github-pages:<version>
This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
starefossen/github-pages:onbuild
This image makes building derivative images easier. For most use cases, creating
a Dockerfile
in the base of your project directory with the line FROM starefossen/github-pages:onbuild
will be enough to create a stand-alone image
for your project.
This Docker image is licensed under the MIT License.
Software contained in this image is licensed under the following:
- github-pages gem: MIT License
- github-metadata gem: MIT License
- jekyll: MIT License
- ruby: 2-clause BSDL
- iojs: MIT License
This image is officially supported on Docker version 1.6.1.
Support for older versions (down to 1.0) is provided on a best-effort basis.
If you have any problems with or questions about this image, please contact us through a GitHub issue.
You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.
Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.