Articles

HDD preparation

Here are the steps to prepare a brand new hard drive and install a file system on it.
Linux

Bathroom occupancy monitor

Bathroom occupancy monitor thumbnail
One of the companies I used to work for had a serious bathroom issue: My floor had only three toilet stalls for about 200 employees. There were countless times when I would walk all the way to the bathroom only to find all stalls occupied. I built this simple system to quickly identify whether one or more stall were. It consists of an IoT sensor installed on the bathroom stalls' door and an indicator placed somewhere easily visible.
ESP8266IoTElectronicsProjects

Generic Kubernetes manifest for web application deployment

Deployment name, container registry and service port are externalized, making this manifest general-purpose
KubernetesDevOps

Self-hosted GitLab instance for DevOps on Ubuntu 18.04

GitLab provides a great number of tools needed for the DevOps cycle of an application. In this guide, we'll install a GitLab instance on our own server and configure it to fit our DevOps needs. Here, we will use a fresh install of Ubuntu 18.04 as a base.
WIPDevOpsTutorials

Express authorization middleware

Many applications require some form of authorization mechanism to prevent users from accessing restricted content. Authenticated users are commonly in possession of a cookie containing identification data. With the authentication microservice that I designed, this cookie contains a JWT that contains the user's username. This JWT is sent in the authorization header of HTTP requests. Thus, authorization can be performed easily within each application by simply decoding the JWT. To do so, I designed this simple middleware for ExpressJS.
ProjectsSecurityNPMExpressNode.js

GitLab CI

GitLab CI is a feature of GitLab that allows users to have actions triggered upon pushing a repository to it's remote. For example, it can be used to execute all tests defined in the code, containerize the application and deploy it. A popular alternative to GitLab CI is Jenkins.
GitLabDevOps

A GUI for ChartMuseum

A GUI for ChartMuseum thumbnail
ChartMuseum is an open-source Helm chart repository server which can be used as a self-hosted alternative to Artifact Hub. Although it originally consists of only a server-side application to be interacted with via a REST API, its official UI, ChartMuseumUI, can be deployed to interact with ChartMuseum graphically. Unfortunately, ChartMuseumUI seems to be broken and the GitHub repository has been inactive for years now. Thus, I decided to make my own GUI for ChartMuseum.
ProjectsHelmSvelte

NodeJS app dockerization

NodeJS apps can be containerized using the <code>docker build</code> command. This article is based on <a href="https://nodejs.org/de/docs/guides/nodejs-docker-webapp/" rel="noopener noreferrer nofollow">this guide</a>.
Node.jsDockerTutorialsDevOps

Docker restart container when docker restarts

Simply add the following flag when using docker run
TutorialsDocker

Vue3 Options vs Composition API

This article presents code snippets illustrating how to transition from the Options API to the Composition API in Vue 3.
TutorialsVue.js