XMPP knows invite links, there are even servers which support invite pages which list suitable clients one could use for XMPP. Prosody for example has this module you could enable: mod_invites_page
And then there is also Snikket, which is a pre-configured XMPP server suite (running prosody under the hood) with some nice QoL improvements baked in which you can selfhost as well: Snikket Quick Start Selfhost
If you have your own VPS anyway, there is the Matrix Ansible Playbook which makes the setup with docker containers very easy. But I also get the sentiment that you don't want to tinker around all the time and just want stuff to work.
Kudos to you for using Matrix in the first place, I hope you can bring a lot of your friends and family to switch over to it. So far this has been the biggest hurdle on my journey 😅