My home lab journey was:
manual installs -> Ansible -> Docker + Docker Compose -> Kubernetes (I told you I loved complicated things)
I kept everything source controlled. This repo documents my long journey: https://github.com/shepherdjerred/servers
Docker and Docker Compose are nearly perfect. Here's an example of what that looked like for me: https://github.com/shepherdjerred/servers/blob/839b683d5fee2...
I mostly moved to Kubernetes for the sake of learning. Kubernetes is very cool, but you have to put in a large amount of effort and learning before it becomes beneficial.
Ansible is nice, but I didn't feel like it met all of my needs. Getting everything to be idempotent was quite hard.