Hi, I’m Adrian.

Self-taught by trial and error. I break things at home, work out why, and write it down so I only make each mistake once.

Contact me

The apps I run

  • Docker
  • Tailscale
  • Cloudflare
  • Caddy
  • Authelia
  • AdGuard Home
  • WireGuard
  • UniFi
  • Stalwart
  • ntfy
  • restic
  • Backblaze B2
  • Jellyfin
  • Audiobookshelf
  • Vaultwarden
  • Paperless-ngx
  • Frigate
  • Firefly III
  • Homepage
  • Open WebUI
  • Beszel
  • SparkyFitness
  • NextHome Assistant
  • NextImmich

The software on one small PC; the ones marked Next are on the way. See how it fits together

About me

I’d rather own the things I depend on, so my passwords, documents, cameras, media and mail run on that one box, reachable only from my own devices. Every setting lives in git, every failure gets written up with its fix, and anything that breaks pings my phone.

Contact me

Projects

  1. Done

    /homelab: one request, start to finish

    See it

    Follow one request from my phone through the tunnel, the name lookup and two locked doors into the container it was meant for, then take the server apart. Hand-built in three.js with no build step.

    • Tailscale
    • AdGuard Home
    • Caddy
    • Authelia
    • Docker
  2. Done

    A public site that never touches home

    What it collects (nothing)

    This site is static files on Cloudflare's network, with a strict security policy and no third-party requests. There's no route from here to the server, on purpose.

    • Cloudflare
  3. Done

    Five layers of backups

    Nightly database dumps, a mirror on a second drive, a copy on another computer, and two off-site copies locked so that even a hacked server can't delete them.

    • restic
    • Cloudflare
    • Backblaze B2
  4. Done

    Alerts a hacked server can't silence

    A hardening pass, then watchers that live off the box. If something changes on the server that shouldn't, my phone hears about it from somewhere the server can't reach.

    • ntfy
    • Cloudflare
    • Authelia
  5. In progress

    Bank statements in, budget out

    Monthly PDF statements go in a folder, get parsed and balance-checked locally, and only then reach Firefly III. A statement that doesn't add up is refused.

    • Firefly III
    • Paperless-ngx
  6. Next

    Home Assistant and Immich

    The house's switches and sensors in one place, and the photo library moved off OneDrive onto the box.

    • Home Assistant
    • Immich
  7. Next

    An AI coding setup on my own keys

    A coding agent on the box that talks to each AI provider directly: a paid model for real work, free ones for side projects. The keys stay on the box, and nothing personal goes to a free model.

  8. Next

    Claude rings my phone

    A one-off drill: an AI voice call that can restart one app on a spoken yes, and do nothing else.

    • Jellyfin

Say g’day.

Questions about the homelab, a write-up you want, or a mistake I’ve made that you’ve made too. Email is best.

Privacy: nothing is collected · Melbourne, Australia · © 2026