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...