I had a much neglected Raspberry Pi server dishing up my internet services for the last few years. Our electricity service would abruptly stop once or twice a year and each time I would have to go to the console and key in a password and manually run fsck to fix things up. Apparently ignoring problems doesn’t make them go away, and after about 3 years of this, it would boot - but nothing worked properly anymore.

Just to excuse myself - I do know better. This is a case of the shoe-maker’s shoes. So I decided to fix things once and for all. I installed a new version of devuan (more about this later). I then made sure my boot worked perfectly without intervention. This turned out to be a root-mount race condition which was solved with a cmdline fix. I then added a watchdog which would reboot the Pi if some strange condition caused a freeze up. I also made sure my UPS was working (and tested it). Then I made my root partition read only for additional security and reliability.

I had all my “stuff” in /var and /home on an external spinning-platter hard drive from Western Digital - so I hoped to restore all my services by installing new versions of same, and pointing the various configurations to the right places.

Wordpress was one of those services. I got a bunch of it reinstalled. I struggled mightily with apache’s conf and mod files, and I couldn’t for the life of me get anything but a blank page for my blog. After a couple of days of this, I decided that life was too short for this. I wanted to write, blog posts. Not muck about with config files and virtual hosts for long nights.

I scouted around for alternatives. In particular, “static site generators”. These are tools that take your content, run some magic over it, and produce a ready to serve, simple static web site. This is as opposed to Wordpress which stores your stuff in a database, and reads out the content on demand when people visit your site - a dynamic process. This is far more secure, but lacks some features. That said, you can do a lot with a static website, as I hope to demonstrate.

I started with Jekyll, which I found on a “top alternative blog-hosting systems” site. This is a ruby based generator that makes keeps everything in simple directories and text files, uses markdown for formatting, and makes use of templates written in Liquid.