This blog post is a short guide to build from source a metasploitable3 disk image for qemu kvm (qcow2 format), and then how to use the built image.
This post is a guide to install archlinux in UEFI with full disk encryption (LVM on LUKS), SELinux enabled and optionally secure boot.
Warning: apparmor is much easier to use on archlinux, SELinux on archlinux will require you to write some policies manually. Fedora is a better solution if you want SELinux working out of the box and don’t want to fight SELinux writing policies. This guide is mostly for advanced users.
This post is about why you shouldn’t use discord and which alternatives exist.
(last update 23/01/2026)
I recently got a raspberry Pi 5 with 8GB of RAM and wanted to install Kodi on it. OSMC isn’t available for the Pi 5, and I didn’t want to use LibreELEC to still have a debian base and be able to run other scripts and services from the Pi. In this blog post I’ll show you how I did this installation.
In this blog post I’ll show you how to run jellyfin with podman and how to use hardware acceleration with a NVIDIA GPU and without disabling SELinux isolation for the container.
In this blog post I’ll show you how to run qbittorrent in a podman (in rootless) container and route its traffic through a VPN connection, in this case ProtonVPN.
On my computer I use archlinux with NetworkManager and QEMU/KVM with virt-manager for virtual machines. In this blog post I’ll show you the steps to set up a bridge for the virtual machine. With a bridge on the host instead of the virtual connection NATed to a device, each virtual machine will have its own IP address on the network the host is connected to.
On my server I self host Overleaf with containers (podman) and Overleaf requires MongoDB as a database. Each version of Overleaf has a minimum required version of MongoDB and therefore you might have to upgrade your MongoDB container at one point. I’ll explain step by step how I did it in my case.
In this blog post I’ll explain why you should use SELinux (or at least an implementation of Mandatory Access Control). Then how you can use SELinux, administer it, and install it on an existing system.
I have a corsair void pro wireless at my desk, this headset is quite old but it still works so I keep it. I just changed the earpads and head cushioning since I bought it. But it was the only peripheral I have at my desk forcing me to always have a micro USB cable laying around somewhere to charge it every now and then. So recently I decided to upgrade the charging port of my corsair void pro wireless headset from micro USB to USB C.
When downloading virtual machines they’re usually packaged in an OVA file (Open Virtual Appliance). An OVA file is actually just a single file archive with an OVF package inside.
An OVF package contains the metadata decribing the virtual machine (usually a .ovf file) and the virtual disks. The OVF standard doesn’t specify a disk image format.
Virtual machines made using vmware, virtualbox or Microsoft hyper-V are usually using disks in the vmdk, vdi or vhd/vhdx formats respectively, which are then packaged in the OVA file. However, while QEMU/KVM can read them, there are not the prefered formats. We’ll see here how to convert them to a more appropriate format.
On my server I self-host quite a lot of services but only have 5900rpm HDDs for the data, and a SSD only for the OS and binaries.
Sometimes these HDDs struggle to keep up with the I/O operations of all my services.
So in this short blog post I’ll show you the troubleshhoting steps to find the culprit of a high disk I/O and how to limit its disk usage.
On my server I self-host nextcloud with a PostgreSQL database and this container image docker.io/library/nextcloud:fpm-alpine.
Finally decided to serve posts on my website generated with Jekyll, so without any surprise my first post is about Jekyll.