Containers

How to Set Up a Private Docker Registry on FreeBSD 14 — step-by-step FreeBSD 14 tutorial on Progressive Robot

How to Set Up a Private Docker Registry on FreeBSD 14

Introduction This guide explains how to Set Up a Private Docker Registry on FreeBSD 14 on FreeBSD 14. FreeBSD uses the pkg(8) binary package manager, rc.conf(5) for service startup configuration, and pf(4) as its primary packet filter. There is no SELinux or AppArmor — instead, FreeBSD provides the MAC (Mandatory Access Control) framework and Capsicum […]

Read more
How to Configure Docker Daemon TLS Encryption on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Docker Daemon TLS Encryption on RHEL 9

By default, the Docker daemon socket (/var/run/docker.sock) is a Unix socket accessible only locally. When the Docker daemon needs to be accessible over the network — for remote Docker management, CI/CD pipelines connecting to a remote build host, or Docker Swarm cluster communication — TLS encryption must be configured to prevent man-in-the-middle attacks and unauthorised […]

Read more
How to Install Go 1.22 on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install Go 1.22 on RHEL 9

Go (Golang) is a statically typed, compiled systems programming language developed by Google. Its primary design goals are simplicity, fast compilation, and excellent concurrency support through goroutines and channels. Go compiles to a single statically linked binary with no runtime dependencies — deploying a Go application means copying a single binary to the target server. […]

Read more
How to Harden the Linux Kernel with sysctl on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Harden the Linux Kernel with sysctl on RHEL 9

The Linux kernel exposes hundreds of tunable parameters through the sysctl interface that control network behavior, memory protection, and file system security. Many of these defaults prioritize compatibility over security. By writing a hardening configuration to /etc/sysctl.d/, you can reduce the kernel attack surface, enable mitigations against common network attacks, and enforce memory safety features […]

Read more
How to Set Up Uptime Kuma for Service Monitoring on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Set Up Uptime Kuma for Service Monitoring on RHEL 9

Uptime Kuma is a self-hosted monitoring tool that provides a clean web dashboard for tracking uptime across HTTP endpoints, TCP ports, DNS records, Docker containers, and more. On RHEL 9, you can run it directly with Node.js and PM2 for process management, or deploy it instantly via Docker. This tutorial walks through both approaches, firewall […]

Read more
How to Install ArgoCD on Kubernetes on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install ArgoCD on Kubernetes on RHEL 9

ArgoCD is a declarative, GitOps-based continuous delivery tool for Kubernetes. In the GitOps model, Git is the single source of truth for both application code and infrastructure configuration — when a developer pushes a change to a Git repository, ArgoCD automatically detects the change and applies it to the Kubernetes cluster, keeping the live cluster […]

Read more
Common Problems 114490

Podman Image Pull Fails with TLS Certificate Error

🟡 Medium   ⏱ 5–30 min  Last verified: 7 May 2024 📖 ~1 min read Table of contents Symptom & Impact Environment & Reproduction Root Cause Analysis Quick Triage Step-by-Step Diagnosis Solution – Primary Fix Solution – Alternative Approaches Verification & Acceptance Criteria Rollback Plan Prevention & Hardening Related Errors & Cross-Refs References & Further […]

Read more
How to Use Docker Volumes and Bind Mounts on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Use Docker Volumes and Bind Mounts on RHEL 9

Docker containers are ephemeral by default — all data written inside a container is lost when the container is removed. Docker provides two mechanisms for persisting data and sharing files between containers and the host: volumes (managed by Docker, stored in /var/lib/docker/volumes/) and bind mounts (map a host directory directly into a container). Volumes are […]

Read more
How to Install and Use Podman with systemd Socket Activation on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install and Use Podman with systemd Socket Activation on RHEL 9

Podman is RHEL 9’s default container engine and, unlike Docker, runs entirely rootless and integrates natively with systemd. Socket activation is a systemd feature that lets the kernel hold a listening socket open while the service is stopped; the moment the first connection arrives, systemd starts the corresponding service and hands the socket over. This […]

Read more
How to Install and Configure cAdvisor for Container Monitoring on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install and Configure cAdvisor for Container Monitoring on RHEL 9

cAdvisor (Container Advisor) is an open-source daemon from Google that collects, aggregates, and exposes resource usage and performance metrics for every running container on a host. Unlike Docker’s built-in docker stats, cAdvisor exposes its data in Prometheus format, making it a natural fit for scraping alongside Node Exporter. This tutorial covers running cAdvisor on RHEL […]

Read more
CHAT