Console Login

DevOps & Infrastructure Articles

Technical insights and best practices for DevOps & Infrastructure

DevOps & Infrastructure

Self-Hosting Supabase with Docker Compose and Two Crash Loops Fixed

Official Supabase Docker stack on a clean Ubuntu sandbox: the pooler and Edge Functions crash-looped. Why, and a compose override that fixed both, with tests.

Running Dokku on a Host Without IPv6 or systemd

Dokku's nginx templates listen on [::] by default. Here is why nginx refuses to start on a host without IPv6, and how to fix it, including notes for…

Edge MQTT Node on a Norwegian VPS: K3s, WireGuard, Kernel Tuning

How to set up a single-node edge MQTT aggregator with K3s and WireGuard, and how to fix the faulty flags, units and sysctls that edge guides often repeat.

Kubernetes Pod DNS Fails After an Egress NetworkPolicy: Fix

Pods lose DNS after an egress NetworkPolicy is applied. This article covers the wrong namespace label, the missing TCP port 53 rule and a tested-in-theory fix.

GitOps with Argo CD and Kustomize: Ending Manual kubectl Changes

How to replace hand-run kubectl apply with a pull-based GitOps flow: Argo CD, Kustomize overlays, Sealed Secrets and a CI job that only edits an image tag.

Hybrid cloud and a local database: WireGuard link, latency and GDPR

How to link a hyperscaler workload to a database on a Norwegian VPS with WireGuard, what the tunnel does not fix, and the common mistakes in such setups.

K3s, Kubernetes or Nomad: Check Disk Latency Before Choosing

Control planes built on etcd or Raft fail on slow disks. How to test fsync latency, pick between Kubernetes, K3s and Nomad, and prepare a K3s node.

Raft control planes: fsync latency for etcd, Swarm and Nomad

Why Kubernetes, Docker Swarm and Nomad clusters turn flaky on slow disks or stolen CPU, how to measure it with fio and vmstat, and what to change.

Keeping Prometheus Monitoring Alive During Traffic Spikes

Why a Prometheus stack stalls under load, and how to fix it: federation, a lean node_exporter, recording rules, WAL-friendly storage and a locked-down firewall.

Microservices Gateway and Circuit Breaker Patterns on Nginx and…

How an Nginx API gateway with rate limiting and upstream keepalive, plus an opossum circuit breaker, limits cascading failures between microservices (2022…

NATS JetStream cluster for microservices: setup and pitfalls (2021)

How to run a three-node NATS JetStream cluster (server 2.6, nats.go 1.13) with replicated streams, authentication, correct acks and sane OS limits.

Self-Hosted Latency Monitoring with Prometheus, Grafana and Nginx

How to measure request latency, CPU steal and disk trends on your own server with Nginx timing logs, Prometheus 2.28 and Grafana 8, without a third-party APM.

Cutting CI Build Time by Fixing Disk I/O, Swap and Heap on Linux

Slow or timing-out Jenkins builds are often caused by iowait, swapping and a badly sized JVM heap. How to diagnose and tune each on a 2014-era Linux server.

Fault-Tolerant Service Routing with HAProxy and ZooKeeper

How to keep a local HAProxy in step with a ZooKeeper service registry: ephemeral znodes, a watcher that regenerates the config, and a graceful reload.

Offloading Slow Work from Web Requests with RabbitMQ and Celery

How to keep slow jobs out of the web request path with RabbitMQ, Celery 3.0 and Nginx 1.2 on Debian 7, with corrected configuration and the limits of the setup.

HAProxy 1.4 and Keepalived on CentOS 6: Redundant Load Balancing

Put HAProxy 1.4 in front of web nodes on CentOS 6, tune the kernel and use Keepalived VRRP so the balancer itself is no single point of failure.

Private Git Hosting with Gitolite on CentOS 6

How to run a private, key-only Git server with Gitolite 2.x on CentOS 6, with access rules kept in a Git repository. Covers latency, I/O, and backups.

Recent Searches