Docker And Githubpages
GitHub Pages have some great features that I’m excited about. Markdown makes writing code-centric blog posts easy. Storing posts in git is great – history, diffs, and no need to learn a new tool. Not to mention simple hosting by GitHub.
There’s just one minor issue, setting up a decent environment on a Windows machine can be troublesome if you’re not alread a Ruby developer. I’ve tried twice now and run into issues both times. Multiple versions of Ruby, non-Windows friendly libraries, failed SSL certs, and probably a few more things that I’ve forgotten. Next I thought I’d try it on Linux on Windows. For the most part that worked well, except some auto-reload features didn’t work well.
It’s almost as if I would be better off trying to run the environment on a Linux machine. Seeing as I don’t have a spare machine and hate running VMs on my work laptop, I’m probably not running Linux any time soon.
All I really want is a preconfigured environment that I can download quickly and
not have to do anything to setup. Is that too much to ask? Apparently not.
Heading over to Docker Hub, I found several Docker Images
for exactly the environment I wanted. I blindly went with the one with the most
downloads. There was one
minor hicup. The instuctions use the Linux variable
$PWD to mount the volume
from the host machine to the Docker image. That just needed to be translated to
%CD%. With that down, I was able to point the browser on my Windows machine
localhost:4040/ and my website was up. I could edit any file with whatever
Windows tool I was comfortable with (ironically, Vim), save it
and my site would be regenerated.
@ECHO off ECHO Starting gpages container docker run -t --rm ^ --name gpages ^ -v "%CD%":/usr/src/app ^ -p 4000:4000 ^ starefossen/github-pages
@ECHO off ECHO Stopping gpages container docker stop gpages