Reviving the Blog, 2021 Edition
If you're reading this, that means that you've (re)found my blog, which has been offline since mid 2019. The previous incarnation of it was hosted on a low-end box - a good place to find deals for cheap web hosting, but a lot of the services there are very fly-by-night. I paid $32 back in December 2017 for a year's access to a 4GB OpenVZ virtual machine through a company called HostMyBytes; I didn't expect it to be particularly performant or have great uptime, but for a personal site that seemed Good Enough. I ran a simple Wordpress blog on it and probably had a few other things available via SSH. It was even good enough to renew for a year.
In April 2019, I got an email that HostMyBytes was being acquired by AlphaRacks. I didn't think that much of it at the time, but at some point shortly thereafter AlphaRacks simply disappeared off the internet, taking my website with it. Of course I didn't have backups.
I honestly didn't have a good reason to revive it. I think I'd written a single blog post in the prior decade. Every once in a while a friend would tell me that my domain name seemed broken, but I just never took the time to revive it - until now.
In bringing it back, I decided to try a few things out:
- I wanted to revive as much of the content as possible. Not that I think there's a lot of valuable content in my back catalog of posts, but I consider myself a digital archivist and given it's so cheap to store, why not have it around just in case I want to go back and see what I was thinking about circa 2003?
- I wanted this site to be extremely low maintenance if I choose to ignore it for a few years. Given it took me years to revive this blog, I wanted to minimize the chance it would break again and require more of my time.
- I wanted it to be easy to backup and transform the content to match future needs. In case things did break, or I wanted to change how it was setup, it should be easy to migrate the content to whatever the next platform is.
For me, this naturally led me in the direction of static site generators. I was looking for something that'd support a repository of markdown documents representing blog posts, transform it into some decent-looking HTML, and then find a web hosting option that only needs to host static content. I ended up with Zola and Vercel for the generator and hosting platform, respectively. The rest of this post goes into some of the details about what I thought setting it up.
Zola
I'm not going to lie: part of what attracted me to Zola was that it was written in Rust - I haven't actually learned that language but it comes well-regarded by a number of colleagues, and if it meant I had an excuse to learn a little bit to hack on it, great! As-is, I haven't actually needed to do so - the fact that rust builds static binaries means that barring me wanting to change something about the underlying framework, there was virtually nothing to do from an installation standpoint. Getting started was exceptionally easy.
Once I had proven I could generate pages, I went through the somewhat painstaking process of reclaiming all my content. Thanks to the good folks at The Internet Archive I was able to load copies of every single blog post and rescue the text, images, and metadata from them.