After some extensive and rather unsuccessful attempts to get Grav working the way I wanted for this small personal website, I’ve decided to migrate my site over to Jekyll.

The decision came down to a few points:

Cost

To host my old web site I had been paying for a small Ubuntu VPS from RAMNode. Even though it was on the low end of their available VPS packages, costing $7 each month, I was ending up paying for more horsepower than this modest site ever needs. I could have downgraded to one of the tiny VPS machines, which cost $15 each year, but at a certain point maintaining a server and having even the minor concerns of keeping it up to date and secure just to host an nginx process seemed totally overkill.

Git storage

The promise of being able to use Grav’s flat file format and storing site content into a Git repo never quite panned out for me. Especially after the addition of Grav’s admin panel, storing only the /user directory in a git folder meant that there was a constant stream of out of sync plugins versions and dependencies, I felt like I wasn’t able to quite focus on the content on the site, rather than the plumbing. With Jekyll, I can keep the site sources and the generated site HTML pages without worrying about keeping things updated.

AWS sandbox

I’ve been trying to get into Amazon’s AWS for some time. This seemed like a natural way to edge into it by taking advantage of AWS’s free tier capabilities. I knew from a few other articles that it was possible to use S3 to host Jekyll’s generated static content for basically (and literally) pennies. With AWS as an IaaS, the only thing I have to worry about how much bandwidth my site uses; for my small bandwidth site, I expect to make my annual web hosting bills less than $10. Also, I will not have to worry about a VPS going down, any security issues, and so on.


Getting Jekyll up and running on a Windows machine is not as easy as it should be, as is often the case with these open source tools. I eventually just used the steps here to get it up and running. Now I’ve got a quick platform to just write posts, let Jekyll compile it to a static page each time I save my Markdown files, and then just drop the resulting files into my S3 bucket. Easy peasy.