Self-hosted Blog in two weeks

Last updated on

Nearly all holidays I pick a technical project to work on. This summer I graduated general school (Abitur) and I choose Server Hosting and Kubernetes. I started with a single server at home for Home Assistant and ended up with multiple servers in multiple locations. In a few weeks University will be starting. To end probably the longest free time I will ever have I want to create a small blog.

Picking a Framework

Because it would be a static site, I had to choose between these web frameworks: Hugo, Eleventy or Astro. With all of them you write Markdown which gets converted to HTML and CSS.

Hugo is very fast and that is why many big documentation sites use it. But it uses Go-Templates which can be hard to customize.

Eleventy improves on flexibility of Go-Templates.

But Astro is best for the learning value. It uses JSX similar to React or other framework. Most frameworks can be used inside Astro and it still compiles to static HTML. It is therefore very flexible and modern, that’s why I picked it.

Schedule

First Week

Foundation of Blog

  • Dark/Light mode switch
  • Hovering the title “deanqx” shows a “cd /”
  • Home page showing short description and highlighted blog post
  • Blog page
  • Icon with “qx”

Second Week

Hosting

The Kubernetes Cluster is already set up and running.

  • Integrate CI pipeline (GitHub Actions was chosen)
  • Write Blog post about Cilium problem
  • Write Blog post about My first Github bug report: OTBR

Reflexion

In hindsight this plan fitted surprisingly well. Although more polishing is still needed. A Grafana dashbaord for traffic analyses will be added in the future.