Skip to main content
All skills

Infrastructure & DevOps

I run the infrastructure the sites I build sit on, which means I am also the person who gets called when something stops responding. That is a different relationship with a deploy pipeline than signing off on one.

How I use it

  1. Deploys that depend on someone being at a terminal

    GitHub Actions building images and shipping them to the host, so releasing is a merge. Wee Rock Art went through staging and into production on the same path, which is the only way staging means anything.

  2. Apps sharing a host and interfering with each other

    Each application containerised with its own runtime and dependencies, behind a reverse proxy handling routing and certificate renewal. Adding a service becomes configuration instead of another server to maintain.

  3. Certificates that expire on a weekend

    Automatic issuance and renewal at the proxy layer, with expiry verified rather than assumed. TLS should not be a recurring calendar event.

  4. Configuration that only exists on the server

    Infrastructure declared in version control with a verification script that checks live reality against the declaration, so drift is something you find deliberately instead of during an outage.

What I use

  • Docker
  • Caddy
  • GitHub Actions
  • Let's Encrypt
  • Linux

Related skills

Want the detail behind any of this?

I can walk through any of it in as much depth as you want.

Get in touch