Hello

Hello

As a way to put my competence up for display to the world, I decided to create this blog. It uses the CMS tool Ghost. It is a very apt name, because that describes my digital footprint. If you don't have any social media accounts, you are de facto a ghost.

So, to get a bit technical, I'm going to describe what tools and services I used to deploy this tiny micropublishing part of the internet.

First of all, I bought the domain via gandi.net almost a decade ago. A few days ago, I edited the A name of *, @, and www to point to a recently purchased VPS hosted by swehosting.se. I have no deep experience from their services prior to this, but so far they seem fantastic. They use Proxmox as a hypervisor and deploy virtual machines on demand. It's a tool I am familiar with from other projects. One of them consisting of my very over engineered router/firewall, but that beast will cover a whole article on its own.

When I first bought the VPS, I noticed that swehosting does not provide Arch as an alternative among the installation ISO's. At first I attempted to install Debian, and then morph it into Arch by mounting a tempfs, bootstrap a tiny Arch environment on it, unmounting the main hard drive and then install Arch on it. Unfortunately it didn't quite work as I hoped, so I asked swehosting if they could add the Arch ISO instead. I got a reply almost immediately that they had mounted the ISO for me. From there the installation was as straightforward as always. Well, with one tiny exception. I couldn't get the internet to work.

It worked when booting to the Arch ISO, but not on my installed environment. At first I couldn't for the life of me understand why, but the more I read the logs, the more I understood how it all was tied together. Since it's a virtual machine, there apparently is this thing called cloud-init. Never heard of it before, but the article in the Arch wiki told me all I needed to know. I also noticed in the logs that cloud-init uses systemd-networkd and systemd-resolved to set up the network and the DNS. A few head-to-the-wall-bangs later and I had it all figured out.

When I had my Arch environment up and running, I installed NGINX, Docker, and Docker Compose. Then I used certbot to provide a certificate for my domain. From there I created a docker-compose.yml using the example from the official Docker image at Docker Hub and made a few tweaks to satisfy my needs.

And here I am now. And now I write this sentence. And this sentence. And this one. Also this one...