A series in six parts
A homelab you can understand.
One Proxmox host, one VM per service, not a single open port. The big picture first, then every piece up close – with everything I learned on the way.
- 17VMs on one host
- 0open ports
- 3backup layers
- 6chapters
The chapters
- 01
The homelab in one picture
What a homelab actually is, and how my phone pulls a letter out of my archive at home while I'm on a train, without a single door open on the router.
Read →
- 02
No open port: how my phone reaches Paperless
Pulling an invoice out of my own archive from anywhere, with not a single port open on the router, and measuring whether everything really is encrypted.
Read →
- 03
From a sheet of paper to a searchable archive
A pile of letters, a sticker and one button. How paper becomes an archive that files itself, and why I can still find the original in seconds.
Read →
- 04
Code: one VM per service with OpenTofu and Ansible
What happens between a new file and a running service, and why I read every plan before I apply it.
Read →
- 05
Pipeline: who actually runs my code?
A test run fails at eleven at night although nothing is wrong with the code. Finding out why leads to the question of who actually runs my code.
Read →
- 06
What if something breaks tonight?
Sunday, just after five, and an update has broken a service. How my homelab gets through a night like that, and who tells me when it can't manage on its own.
Read →
More from the homelab
Standalone deep dives that go beyond the series. Each one stands on its own.
- Deep dive
Replacing Google Photos with Immich
15,237 photos and videos, six ZIP files and one weekend: how my pictures moved from Google to my own home, and why the new storage was full by Sunday morning.
Read →
- Deep dive
Nextcloud on S3 instead of a disk
My Nextcloud doesn't keep a single file on its own disk; each one becomes a numbered object in a bucket at Hetzner. Here is what that buys me, what it costs, and why the bucket on its own is still not a backup.
Read →
- Deep dive
compose-backup: back up, encrypt and version Docker stacks
How a small tool of my own packs every Docker stack ready to move, ships it encrypted to S3, and turns a plain mirror into 30 days of history.
Read →
- Deep dive
AI without the cloud: a language model on a laptop GPU
A 30-billion-parameter model on the built-in graphics of a mini PC: why my letters never leave the house for it, how fast it really is, and why the model may choose but never invent.
Read →
- Deep dive
Running NetBird yourself: the matchmaker that steps aside
A small server at Hetzner introduces all my devices to each other and then stays out of the way: what runs on it, how I upgrade it without risk, and which traps cost me hours.
Read →
- Deep dive
ntfy: who's knocking at five in the morning?
How a small push service I run myself brings every message from my homelab to my phone, who is allowed to post there, and why the most dangerous alert is the one that never arrives.
Read →
- Deep dive
A green padlock for services nobody can see
How every service in my homelab gets a real HTTPS certificate although none of them can be reached from the internet, and why one entry in the internet's phone book is all it takes.
Read →