or how I finally automated updating a website

Ever get the feeling you are doing it all wrong?

That’s how I felt when I started this new website back in Q1/2017. How hard could it be to roll out content without having to maintain and secure a backend that isn’t needed most of the time?

Sounds an awful lot like the feature description of Static web pages 1 you say?

That’s because you are correct.

After wasting most of the previous year(s) I decided to give it all up and come to my senses.

Somewhat.

Thing is, after moving from the big city to the countryside I finally found the space for a homelab. And while the lady of the house isn’t too happy about the electrical bill, I can now declare myself to be on a mission. And after much Weeping and gnashing of teeth I finally managed to stabilize my network enough, to start with this endeavor.

What did we end up with? Let’s discover my Workflow from the Website end:

The Page you are currently reading is served by an NGINX Webserver (HTTPS only through Let’s Encrypt), running on a tiny VPS, hosted by Hetzner which is one of the few european hosters (and also the cheapest).

The Page Data is deployed to this VPS by a Drone CI runner. The subtasks describing this task are:

  1. Clone the repository from an in-house Gitea server
  2. Build the Webpage with Jekyll
  3. Deploy it to the VPS by rsync

This was all implemented and tested in many a long night. And it’s something you get totally for free if you use GitHub Pages.

Isn’t all of this exciting?