Caddy – Use Environment Variables for Dynamic Processing

I wanted to use an OS environment variable to decide if a directive in a Caddyfile site block should be processed or not. This allows for some sort of URL processing or feature to be enabled / disabled without having to recode your Caddyfile. Change the environment variable from true to false and the feature can be quickly disabled (or...

READ MORE Caddy – Use Environment Variables for Dynamic Processing

GPXPosterPrint – Sports Activity Poster Printing

Background Lots of people will be using smart watches, bike computers and mobile app’s to record sports activities, before sharing them on platforms like Strava. After a completing a challenging event or race, a poster is a good way to remind yourself (and others!) of your achievements. The common file format for the recordings of the activity is GPX and...

READ MORE GPXPosterPrint – Sports Activity Poster Printing

Podman – Quadlets – The Basics

Having been playing with Docker recently and ended up down the root/rootless container rabbit hole, I then stumbled across Podman. Quadlets Whilst rootless Podman can work with your existing docker-compose.yml file, v4.4 (I believe) and newer allow you to write Quadlet files which are turned into systemd services. You can then stop / start containers using systemctl rather than docker...

READ MORE Podman – Quadlets – The Basics

acme.sh Notes

The acme.sh script / utility is very useful when working with (free) SSL certificates issued by Let’s Encrypt (LE), ZeroSSL and other providers. It’s featured in a number of the guides I’ve written and a quick search will turn up lots of content, but this is to bring my notes together into one place. As ever, replace mylab.domain and server.mylab.domain...

READ MORE acme.sh Notes

Pi-Hole & Let’s Encrypt (2025)

Pi-Hole v6 stops using lighttpd and has it’s own internal web server, so this means a change getting Let’s Encrypt certificates deployed. Having finally upgraded my Pi-Hole install to v6, I needed to tidy this up. We no longer need acme.sh to renew the lighttpd certificate, so to see the current renewal job, run: Pi-Hole needs the certificate and private key...

READ MORE Pi-Hole & Let’s Encrypt (2025)