Every time I set up anything, I do one of two things:
-
If it's container based, it gets a commented docker compose file in my custom orchestration
-
If it's on a host system, the changes are scripted and commented in a setup script, which are run on new machines. If the acrit is specific to one machine, it is configured as such
I find in-setup docs to be best for a home lab, plus if I have to replace hardware, it's fast.
Fun fact, I do it for laptops and desktops, too.