And to add to @[email protected]’s info about setting up XMPP here is a ansible playbook that you could use to deploy matrix: https://github.com/spantaleev/matrix-docker-ansible-deploy
I would look at what you want to use it for and see if you can do that better with XMPP or Matrix. The factor that is keeping me on Matrix is that I have all diffrent chats with people on different platforms in one client that is cross platform. Here is the list of available bridges in Matrix to get other chats into it: https://matrix.org/ecosystem/bridges/
But keep in mind that is is against ToS for most apps, so there is a small risk of getting banned from other platforms. I can only tell you that I’ve been using it with WhatsApp, iMessage, Discord and Signal for half a year and am not banned anywhere. That is with running my own Matrix Server and bridges on a rented VPS.
For information about what XMPP can do you’ll have to do research on your own as I don’t know anything about it besides that google kinda “killed it”.
I recently began running my own recursive dns server for personal use and have noticed that duckdns isn’t super stable. Domains on there regularly fail to resolve with the name servers unreachable.
You should consider switching your dns provider. One option is to buy your own domain and setup dyndns with some provider, Cloudflare has a good guide for that.