Skip to content
The Log

The freedom to leave

freedom-to-leave.png

A deploy tool deploys; it sets the server up and ships your code, and the maintaining stays with you. Leaving one is easy, because it never looked after anything in the first place. A managed server is the other way round: someone does the patching and the upgrades, but they claim the server to do it, and when you leave, the server stays behind.

We do both, the deploys and the managing that comes after. What we've added is the part neither of them offers: you can stop the management, keep the server exactly as it was configured, and carry on maintaining it yourself. We call it detach.

Keeping the server is the easy sentence to write. In practice it means the server you get back is the one you were running: the same Caddy, the same database, the same ZFS snapshots and backups still going to the bucket you own, with our side switched off. Not a fresh install with your apps copied across; the actual configuration, yours to rebuild.

And we only let go once you've shown you can get in. You log in with your own key and confirm from the server itself; then we remove our access and check that it's really gone. If you'd rather leave our access in place as a safety net, you can, and re-attaching is one click.

Your apps keep serving through all of it. Databases, custom domains and certificate renewal carry on; what stops is the deploys, the patching and the updates. The one thing that does go is the on-strackt.dev address, so you'll want your own domain on it first.

From there, keeping it current is in the guide we hand you:

cd /etc/nixos
sudo nix flake update
sudo nixos-rebuild switch --flake path:/etc/nixos#<server>
sudo nixos-rebuild switch --rollback   # if an update goes wrong

Right now we switch detach on per team: ask support and it's yours. Once we've seen it work in the wild, it's on for everyone.


The obvious objection is that hardly anyone will use this. People who are happy stay, and people who aren't usually delete the server and start over somewhere else. That's probably true. But an exit you can't actually use is no exit at all, and the only way to know it works is to build it before anyone needs it. It keeps us honest the rest of the time too: if we can hand you the configuration on any given day, it has to be yours on every other day as well.

If you stay, it should be because it's good, not because the way out was missing.