Friday, November 21, 2025

Rocky Linux - Basic Operational Procedures

Rocky Linux is an open-source, community-driven Linux distribution designed to be a bug-for-bug compatible downstream rebuild of Red Hat Enterprise Linux (RHEL). It aims to provide a stable, predictable, and enterprise-grade operating system, especially for servers and production workloads.

In this blog post we will document basic Rocky Linux operational procedures.

Thursday, October 23, 2025

Mailcow update

I'm running Mailcow mail stack for my own domain. I wrote a blog post about Mailcow install here. I have to say that it is pretty nice mailstack for my personal use. It has a significant hardware requirements (2x CPU, 4 GB RAM, 100 GB HDD) but it works pretty well and the most important is that simplicity of operations because I do not want to spend hours with mail server administration.

I recently realized, my Mailcow stack is outdated and there are available updates. I decided to make my first Mailcow update and it was pretty straightforward. Here is the procedure.

Saturday, October 11, 2025

How to install and use DBeaver in Ubuntu aarch64

DBeaver is a free, open-source database management tool for personal projects. Manage and explore SQL databases like MySQL, MariaDB, PostgreSQL, SQLite, Apache Family, and more.

I have Ubuntu running in Virtual Machine in macOS with Apple M4 Silicon, therefore I have ARM-based Ubuntu (aarch64). 

In this blog post I will show DBeaver installation install and basic usage.

How to expand disk in Ubuntu

I have Ubuntu OS running within VM in VMware Fusion (macOS) so expanding disk from 50 GB to 55 GB is pretty easy. Let's demonstrate the expansion process.

Sunday, September 14, 2025

How to install dockerized HAProxy with ACME and backed by NGINX with PHP

HAProxy (short for High Availability Proxy) is an open-source software that acts as a load balancer and proxy server for TCP and HTTP-based applications. It is widely used in both small and large-scale production environments to improve performance, reliability, and scalability of web and application services.

Any L7 load balancer (reverse http proxy) nowadays is used for SSL/TLS termination and very often with combination with ACME (Automatic Certificate Management Environment).  

How ACME works? Below is the simplified process ...

  1. Account Setup
    • Your ACME client (like Certbot, acme.sh, or HAProxy’s built-in ACME support) registers with the CA.
  2. Domain Validation
    • The CA challenges the client to prove it controls the domain (HTTP-01, DNS-01, or TLS-ALPN-01 challenge).
    • Example:
      • For HTTP-01, the client places a special token on your web server, and the CA checks it.
      • For DNS-01, the client places a special token on your DNS server, and the CA checks it. 
        • acme.sh creates a TXT record value that must be placed under
          • _acme-challenge.uw.cz
  3. Certificate Issuance
    • Once validated, the CA issues an SSL/TLS certificate automatically.
  4. Renewal
    • The client renews certificates before they expire, often without human involvement.

I use DNS-01 CA challenge, therefore integration with DNS provider is necessary. I use Active24.cz DNS provider. 

For my personal load-balancer I use VM with 2 vCPUs, 2 GB RAM, 10 GB vSSD, 1x vNIC, Linux OS - Debian 13.0

If you are interested how to install and configure above solution, keep reading.

Saturday, August 30, 2025

How to install dockerized Mailcow with ACME DNS-01 Challenge

Mailcow is a self-hosted mail server suite (Postfix, Dovecot, Rspamd, SOGo, etc.) packaged with Docker, so installation is pretty simple and mostly about preparing your server, running Docker Compose and set your DNS records correctly.

For my personal mail server I use VM with 2 vCPUs, 8 GB RAM, 100 GB vSSD, 1x vNIC, Linux OS - Debian 13.0

If you are interested how to install and configure it, keep reading.

Friday, August 8, 2025

How to install dockerized powershell on Ubuntu 25.04?

I’m running Ubuntu 25.04 Desktop on ARM64 CPU and I want to run certain software in Docker containers. One of them is Microsoft PowerShell, as various vendors (such as VMware, Veeam, and others) provide PowerShell modules and cmdlets for managing their technologies.

Installation procedure how to enable Docker

# Install Docker 

sudo apt install docker.io

# Install Docker Compose 

sudo apt install docker-compose 

# Add user to docker group to allow particular user to use docker

sudo usermod -aG docker dpasek
newgrp docker 

# Start and enable docker service

sudo systemctl start docker 
sudo systemctl enable docker

Installation procedure how to enable PowerShell

# Get the PowerShell image

docker pull mcr.microsoft.com/powershell:mariner-2.0-arm64

# Create directory for keep PoweShell scripts stored on docker host

mkdir /home/dpasek/scripts 

# Run PowerShell in interactive mode

docker run -it -v /home/dpasek/scripts:/root/scripts mcr.microsoft.com/powershell:mariner-2.0-arm64

Create PowerShell wrapper

cd /home/dpasek 
echo "docker run -it -v /home/dpasek/scripts:/scripts mcr.microsoft.com/powershell:mariner-2.0-arm64" > pwsh.sh
 

Run PowerShell wrapper

 cd
./pwsh.sh 


Rocky Linux - Basic Operational Procedures

Rocky Linux is an open-source, community-driven Linux distribution designed to be a bug-for-bug compatible downstream rebuild of Red Hat Ent...