blog.mahdishadi.meDeploying Jitsi Meet Behind Traefik with Docker Compose (Custom SSL PEM/KEY + Host Authentication)This guide walks through how we deployed Jitsi Meet using Docker Compose, placed it behind Traefik, terminated TLS using our own certificate (.pem + .key) via Traefik’s File Provider, and enabled Host Authentication using internal auth (Prosody users...6d ago·5 min read
blog.mahdishadi.meWhen Logs Weren’t Enough: Setting Up Prometheus Behind Traefik (TLS)At some point, logs alone stop being enough. You start seeing short spikes in CPU, random latency jumps, or brief outages that don’t leave a clear trace in the logs. That’s where real monitoring pays off: numbers, charts, history, and alerts. This gu...Jan 30·5 min read
blog.mahdishadi.meHow I Put n8n Behind Traefik with Automatic HTTPS: A Real-World Traefik + n8n SetupThis all started with a pretty simple goal: “Run n8n on my server and expose it cleanly athttps://n-test.mahdishadi.me.” I could have just exposed n8n’s port directly on the server and called it a day.But I wanted something more: Clean domain-base...Dec 2, 2025·8 min read
blog.mahdishadi.meWant Seamless, Scalable Storage in Kubernetes? Here’s Why Longhorn is Your Best Bet!Longhorn: Scalable Storage for Kubernetes What is Longhorn? Imagine you're setting up a big project on Kubernetes and you need scalable storage that's both easy to use and reliable. That's where Longhorn comes in. Longhorn is a distributed storage sy...Oct 15, 2025·12 min read
blog.mahdishadi.meZero-Downtime Zabbix Migration: How I Moved from 6.4 to 7.0 Without Losing a Single MetricOverall Architecture: Why It Works Zabbix Server on Server 2 is the brain of the operation: it caches configuration, processes triggers, and writes data into the database.Frontend (running on Apache) provides dashboards, graphs, and configuration UI....Oct 7, 2025·4 min read