Not sure if others mentioned this but one can abstract away the configuration and sys-admin type tasks using a declarative language. Then the setup can be recreated effortlessly by others, reviewed and verified on an ongoing basis.
If the author found a self-hosting setup that works, it should be packaged and automatically reproduced elsewhere. It is always 10% of the work to make something work, 90% of the work is arranging it to be self-reproducing, self-maintaining, and self-documenting without excessive toil. I call this "self-*" computing.