I build it,break it,write it down.

Homelab, Linux, networking and security experiments, and the odd side quest. This is my portfolio and my workbench in one place.

On the bench today

  • Buildingnetwork-wide DNS filtering
  • Breakingmy own VPN, on purpose
  • LearningAnsible, one playbook at a time
  • Readingpacket captures like novels

Things I’ve built

paused

Home DNS filter

A DNS resolver for the whole house that blocks ads and trackers and keeps a log I can actually read.

pi, unbound, adguardRead the details
← All projects
running

Segmented home network

What it is

One flat network is easy until a cheap smart plug sits next to my laptop. I split the house into four VLANs so every device only reaches what it needs.

How it’s set up

  • Trusted, IoT, guest and lab VLANs on a fanless OPNsense box
  • Default-deny between VLANs, with a short list of explicit exceptions
  • WireGuard for getting back in from outside, nothing else exposed
  • mDNS reflection so casting and printing still work

What I learned

Firewall rules are only useful if I can explain each one a year later. I now comment every rule and keep the whole config in git.

What’s next

Per-VLAN DNS logging, so I can see what the IoT devices talk to.

Status
Running
Started
2025
Stack
opnsense, wireguard, unifi

Questions about this? Get in touch

← All projects
running

Self-hosted everything

What it is

Photos, notes, passwords and RSS used to live in three different cloud subscriptions. Now they live on one box I own, and I know exactly where the backups are.

How it’s set up

  • One Proxmox host with small containers per service
  • Caddy as a reverse proxy with automatic certificates
  • Hourly ZFS snapshots and an encrypted nightly copy off-site
  • A restore drill every quarter, because untested backups don’t count

What I learned

Self-hosting is mostly about maintenance, not setup. Updates, monitoring and restores take more time than installing anything ever did.

What’s next

A small status page so the household can tell what’s down before asking me.

Status
Running
Started
2025
Stack
proxmox, docker, caddy

Questions about this? Get in touch

← All projects
running

Three-node Proxmox cluster

What it is

A cluster of three mini PCs that I can rebuild without thinking. The goal was to make tearing things down cheap enough that I actually experiment.

How it’s set up

  • Three nodes with shared storage and live migration
  • Each service in its own LXC container
  • Ansible playbooks for node setup and updates
  • A written rebuild checklist, tested on a spare node

What I learned

I rebuilt the whole thing from scratch once, on purpose. It was the fastest way to find everything I had configured by hand and forgotten.

What’s next

Move more of the node setup into playbooks so a rebuild takes one command.

Status
Running
Started
2026
Stack
proxmox, ceph, ansible

Questions about this? Get in touch

← All projects
paused

Home DNS filter

What it is

A DNS resolver for the whole house that blocks ads and trackers and keeps a log I can actually read.

How it’s set up

  • Raspberry Pi running AdGuard Home in front of Unbound
  • Recursive resolution, so no single upstream sees every lookup
  • Blocklists per VLAN, stricter for the IoT network

What I learned

Blocking too much is worse than blocking too little. The first week was mostly me fixing things I had broken for everyone else.

What’s next

A proper dashboard, and a second resolver for when the first one reboots.

Status
Paused
Started
2026
Stack
pi, unbound, adguard

Questions about this? Get in touch

← All projects
retired

Cloud-free smart home

What it is

Every light and sensor in the flat works without the internet, and nothing sends data to a company I haven’t chosen.

How it’s set up

  • A Zigbee coordinator and about thirty sensors and bulbs
  • Home Assistant on a Raspberry Pi
  • Automations that run locally and fail safely
  • Physical switches that always work, whatever the software does

What I learned

The best automation is one nobody notices. The ones that needed explaining to guests got deleted.

What’s next

Retired in favour of the bigger setup on the cluster, but the design carried over.

Status
Retired
Started
2024
Stack
zigbee, home assistant

Questions about this? Get in touch

← All projects
running

Dotfiles and bootstrap script

What it is

One command turns a fresh laptop into my laptop: shell, editor, keys and tools, in about ten minutes.

How it’s set up

  • Dotfiles in a git repository, symlinked by a small script
  • Packages declared in a single file per machine
  • Secrets kept out of the repo, pulled in at setup time

What I learned

Writing it down forced me to decide what I actually use. I deleted about half of my old config.

What’s next

A test run in a fresh container on every commit.

Status
Running
Started
2024
Stack
bash, git, nix

Questions about this? Get in touch

Notes from elsewhere

Oct 2026
6 min read

Repairing instead of replacing

A broken kettle, a borrowed multimeter, and a new habit of opening things up before throwing them out.

Sep 2026
4 min read

The notebook system I keep returning to

Paper for thinking, a folder of markdown files for keeping. Why neither works well alone.

Aug 2026
5 min read

Three books that changed how I troubleshoot

Good debugging is mostly good questions. These books taught me which ones to ask.

Hello, I’m glad you’re here

KargaLabs logo, a dark raven in profile

I can’t leave a system alone until I understand how it works. This site is where I keep the evidence: configs, diagrams, mistakes and the occasional win.

Everything is written to be useful to future me first, and to anyone else who stumbles across it second. If something here helped you, or you spotted a mistake, I’d like to hear about it.

Get in touch

Hardware
Mini PCs, a Raspberry Pi, a very patient switch
Systems
Proxmox, Debian, Home Assistant
Network
OPNsense, WireGuard, VLANs
Tools
Git, Ansible, Docker, tmux
Off-duty
Repairs, notebooks, long walks

Say hello

Found a mistake, want to compare notes on a setup, or just curious about something here? Write to me. I read everything and answer as soon as I can.

Code
github.com/your-name
Replies
Usually within a few days
Open in my mail app