Keeping your VPN connections robust is essential, especially when using WireGuard tunnels for remote access, site-to-site links, or secure communications. Like many network admins, I’ve faced the frustration of a WireGuard tunnel dropping—often at the least convenient moment. Performing a manual restart on the MikroTik each time is time-consuming and error-prone. This article walks you through a fully automated solution: continuously check the connection from a Linux server and, if needed, remotely restart the MikroTik WireGuard server—using secure workflows and best practices.
Posts for: #Technical
My Experience: Ensuring Reliable External USB Storage
As someone who regularly experiments with homelab setups, I wanted to expand my storage by attaching a 2TB SATA drive in an externally powered AXAGON USB 3.0 enclosure to my Odroid H4 Ultra Pro (an x86 mini-PC), running Proxmox VE. On paper, with external power and a quality enclosure, I expected flawless operation—however, I encountered a range of classic USB storage issues. Here’s my real-world troubleshooting journey and the persistent solutions I adopted.
Monica CRM - SMTP SSL Certificate Verification Error
Monica CRM is a privacy-focused personal relationship manager. Successfully configuring outbound email is essential for notifications and automations. One of the most common issues for new users is encountering errors related to SSL or STARTTLS when setting up SMTP delivery. This guide provides step-by-step instructions, optimal configuration examples using environment variables, and explanations to help ensure your Monica CRM deployment sends emails reliably.
Evolution of DNS and the Cursed systemd-resolved
Looking back at our technical beginnings, most of us remember relying on the resolv.conf
file. This small but powerful file was our window into the world of DNS—it was our personal guide, helping us translate domain names into IP addresses. Every administrator, whether experienced or a novice, had to work with it at some point. Then systemd arrived, bringing systemd-resolved, and our beloved resolv.conf
started behaving like an old friend who suddenly decided not to be as reliable as we thought.
Self-Hosted GitHub Action Runner on Kubernetes
I recently set up a self-hosted GitHub Action Runner on Kubernetes using the Action Runner Controller, aiming for more control over my CI/CD pipeline. This involved configuring Kubernetes with DNS, ingress, and microk8s, and securing my private Docker registry with TLS and a custom Certificate Authority.
Create GitHub App and Secrets
On your repository, go to Developer settings and create and install a GitHub App. You will obtain the necessary details for creating a Kubernetes secret:
SSH in Visual Studio Code with KeePass
Remote SSH extension in Visual Studio Code allows you to directly edit files on a Linux machine and access the Linux console from your Windows workstation. For the best comfort when accessing a remote SSH server from Visual Studio Code, use KeePass with KeeAgent, which works as an SSH agent. Why Use KeePass and KeeAgent?
WebSocket Connection to WireGuard
In some countries (e.g. Egypt) or some hotels, VPN connections are blocked and the only possibility is to tunnel them through WebSocket. In this article, I will focus on that.
How I Used HashiCorp Vault and External Secrets Operator
When building a Kubernetes deployment for an application using MySQL, I initially considered using a ConfigMap
to store my database connection details. However, I quickly ran into a problem: ConfigMaps are not designed for sensitive data like passwords, and more importantly, I was using Argo CD for GitOps.
RPI Zero Ethernet Gadget Mode
Using USB Gadget Mode on Raspberry Pi Zero for SSH/RDP Access on Windows 11
The Raspberry Pi Zero is a versatile device that can be configured to act as a USB Ethernet gadget, allowing you to connect to it via SSH or RDP over a single USB cable. This is especially useful when you want a direct network connection without additional hardware. In this article, we will guide you through setting up the Pi Zero in USB gadget mode and installing the necessary Windows 11 drivers for seamless connectivity.
Loki, Promtail and Syslog
On my home server, I was slowly getting annoyed that I didn’t really have an idea of what was happening in the syslog, and when an application, for example, throws an Out of memory
error, I simply don’t know about it. That’s why I decided to send syslog to Promtail, which pushes it to Loki (Grafana) and processes it.