Running a scalable, fault tolerant, backed up, HTTPS secured, automate-able blog in 2020, for around €3,50 a month, is easier than ever.
Background When I set out to start this blog, I wanted to have a cost effective setup, which would also allow me to scale the blog in future if I somehow got a load of traffic I didn’t expect. In this post, I’m briefly going to go over a few of the points around the features that this blog has for it’s incredibly low price, and hopefully show that in this day and age, it’s pretty easy to run a site for a fairly low cost, while still being confident that it can be scaled up and support thousands of requests fairly easily and efficiently if required.
As I’ve mentioned before, this blog runs a very simple set up, literally 2 containers, Traefik itself, and Ghost, the blog platform. This means, that embarking on a migration from Traefik V1 to V2 for this blog was not such a daunting task!
I embarked on this project, and it was completed and up and running on V2 about an hour later! A really impressive feat, primarily brought on by the simple and effective configuration and setup of Traefik itself.
Having extensively used Concourse CI (https://concourse-ci.org/), Jenkins (https://www.jenkins.io/) and Gitlab CI (https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/) for various different situations in a work capacity, I decided to try something new with this blog, Github Actions!
With Github now having unlimited free private repos, and allowing one to use their actions platform for free (with some limits) - it seemed fitting to try and keep the codebase, as well as deployment infrastructure in the same place, without the need for an external CI/CD platform to manage this.
No way, two posts on one day!
Starting up a container with Docker, and exposing it via a hostname using Traefik is something that a lot of us are familiar with, however something that I myself did not realise, is that you can actually do basic HTTP auth on frontends that are registered with Traefik.
Why would you want to do this? I realise that there are much better ways to do auth apart from HTTP auth, however in a situation where you simply need to make sure that a user has some sort of password prompt before being given access to a service, (such as a web interface to something) then HTTP auth can be very effective.
Welcome to the first post on my blog! I am very new to this, so don’t expect anything too exciting just yet.
I started this blog to help convey everything I am learning on a day-to-day basis in some sort of interesting or helpful way.
For my first post, I thought the best idea would be to explain how I am running this blog, and where it is hosted. I will be going into more depth on each one of these services in future, in separate posts.