Recently I set up a Matrix homeserver for my friend group. I considered whether I needed federation, and ultimately decided that I did. On top of that, I also had to set up a TURN server so that calls would work properly for everyone, since if someone is behind NAT, the connection typically doesn’t work reliably. I launched the container on a Hetzner cloud VPS running Debian 10.
You’ll need a running Docker service, if it’s not installed yet, you can easily install it using https://get.docker.com/. I recommend creating a git repository where you can push your docker-compose and nginx config files.