Skip to content

Hands-on infrastructure

Projects

Infrastructure work built to develop genuine ownership across Azure administration, Linux, virtualisation, storage, DNS, routing and observability. Ordered by the strength of the evidence behind each one.

Everything here is described according to what was actually implemented. Where there is enough depth, a project has a full case study. Introductory or incomplete work is labelled as such.

Core work

Featured projects

01

Cloud administration

Case study

Microsoft Azure Administration Lab

A pay-as-you-go DevTest subscription used to practise Azure administration from the command line: resource provisioning, cost governance, private storage and role-based access, validated with authenticated storage operations.

  • Created and managed resource groups and resources through Azure CLI
  • Configured a monthly budget with an Action Group for cost notifications
  • Provisioned private blob storage with public access disabled
  • Assigned Storage Blob Data Contributor RBAC and validated authenticated blob upload and listing

Scope is limited to what has actually been built. No virtual machines or virtual networks have been deployed in this lab yet.

  • Azure
  • Azure CLI
  • RBAC
  • Blob Storage
  • Cost Management
Read the case study →
02

Linux troubleshooting

Case study

OpenMediaVault Kernel, DKMS & GPU Passthrough Recovery

Diagnosed and recovered an OpenMediaVault VM after a routine upgrade left the NVIDIA driver unable to build against the new kernel, taking the passed-through RTX A2000 and GPU-accelerated Ollama workloads offline.

  • Reviewed system and DKMS logs, kernel and driver versions, nvidia-smi output and the Docker NVIDIA runtime
  • Isolated the fault to the driver module failing to build against the new kernel, with passthrough intact
  • Booted the last known-good kernel, pinned it against automatic upgrade and confirmed the NVIDIA 550 driver loaded
  • Validated the GPU from the host and the Ollama container, then checked storage and other services individually
  • Linux
  • Proxmox
  • OpenMediaVault
  • DKMS
  • NVIDIA
  • Docker
  • Ollama
Read the case study →
03

Storage

Case study

Storage & Services Platform

OpenMediaVault running as a Proxmox VM, providing mdadm RAID1 storage and SMB file services while hosting the homelab's Docker services. Disk migration, filesystem recovery and SMART monitoring have all been part of operating it.

  • Deployed OpenMediaVault with a two-disk mdadm RAID1 mirror and SMB file services
  • Migrated the storage to new hardware, reassembling the array from persistent disk identifiers and mounting read-only before validation
  • Carried out filesystem recovery and validated data before reconnecting services
  • Monitor disk health with SMART, with RAID status and disk usage visible in Grafana
  • OpenMediaVault
  • mdadm
  • RAID1
  • SMB
  • SMART
  • Linux
Read the case study →
04

Networking & services

Case study

DNS, HTTPS & Service Routing

A containerised DNS and web-routing stack providing internal name resolution, recursive DNS with DNSSEC validation, HTTPS routing for internal services and controlled external publishing through Cloudflare Tunnel.

  • Deployed Pi-hole and Unbound in Docker for internal DNS and recursive resolution
  • Configured Unbound for full recursive resolution with DNSSEC validation
  • Used Nginx Proxy Manager for TLS certificates and HTTPS application routing
  • Configured Cloudflare DNS and Cloudflare Tunnel for external access to published services
  • Docker
  • Pi-hole
  • Unbound
  • Nginx Proxy Manager
  • Cloudflare Tunnel
  • TLS
Read the case study →
05

Operations

Monitoring & Observability

Infrastructure monitoring built around Prometheus and Grafana to provide visibility into host, container, disk and RAID health across the OpenMediaVault platform.

  • Deployed Prometheus and Grafana on the OpenMediaVault server
  • Collected host metrics with Node Exporter and container metrics with cAdvisor
  • Added Pi-hole metrics through a Pi-hole exporter
  • Configured Grafana dashboards covering hosts, containers, disks and RAID status
  • Prometheus
  • Grafana
  • Node Exporter
  • cAdvisor
  • Docker
06

Virtualisation & systems

Infrastructure Homelab / Proxmox

A dedicated Proxmox environment used to build, operate and troubleshoot infrastructure services across Linux and Windows virtual machines, including PCI passthrough of an NVIDIA RTX A2000 for GPU workloads.

  • Configured ZFS as the Proxmox host storage backend
  • Run Linux and Windows virtual machines for infrastructure and lab workloads
  • Passed an NVIDIA RTX A2000 through to the OpenMediaVault VM for GPU-accelerated Ollama workloads
  • Configured bridged networking and consistent IP assignments for core systems
  • Use Tailscale for remote administrative access
  • Proxmox
  • ZFS
  • Linux
  • Windows
  • GPU Passthrough
  • Tailscale
See how it fits into the architecture →

Also running

Deployed workloads

Smaller pieces that run on the same platform.

Deployed workload

This Website

waqasmohammad.com is a Next.js application built into a Docker image and run as a container on the same platform, published through Nginx Proxy Manager and Cloudflare Tunnel rather than exposed directly. The contact form is handled server-side and analytics run on self-hosted Umami.

  • Next.js
  • Docker
  • Nginx Proxy Manager
  • Cloudflare Tunnel
  • Umami

Learning & experimentation

Introductory and incomplete work

Listed so the scope is clear, not as evidence of proficiency.

Introductory

Terraform / Cloudflare DNS

Learning

Used Terraform with AI-assisted guidance to manage seven Cloudflare A and CNAME records as code, working through plan, apply, validation against real DNS and Git version control.

This is hands-on exposure at a single-project scale, not Terraform proficiency or independently designed infrastructure as code.

  • Terraform
  • Cloudflare
  • Git

Incomplete experiment

Kubernetes / k3s

Learning

Prepared three Raspberry Pi Linux nodes for a k3s cluster and installed k3s on the intended control-plane node. Node joining was not completed and the environment did not reach a working multi-node state.

It remains useful as a practical Kubernetes learning exercise, but I do not present it as a completed platform or as Kubernetes administration experience.

  • Linux
  • Raspberry Pi
  • k3s
  • Kubernetes

How it fits together

Explore the infrastructure architecture.

The architecture page shows how the virtualisation, storage, Docker, DNS, routing, monitoring and GPU layers relate to one another, including a diagram of the current environment.