Keep it local
I prefer running services locally when it makes sense, especially for home automation and services I rely on at home.
02 · Linux · Networking · Self-hosting
What started as a home server has grown into a homelab where I run the services I use at home and learn as I build, maintain and troubleshoot it.
Today, the homelab consists of an Ubuntu server running most of my services in Docker, alongside a UniFi-managed network and Home Assistant for home automation. Pi-hole provides internal DNS, while Caddy handles reverse proxying and HTTPS for private service addresses under my own domain.
Because I use it every day, it has also become a practical place to learn. When something breaks, I have to work out whether the problem is in a container, the host, DNS or the network.
UniFi handles routing, firewall rules and network segmentation. The Ubuntu server runs most of my self-hosted services.
I prefer running services locally when it makes sense, especially for home automation and services I rely on at home.
I keep IoT devices separate from trusted systems and use firewall rules to allow only the traffic they actually need.
When something fails, I want to understand where and why rather than simply getting it working again.
I organise services into Docker Compose stacks to keep configuration, updates and changes manageable.
The homelab changes as I find new things I want to run, improve or understand. I document the setup as it evolves, both for my own reference and to keep track of how and why things are configured.
View infrastructure documentation on GitHub