Encrypt an existing Linux installation with zero downtime (LUKS on LVM)

During the bi-yearly review of my setup, I realized I was running a Linux machine without full disk encryption. The encryption of the disk needed to be done ASAP, but I was not willing to reinstall the whole operating system to achieve that. Solution? I came up with an interesting way to encrypt my existing … Continue reading Encrypt an existing Linux installation with zero downtime (LUKS on LVM)

Scaling to 100k Users | Alex Pareto

Many startups have been there – what feels like legions of new users are signing up for accounts every day and the engineering team is scrambling to keep things running. This is a good introductory post on architecture scaling. Definitely an interesting read that presents the concept behind scaling in a short, comprehensive, and meaningful … Continue reading Scaling to 100k Users | Alex Pareto

How a Terraform + Salt + Kubernetes GitOps infrastructure enabled a zero downtime hosting provider switch

The switch It has been a busy weekend: I switched the hosting provider of my whole cloud infrastructure from DigitalOcean to Hetzner. If you are reading this it means that the switch is completed and you are being served by the Hetzner cloud. The interesting fact about the switch is that I managed to complete … Continue reading How a Terraform + Salt + Kubernetes GitOps infrastructure enabled a zero downtime hosting provider switch

How I stay on top and process my professional email with IMAP Flags, Sieve and Thunderbird

At my current job, I am lucky enough to choose which mail user agent I can run to process my professional email: after a lot of experiments, I decided to stick with Thunderbird, because it is open source and it can be heavily customized. It seems, though, that I am not the only one to … Continue reading How I stay on top and process my professional email with IMAP Flags, Sieve and Thunderbird

Startup order in Docker containers

Motivation I recently dealt with an application that is comprised of multiple services running in containers. Even though every part of this application is correctly split into each separated microservice, the independence of each service is not enforced. This lack of independence has several drawbacks, one of which is that containers must be started by … Continue reading Startup order in Docker containers

On servers timezone and tmux

A while ago I was fighting with a timezone set on a server because of the daylight saving time kicked in: during the ghost hour I had troubles with finding automated jobs. Moreover, the server was located overseas and depending on when I was checking the remote date and time, I could get a different … Continue reading On servers timezone and tmux

Automatic (or unattended) upgrades in openSUSE, CentOS and Fedora, Debian and Ubuntu

Each one of us is a system administrator: for at least your workstation (or notebook) you can decide when and how to administrate it. In the special case in which you are being elected to administer servers too, the matter becomes thorny: what is the workflow in terms of patching, time of reaction to security … Continue reading Automatic (or unattended) upgrades in openSUSE, CentOS and Fedora, Debian and Ubuntu

Send an email from a Docker container through an external MTA with ssmtp

I packaged a standard application (think of it as a standard PHP or <insert your preferred framework here>) into a Docker container. So far, it was working flawlessly, but then a problem arose: send an email from the Docker container (the event is triggered within the container). As you may know, a good Docker container … Continue reading Send an email from a Docker container through an external MTA with ssmtp

A comparison between browser features on desktop and mobile iOS

I am a long time user of Firefox and Chrome on desktops (GNU/Linux and macOS), while I rely on Chrome on my iOS devices. Recently there has been some valid critics of Chrome and its privacy choices and I began to look around for an alternative of Chrome. I identified a list of features that … Continue reading A comparison between browser features on desktop and mobile iOS

Preventing Docker from manipulating iptables rules

By default, Docker manipulates iptables rules to provide network isolation: Chain FORWARD (policy DROP) target prot opt source destination DOCKER all — 0.0.0.0/0 0.0.0.0/0 […] Chain DOCKER (1 references) target prot opt source destination I don’t mind having my iptables rules for forwarding manipulated, but there is a caveat: when you expose a container (with … Continue reading Preventing Docker from manipulating iptables rules