Feature request: link this repository to dockerhub
Until today, I have been using any of the many github-pages images out there. Today however, I encountered a bug in the latest versions, and I was trying to find where it came from. The bug is still there (something with an {% else %} not being recognised), and already reported, but while looking I also stumbled on this pages-gem repository, and saw the Dockerfile in there. This means there is an official docker image I can use. But it seems this repository is not yet linked to a dockerhub organisation. Would it be possible to link a dockerhub "github" organisation to this repository, so we could always have an up-to-date docker image on dockerhub?
Right now, I have forked this repository, to try and see if it was possible to use the repository as is in dockerhub. And yes, it takes only a few minutes to set up, but once it's there, it's free, needs no maintenance, and will automatically build a new image based on the latest tag, starting with the next tag you'll add to this repository. The setup I use:
Source repository: phpqa/pages-gem
Build rule 1:
Source type: tag
Source: /^(v[0-9.]+)$/
Docker Tag: {\1}
Dockerfile location: Dockerfile
Build Context (only available on edit): /
Autobuild: true
Build caching: true
Build rule 2:
Source type: tag
Source: /^(v[0-9.]+)$/
Docker Tag: {\1}-alpine
Dockerfile location: Dockerfile.alpine
Build Context (only available on edit): /
Autobuild: true
Build caching: true
This will build a docker image every time a new tag is added to the github repository. You can see the example at https://hub.docker.com/r/phpqa/github-pages-gem based on https://github.com/phpqa/pages-gem/releases/tag/v199
I use it with the following docker-compose.yml file, that will serve your site with a docker-compose up -d to 0.0.0.0:4000 (on a Mac, as there is a $PWD in there):
version: '3.7'
volumes:
website:
driver: local
driver_opts:
o: bind
type: none
device: $PWD/
services:
jekyll:
image: phpqa/github-pages-gem:v199
command: jekyll serve -H 0.0.0.0 -P 4000 --watch --force_polling --verbose
ports:
- target: 4000
published: 4000
protocol: tcp
mode: host
volumes:
- type: volume
source: website
target: /src/site
volume:
nocopy: true
You could also add some build hooks to also add a latest tag, but that would only be an improvement.
It seems this is not possible anymore, since the ARG RUBY_VERSION in the new Dockerfile has no default value.
the
ARG RUBY_VERSIONin the new Dockerfile has no default value.
@MetalArend that's been fixed by @ cdlewis in #706 :)