Site Migration to Ghost / Docker Swarm

Site Migration to Ghost / Docker Swarm

Oh hey there.

It's been a while since I've done anything useful with this site, so I'm making myself a late new year's resolution to start writing content again.

For the last few months I've spent a lot of time educating and reskilling myself in the area of DevOps (or ProdOps). I find practical projects are a great way to learn, so I set myself the task of retooling my home lab to accommodate both VMs in Windows (Hyper-V) and containers in Ubuntu Linux (Docker / Kubernetes). This gives me the flexibility to stand up any environment I might need:

  • Reproduce customer issues
  • Evaluate products / software
  • Reduce the time taken to learn something

The last is a big one for me. How many times have you been put something on the backburner because it would require you first set up a dozen prerequisites? Containerization has mostly solved this. For example, you wanted to set up a Graylog server? Cool, have fun setting up ElasticSearch and MongoDB first. OR, just use a docker-compose to stand up the whole lot in around 10 seconds. Anyway, I disgress...

This site was being hosted on Wordpress, on a seriously underperforming linux VM that I had limited access to. After a bit of research, I opted to move to self-hosted on Ghost, on my home lab. I have a slew of services I was running on a Windows server which would be much more performant in a containerized environment - so adding Ghost to that list wasn't that big a deal. After that, I manually migrated a few blog entries but ultimately opted to trash most of the content and start from scratch.

This site is now running alongside 13 other services in Docker Swarm on my home lab, behind a reverse proxy, each with enforced SSL and a valid certificate from LetsEncrypt. The performance is stellar in comparison to Wordpress, and I can easily stand up new VMs or containers without interference to the existing services.

I want to work on building an ARM based Kubernetes cluster using Terraform and Ansible to provision and configure the whole thing. First, I need to buy myself some hardware though. Once I start the process, I'll document and add some new stuff here.

Tags :

Dan Cunningham

I'm Dan. I work in IT. And I know some stuff about infrastructure deployment, management and security. I should do at least - I've been doing this for around 20 years.