Postgres replication part 1 (of potentially 1)
As is often the case when dealing with servers, there are outdated versions. The reason is almost always the same: there wasn't enough time to keep things up to date.
It makes sense — sticking to the LTS of anything is hard work. You have a working system, and even if it's a fairly uncomplicated beast, updating dependencies to a new version is rarely simple. It might seem like everything is fine, but then on a Saturday at 01:30, things start breaking down because that once- in-a-blue-moon event without a unit test executes — and it depends on that one deprecated functionality nobody really needed.
Fail2ban
When you're running a very simple website such as this, and you're running, say, nginx and sshd, you're going to attract a fair amount of unwelcome traffic. In fact, in all likelihood, the majority of your traffic is likely to be bots looking for ways to take over your server.
If there was something really important on your server, you'd obviously not expose it to the internet. You'd have firewalls, load balancers, cache servers, etc., and only valid traffic would ever reach the server. That costs a fair amount of money compared to a simple VM, so it's likely not making much sense to do for a blog few will read.
Hugo configuration
I'm using Hugo to render this site, slightly self harming but using Emacs org-mode for the templates instead of Markdown. There are some things that I've found confusing that might help somone else.
Being a bit anal I've split up my configuration into different files. It doesn't make much sense to do so for a small site like mine but it's possible and who knows, one day I might have plenty of pages and even want to have a staging environment.