Getting to the point where I will soon be someone who *used to* run a #matrix homeserver. The spec is a disaster, the reference implementation does not work, and it's increasingly difficult to justify asking anyone to use one of the many underwhelming clients just to send me a message that happens to be encrypted end to end.
It took two days of troubleshooting by way of trial and error in an absolute vacuum of useful information. Neither COTURN nor Matrix communities were what one might term useful in any way - with both often outright denying an issue was even possible. This isn't how you grow adoption.
I'll post my working config later, as well as some notes on how I'm dealing with Ubuntu's COTURN package having no good way of accessing Let's Encrypt certs thanks to an ancient version of systemd.
#FOSS misery