It all started when I became dissatisfied with my approach to deploying personal services. I decided to rewrite everything from scratch. Besides, it was an excellent opportunity to gain new skills and try out tools I hadn’t found the time for.
Renting powerful VPS instances for resource-heavy tasks is unjustifiably expensive in the current climate. Meanwhile, at home, I already had a dedicated nettops (mini-PC) with 16 GB of RAM powered by an energy-efficient Intel N95 processor.
Going from simple Bash scripts and third-party tunnels to a fully automated infrastructure, I created the ServeHub-2 project. In this article, I will detail how the project's network evolved, why the declarative approach triumphed over the imperative one, and what non-obvious bugs I encountered during the automation process.
Network Architecture Setup History
Using Tuna






