Skip to content

Latest Posts

Installing Podman for managing containers and running container with dynamic DNS client for Cloudflare

Introduction

Podman is a Docker alternative with distinction that it is a daemonless container engine and containers created with Podman can be run by regular users without root privileges. This enhances security because if a process escapes container, it won't run on the host with root privileges but with user privileges running the container. If it's so secure, why is Docker still popular? The answer is that the daemonless architecture of Podman makes it more complex to manage, especially set up containers to run with every system start. Also there is less documentation available for Podman compared to Docker, so this post will try to summarize how to create functioning Podman host.

OS used: Debian 12
Software used: Podman 4.3.1

Installing a single node K3s Kubernetes distribution

Introduction

K3s is a lighter variant of Kubernetes distribution than RKE2, which was discussed in previous posts. It is well-suited for single node homelab environments or IoT deployments where resource efficiency is important. Based on my testing, K3s consumed less CPU in an idle state than RKE2. In this blog post I will show how to install K3s.

OS used: Debian 12
Software used: K3s 1.30.5

Installing GitLab as a self-hosted git repository

Introduction

Having Git repository in your homelab is a good idea for storing code for various projects. For a lightweight option similar to GitHub, consider the Gitea project. GitLab is another option, offering a more feature rich experience, though it is more resource intensive. This post will concentrate on installing GitLab Community Edition.

UPDATE 2026-04-26: Added instruction how to automatically reload nginx configuration after obtaining new SSL certificate.

OS used: Debian 12
Software used: GitLab Community Edition 17.4.2

Obtaining Let's Encrypt certificate using Cloudflare

Introduction

HTTPS is the current standard for secure access to webpages, even in your homelab environment. However, most self-hosted applications by default use HTTP. To enable HTTPS you can use self-signed certificates, but then when accessing application, you will be prompted to trust self-signed certificate. On some devices like Android, this can be very troublesome because you need to trust self-signed certificate every time you open webpage. To solve this problem you need to add RootCA certificate to the system, which is also a troublesome process. Less troublesome solution is to use Let's Encrypt certificates. In this post, I will show you how to obtain such certificate for single host in your homelab.

UPDATE 2025-11-15: Added paragraph "Bonus - Copying certificates" at the end of article describing how to auto copy certificates to other directories.

OS used: Debian 12
Software used: certbot 2.1.0

Fast initialization of Debian VM using Ansible

Introduction

Virtual machine deployment in Proxmox can be achieved faster by creating virtual machine template with desired settings and then cloning this machine. This new virtual machine requires some changes after cloning so to speed-up this process Ansible can be used. Example how to do this will be shown in this article.

Software used: Proxmox 8, Debian 12 cloud image, Ansible 2.14.3

Quick deployment of Debian cloud image in Proxmox with cloud-init

Introduction

This post demonstrates how to quickly create and afterwards clone virtual machine in Proxmox using Debian cloud image. When not using cloud image, more time must be spent after cloning virtual machine: you need to recreate SSH keys (cloning virtual machine doesn't change host SSH keys and that can cause problems with SSH connection to VMs cloned from same template machine), create new user with SSH access, change partition size when you resize disk in Proxmox, set hostname. All of this can be easily achieved with Debian cloud image because it is using cloud-init and Proxmox has built in support for it. This instruction is for creating virtual machine from cloud image on Proxmox with ZFS filesystem.

Software used: Proxmox 8, Debian 12 cloud image