These are end-to-end engineering projects built and documented as products — covering design, implementation, observability, and operations.
Each project includes architecture diagrams, code, and operational learnings.
These are end-to-end engineering projects built and documented as products — covering design, implementation, observability, and operations.
Each project includes architecture diagrams, code, and operational learnings.
In this post I’ll walk through how I fully automated the provisioning of an IBM MQ server on my Proxmox homelab using Terraform and Ansible. With a single terraform apply, the entire stack builds itself — VM creation, OS configuration, IBM MQ installation, queue manager setup, and systemd service registration. Architecture Overview homelab02 (Terraform + Ansible host) │ │ terraform apply ▼ Proxmox API (192.168.1.14:8006) │ ├── ① Clone Ubuntu 24.04 template ├── ② Apply cloud-init (kernel params, qemu-agent) ├── ③ Wait for VM ready └── ④ Run Ansible → IBM MQ install + QM1 config Tools used: ...
This guide documents the process of upgrading a standalone Proxmox VE 8 node to Proxmox VE 9, including every issue encountered along the way and how to resolve them. If you’re running a homelab setup on a no-subscription licence, this should map closely to your experience. Step 1: Run the Pre-Upgrade Checker Proxmox ships a built-in checker that validates your system before the upgrade. Always start here: pve8to9 Work through any FAIL or WARN items one at a time, re-running the checker after each fix until you get a clean result. ...
Introduction In this post, I’ll walk you through my journey of integrating Google’s Gemini CLI (v0.24.0) with my self-hosted n8n instance (v2.2.6) using the Model Context Protocol (MCP). While n8n provides built-in MCP support, it only exposes read-only actions. To unlock full workflow automation—creating, modifying, and deleting workflows via Gemini CLI—I built a custom Python MCP server that leverages n8n’s API. Project Overview Goal: Enable Gemini CLI to create, read, update, and delete n8n workflows programmatically. ...
🚀 Project Overview This project captures a practical, reproducible edge platform built on a Raspberry Pi 3 Model B. It demonstrates platform-oriented practices (ingress, observability, minimal workloads) while remaining lightweight enough for constrained edge hardware. TL;DR: A single-node, container-based edge platform using Docker + Traefik for ingress and Prometheus/Grafana for observability. Designed for reproducibility and learning, not for production scale. Table of contents Overview Goals Hardware & Software Quickstart (commands) Architecture Networking & Ingress (Traefik) Observability (Node Exporter, Prometheus, Grafana) Example workload (whoami) Optimization & Swap Logging & Persistence Security, TLS & Limitations Next steps References 🎯 Goals Build a production-inspired, reproducible edge platform on Raspberry Pi 3 Run and route containerized workloads using a lightweight ingress Provide minimal observability while conserving resources Document the steps so the platform can be recreated via Git/Hugo 🧰 Hardware & Software Hardware ...