Can also vouch for this ansible script. I just updated a very outdated homeserver, postgres, and switched from nginx to traefik, and it was extremely painless. I was dreading it, but it worked amazingly. I donated to the author yesterday because of how well it went.
I can only assume our experience in private servers is way different than people logging into the matrix.org server or in extremely populated rooms?
(0): https://github.com/spantaleev/matrix-docker-ansible-deploy