Yeah, I watched that movie ages ago. This blog post is in no way about it (or that Kronk is the best character hands-down). No, instead it’s, what a surprise, about my selfhosting! Whaddayaknow. Yeah, I know, this website and most of its blogs end up on the topic of (struggling with) selfhosting. And not so much programming. But! I am making progress. What have I been doing? Why am I posting about an emperor? Or his groove? Well…

Emacs

To make it short: I fell in love with a new editor, emacs! The configuration Emacs Kick got me started and in little more than a week, I was hooked. More on this experience should pop up in Configuring Emacs and any notes in that area. In short: the agenda is amazing, tools like Magit are a breath of fresh air and org-roam might just become the backbone of my entire work life.

Quartz

Of course selfhosting is nowhere without a place to, well, selfhost (should you write it with or without a dash? No! Stay focused…). Only a short while ago, that was zola. A wonderful static site generator (#SSG), but the Frontmatter I had to maintain for every blog post and the issues I had linking to other notes and pages, plus the time it would have taken me to make my own theme (which I was definitely considering), were taking me out of regular posts or edits. So I started thinking: what held me back? I figured out it was the Frontmatter maintenance and the issue of (back)linking. Enter Quartz, a SSG that shock respects Wiki-links, offers hover ‘Popover Previews and many more wonderful features (that ( haven’t tried out yet). As you can see, my website is built with Quartz! Not only should this allow me to more easily post here (for example, the order of blog posts can be managed both by file and Git datetimes as well as Frontmatter!), it might also become my ‘second home’ for all my notes, well, the ones that can be public ;)

Docker, Gitlab, Flask

So! Finally! Something to do with programming. Hallelujah! I am still working on my Python SOC project where I build a Flask app to help my SOC security analysis work. For the moment, I am working on:

  • Dockerizing the Flask app
  • Enabling and configuring the container registry in my Gitlab instance
  • Pushing a working Docker container of my Flask app to the registry
  • Configuring a working Docker container on my subdomain sec.joostagterhoek.nl where I used to manually host the Flask app with Gunicorn
  • Automate deployment (including) tests in a Gitlab CI/CD pipeline

So! Lots to do, but it’s been fun. Especially working with the Gitlab CI/CD (which I really should document) has been really educational: what information to hide (and how), how authentication works, how Gitlab-Runners work, etcetera. It’s some steps away from coding, but it is at the end of the day really essential: if your code doesn’t work and live somewhere, it doesn’t exist.