Posts

How to forward all VLANs to a KVM virtual machine using Open vSwitch (OVS)

By default, documentation suggests sending all traffic via OVS. This is risky, because OVS is an independent service that can stop, restart, or fail. My approach separates management and production networks for reliability.

GitLab Runner: Cache adapter could not be initialized: missing S3 configuration

Sometimes GitLab Runner cache stops working after upgrading. Example here with gitlab-runner 12.0.1 .

MySQL Export: One Table per File

Way to save a gzipped SQL dump of each table individually. Sometimes it’s useful to have separate table backups.

Magic with nginx geo and autoindex on/off

Image
Long story short: Nginx does not support .htaccess , which can be a problem when you want to restrict autoindex to specific IPs.

/var/run/mysqld not present after reboot

Symptoms: MySQL starts correctly after installation, but fails to start after the first reboot because it cannot create the PID/socket in /var/run/mysqld .

Minimalist nginx vhost template example

Minimal Nginx template for HTTPS with HTTP → HTTPS and www → non-www redirects. No need for separate 80 and 443 vhosts if you only use 443 for traffic.

High Availability Redis with Automatic Failover

Image
Redis is a powerful tool to store key-value data in various formats. Here’s a simple way to create failover replication. Sometimes people call this a Redis cluster, but in reality it’s just a few servers (preferably 3 for Sentinel quorum) with one master and multiple slaves in different configurations (slave of slave, slave by priority, local slave, etc.).