Skip to content
Tech News
← Back to articles

Building the deployment tool I wish I had

read original get Docker Desktop → more articles
Why This Matters

This article highlights the importance of building customized deployment tools tailored to developers' higher standards, especially in the context of European digital sovereignty and avoiding reliance on US-controlled cloud services. It underscores the evolving complexity of deployment workflows and the need for more robust, scalable, and privacy-conscious solutions in the tech industry.

Key Takeaways

Building the deployment

tool I wish I had written by Ruud van Asseldonk

published 6 May 2026

It is 00:43 at night. I look at the plan and press y. “s4.ruuda.nl: connecting …” I hold my breath. “Applying” briefly flashes in my terminal window before settling on “done.” It worked. Now the real work can start. Pop stack frame. What was I doing again?

People who have worked with me for a while might accuse me of suffering from not-invented-here syndrome. I prefer to call it “having higher standards.” Why subject yourself to endless frustration that mediocre tools inflict on you, when you can build your own tools that are actually nice to use? Anyway, what was I doing again?

Right, I wanted to write a blog post about European digital sovereignty. It would be hypocritical to publish that on a blog hosted in the US , with a US -controlled hyperscaler. So let’s move that to Europe, easy enough. Push stack frame. Spawn a new VM , point the DNS records at … oh, right, DNS . I use Cloudflare for that. Another entity that Trump can order to stop providing services when shit hits the fan. Maybe I should self-host my DNS servers then. Push stack frame.

My webserver is a tiny VM that runs Nginx, plus Lego to renew certificates. The Nginx configuration grew somewhat complicated over the years, but I generate it with Nix so it’s fine, just two configuration files. I wrote a small Python script that copies the files to the server and restarts Nginx. The script served me well for the past years, but now I want to start running DNS servers. I need at least two servers now. And more systemd units, configuration files, zonefiles … The script is not going to cut it any more, I need serious cluster configuration management. Push stack frame.

“NixOS” I hear Arian’s voice whisper in my head. “Just use NixOS. It’s only one line to configure, services.nsd.enable = true .” He’s right of course. I already use Nix to build minimal EROFS images for Nginx and Lego. That’s how I run them on Flatcar. But I like the idea of a minimal base OS , and running my services from readonly chroots with no more binaries than needed. “Let’s not scope-creep this into switching distros right now,” I tell myself. “Let’s build a new deployment tool instead.”

How it looks

It is now one month later, and Deptool exists. This is me updating my DNS records:

... continue reading