Dipping a toe into Matrix
If you read the news, and if you’re the sort of person to put time into reading anything on this site, then you probably don’t need much of an explanation as to why many people like myself are making the decision to abandon some social platforms as a result of… certain usage requirements.
Right now I have far too many connections to entirely abandon every corporate-driven communication platform I use. I’d never be able to reach even close family members or friends without WhatsApp or Discord. That said, my long-term goal is to one-day achieve a full transition to secure platforms which can be used whenever I need with full independence from the grip of some gentleman across the Atlantic Ocean with a few too-many personal issues.
Anyway, that isn’t what I’m here to discuss. I’d instead like to discuss what I was doing today - setting up my own Matrix Homeserver.
Matrix is something I’ve always read about in the past and considered to be a bit of a faff to go-about using, but more recently my take seems to be that it’s rather promising as a communication protocol. Once I discovered that you could host a fully-federated service I knew exactly what I’d be doing with my VPS.
For the homeserver I decided I’d spin up the official Synapse Docker Container alongside a reverse-proxy via Nginx. I figured initially that I could just set it up on the VPS as-is but another long-term goal of mine is self-hosting at-home, and I decided any sort of future migration would be a pain to achieve if I have to piece together all the messy config scraps via SFTP in a few years when I finally invest money and effort into some real server hardware.
I decided to stick my homeserver on-top of lukeonline.net. I created a subdomain at matrix.lukeonline.net and pointed that towards the VPS. It’s a bit of a mess right now, as the website is hosted by a dedicated provider as opposed to the VPS, but because I prefer to have lukeonline.net as the homeserver domain, I had to do some funny work with .well-known, pointing it towards the matrix sub-domain, which then points to the VPS. In the end it worked, but some clients seemed to find it a bit strange during the login process.
Deciding on a client turned out to be the trickier part. As amazing the wide variety of options is, it seems like you need to find a balance between performance, appearance, and feature availability. Luckily Matrix themselves provide a pretty good list of some of the popular available clients.
I went through a few different clients on my Desktop machine, initially trying out nheko which was pretty easy to use. I also ended up trying and KDE’s NeoChat. I far prefer how well it integrates visually with my current system (Debian with KDE), and it seems a little snappier… though it also completely failed to retrieve or send messages, which is unfortunately pretty important. As for my mobile, I ended up settling on SchildiChat Next, which felt a little cleaner and more-stable than Element X.
After going through all of that, everything seems to be working pretty well via my homeserver, with messages and encryption all synchronised. If you want to contact me via Matrix, you can do so through @lukep:lukeonline.net. Please give it a try, and if it doesn’t work, let me know.