I recently decided to experiment by setting up a Matrix account. And because I always dive head first into things, I of course set up my own Matrix server rather than making an account on a public one. At the same time, I noticed my Jabber/XMPP account had stopped working, so I decided to self-host an XMPP server too.
For Matrix, I used Synapse as that seems the most popular and well-supported implementation. It was mostly just a matter of installing the Ubuntu packages and starting the service, but there was a bit of manual work:
- The default config file is set up to store data in SQLite, but using SQLite is advised against, so I needed to manually create a PostgreSQL database and username, and add those to the config file.
- The default config is missing
registration_shared_secretsettings, which are kinda important.
- Because I wanted the server to be hosted on a different VPS than my website, I needed to set up delegation and some of the documentation online on how to do that isn’t quite correct.
For XMPP, I used Prosody and the install went very smoothly. Again, just install the package and start the service. The only manual work was:
- Needed to enter a host name in the example config file.
- Ubuntu doesn’t give access to LetsEncrypt certificates to the prosody user, so I needed to fix permissions.
Overall, I would highly recommend Prosody as an XMPP server. Synapse is a good Matrix server too, but the Debian/Ubuntu packagers could take a look at Prosody for an example of a smooth install.
My Matrix account is @me:toby.ink.
My XMPP account is email@example.com.