{"@attributes":{"version":"2.0"},"channel":{"title":"Posts on My Homelab Blog","link":"https:\/\/mumbleb.com\/posts\/","description":"Recent content in Posts on My Homelab Blog","generator":"Hugo -- 0.165.0","language":"en-us","lastBuildDate":"Tue, 24 Feb 2026 00:00:00 +0000","item":[{"title":"Engineering the AI Gateway \u2014 Identity, Guardrails, and Production Hardening in USS","link":"https:\/\/mumbleb.com\/posts\/uss-ai-gateway\/","pubDate":"Tue, 24 Feb 2026 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/uss-ai-gateway\/","description":"A deep engineering walkthrough of the Cloudflare Worker AI gateway behind Universal Schema Studio \u2014 JWT identity logging, intent guards, rate limiting, CORS challenges, prompt design, and production failure handling."},{"title":"From Tool to Platform \u2014 Why I Added AI to Universal Schema Studio","link":"https:\/\/mumbleb.com\/posts\/uss-from-tool-to-platform\/","pubDate":"Tue, 24 Feb 2026 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/uss-from-tool-to-platform\/","description":"The product evolution story behind adding AI-powered OpenAPI drafting to Universal Schema Studio \u2014 user value, risk analysis, guardrails, and the mindset shift from tool to platform."},{"title":"Integrating AI into Universal Schema Studio \u2014 Architecture & Implementation Deep Dive","link":"https:\/\/mumbleb.com\/posts\/integrate-ai-into-uss\/","pubDate":"Tue, 24 Feb 2026 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/integrate-ai-into-uss\/","description":"A deep technical walkthrough of how I integrated an AI-powered OpenAPI drafting engine into Universal Schema Studio using Cloudflare Workers, Access, WAF rate limiting, and OpenAI \u2014 without turning a static app into a security risk."},{"title":"Building a Self-Hosted Analytics System for Universal Schema Studio","link":"https:\/\/mumbleb.com\/posts\/activity-dashboard\/activity-dashboard\/","pubDate":"Thu, 13 Nov 2025 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/activity-dashboard\/activity-dashboard\/","description":"A full walkthrough of how I built a self-hosted view counter, analytics backend, dashboard, and badges for Universal Schema Studio \u2014 running entirely on Docker, Cloudflared, and my Raspberry Pi."},{"title":"Building a Universal XSD \u2192 OpenAPI \u2192 ReDoc Viewer","link":"https:\/\/mumbleb.com\/posts\/universal-xsd-openapi-viewer\/","pubDate":"Sat, 18 Oct 2025 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/universal-xsd-openapi-viewer\/","description":"Step-by-step walkthrough of how to design and deploy a universal schema viewer supporting YAML\/JSON, XSD, and XML, using HTML, JavaScript, and Redocly\u2019s ReDoc. Includes GitHub Pages + Cloudflare custom domain integration.\n"},{"title":"Setting up ReconYa + Suricata Network Monitoring on Raspberri Pi 5 with a Daily Email Digest","link":"https:\/\/mumbleb.com\/posts\/network-monitoring\/","pubDate":"Sat, 09 Aug 2025 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/network-monitoring\/","description":"Step-by-step network monitoring setup"},{"title":"Set up OpenMediaVault on RPI5","link":"https:\/\/mumbleb.com\/posts\/omv-setup\/","pubDate":"Tue, 05 Aug 2025 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/omv-setup\/","description":"Step-by-step guide to setup OMV on your RPI5"},{"title":"Adguard Home Setup on OMV with Docker and Pi","link":"https:\/\/mumbleb.com\/posts\/adguard-home-setup\/","pubDate":"Mon, 04 Aug 2025 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/adguard-home-setup\/","description":"Step-by-step guide to setup Adguard Home"},{"title":"Selecting the right media management option for self-hosting is important","link":"https:\/\/mumbleb.com\/posts\/media-management\/","pubDate":"Mon, 04 Aug 2025 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/media-management\/","description":"Selecting the right media storage"},{"title":"MagicMirror\u00b2 in Docker on RPi5","link":"https:\/\/mumbleb.com\/posts\/magicmirror-docker\/","pubDate":"Sun, 03 Aug 2025 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/magicmirror-docker\/","description":"<p>I have been an avid user of the MagicMirror\u00b2 framework for almost 6 years now. I have developed, and look after  a range of modules. This document will detail these modules and their usage.<\/p>\n<h2 id=\"-features\">\ud83e\uddf1 Features<\/h2>\n<ul>\n<li>Based on <code>debian:trixie<\/code> for Pi 5 compatibility<\/li>\n<li>Installs MagicMirror\u00b2 v2.32+<\/li>\n<li>Allows custom modules + volume persistence<\/li>\n<li>Exposed port for local display<\/li>\n<\/ul>\n<h2 id=\"-custom-modules\">\ud83e\uddea Custom Modules<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/mumblebaj\/MMM-Growatt\">MMM-Growatt<\/a> for solar stats<\/li>\n<li><a href=\"https:\/\/github.com\/mumblebaj\/MMM-Growatt-Stats\">MMM-Growatt-Stats<\/a> for combined stats<\/li>\n<li><a href=\"https:\/\/github.com\/mumblebaj\/MMM-MovieListings\">MMM-MovieListings<\/a> for movies<\/li>\n<li><a href=\"https:\/\/github.com\/mumblebaj\/MMM-NOAA3\">MMM-NOAA3<\/a> for weather-forecast from different providers<\/li>\n<li><a href=\"https:\/\/github.com\/mumblebaj\/MMM-Reddit\">MMM-Reddit<\/a> to display content from Reddit<\/li>\n<li><a href=\"https:\/\/github.com\/mumblebaj\/MMM-GasMonitor\">MMM-GasMonitor<\/a> to track your gas levels<\/li>\n<li><a href=\"https:\/\/github.com\/mumblebaj\/MMM-NewsAPI\">MMM-NewsAPI<\/a> custom news feed<\/li>\n<li><a href=\"https:\/\/github.com\/mumblebaj\/MMM-Rugby\">MMM-Rugby<\/a> track world rugby rankings and tracks match results for specified leagues<\/li>\n<li><a href=\"https:\/\/github.com\/mumblebaj\/MMM-SweepClock\">MMM-SweepClock<\/a> a clssic Railway Clock<\/li>\n<li><a href=\"https:\/\/github.com\/mumblebaj\/MMM-EskomSePush\">MMM-EskomSePush<\/a> tracks loadshedding schedule in South Africa<\/li>\n<li><a href=\"https:\/\/github.com\/mumblebaj\/MMM-WOTD\">MMM-WOTD<\/a> a word of the day module which caters for multiple languages<\/li>\n<li><a href=\"https:\/\/github.com\/mumblebaj\/MMM-PhilipsHue\">MMM-PhilipsHue<\/a> displayes information and status of your Hue lights from your Hue Bridge<\/li>\n<\/ul>\n<h2 id=\"-magicmirror-in-docker--my-complete-setup\">\ud83e\ude9e MagicMirror\u00b2 in Docker \u2014 My Complete Setup<\/h2>\n<ul>\n<li>I recently set up MagicMirror\u00b2 to run fully containerized in Docker with support for:<\/li>\n<li>Mounted custom modules, <strong>config.js<\/strong>, and <strong>custom.css<\/strong><\/li>\n<li>Server-only mode for remote\/browser display<\/li>\n<li>Clean build \u2192 test \u2192 push to Docker Hub workflow<\/li>\n<\/ul>\n<p><strong>Here\u2019s how I did it.<\/strong><\/p>"},{"title":"My Journey to a Stable Hybrid Self-Hosted Home Lab","link":"https:\/\/mumbleb.com\/posts\/self-hosting-journey\/","pubDate":"Sun, 03 Aug 2025 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/self-hosting-journey\/","description":"How I combined OpenMediaVault, AdGuard Home, Immich, Tailscale, and Cloudflare Tunnel to securely self\u2011host my home services with public access and private uploads."},{"title":"Publishing My Hugo Blog Publicly with Cloudflare Tunnel","link":"https:\/\/mumbleb.com\/posts\/publish-hugo-cloudflare-tunnel\/","pubDate":"Fri, 01 Aug 2025 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/publish-hugo-cloudflare-tunnel\/","description":"How I made my Hugo blog publicly accessible over HTTPS without port forwarding, even behind LTE CGNAT."},{"title":"Migrating OpenMediaVault to NVMe on Raspberry Pi 5","link":"https:\/\/mumbleb.com\/posts\/migrating-omv-to-nvme\/","pubDate":"Thu, 31 Jul 2025 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/migrating-omv-to-nvme\/","description":"Step-by-step guide to migrating your OMV setup from MicroSD to NVMe for better performance and reliability."},{"title":"Running Home Assistant in Docker (Not Supervised)","link":"https:\/\/mumbleb.com\/posts\/home-assistant-container\/","pubDate":"Thu, 31 Jul 2025 00:00:00 +0000","guid":"https:\/\/mumbleb.com\/posts\/home-assistant-container\/","description":"Step-by-step migration guide for HA to Container"}]}}