A Grafana Node Exporter Full dashboard showing CPU, memory, network and disk usage

Homelab Monitoring with Grafana, Loki, Prometheus and Alloy

How I centralised logs and metrics for my homelab with Grafana, Loki, Prometheus and Grafana Alloy, and what I learned about push-based collection, alerting and code-generated dashboards.

October 1, 2026 · Updated October 23, 2026 · 9 min · Roland Hill
Diagram of the acme.sh DNS-01 certificate automation across Cloudflare, Lets Encrypt, a local cert cache, and SSH push to internal hosts

Let's Encrypt for Internal Hosts with DNS-01 and SSH Push

How I replaced a dozen ad hoc certbot setups with one central acme.sh instance. It uses DNS-01 validation through Cloudflare and pushes each certificate to its host over SSH.

October 1, 2026 · Updated October 23, 2026 · 7 min · Roland Hill
Diagram of the self-hosted mail flow through postscreen, milters, Dovecot, direct delivery and webmail

Self-Hosted Email: Running My Own Mail Server Again

How I moved my domain’s email from a hosted provider to a self-hosted Postfix and Dovecot server in my home lab, the design choices behind it, and what I learned along the way.

October 1, 2026 · Updated October 23, 2026 · 6 min · Roland Hill
The Matomo analytics dashboard showing visits over time and a visitor map of New Zealand

Self-Hosted Matomo Behind a Reverse Proxy

How I self-host Matomo analytics for a static Hugo site. Matomo stays on an internal server, and a DMZ reverse proxy carries the tracking traffic, with the real visitor IP and GeoLite2 geolocation preserved.

October 1, 2026 · Updated October 23, 2026 · 6 min · Roland Hill
The Jellyfin Live TV guide showing a grid of channels and programme schedules

Live TV in Jellyfin with NextPVR (and a Samsung TV App)

How I run NextPVR alongside Jellyfin in one LXC container for live TV, how a one-line config setting broke every channel, and what it took to get Jellyfin onto a 2020 Samsung TV.

October 1, 2026 · Updated October 23, 2026 · 7 min · Roland Hill