About this blog
This is the blog behind quassel.io — a small, public Matrix homeserver run on dedicated hardware in Europe. The server is the thing you sign up to and chat on. This blog is where I write about everything that goes on behind it.
I'm Hannes. I run quassel.io myself: the Synapse instance, the storage, the spam fights, the late-night "why is federation slow today" moments. Along the way I've picked up a lot that isn't written down clearly anywhere — so I started writing it down here.
What you'll find here
Guides. Step-by-step walkthroughs for self-hosting Matrix and Synapse, choosing and configuring clients like FluffyChat and Element, setting up bridges, hardening a server, and the small things that trip everyone up the first time.
Experiences. Honest write-ups of what it's actually like to run a public homeserver — what broke, what I'd do differently, and the reasoning behind how quassel.io is put together.
Statistics. Real numbers from a real server: uptime, registrations, federation traffic, storage, and how the instance behaves as it grows. No marketing gloss — just the data.
Tips & notes. Smaller findings, config snippets, and fixes I wish I'd known earlier. The kind of thing that saves you an evening.
Why I write it
Open, federated infrastructure only works if people share what they learn. Most of what I know about Matrix came from other admins' blog posts, issue threads, and Matrix rooms. This is me paying that back — and keeping a public record of how quassel.io is run, because a server you can't see into isn't one worth trusting.
Stay in the loop
New posts go out by email when they're published — guides, server updates, and the occasional deep dive. No spam, no tracking, no algorithm deciding what you see. Subscribe if you'd like new content delivered straight to your inbox.
Find me
The server lives at quassel.io. Questions, corrections, or just want to say hi? Reach me on Matrix at @hannes:quassel.io.