(XMPP Setup Guide) Discord Was Never the End Game - TonyBTW

https://programming.dev/post/46372370

(XMPP Setup Guide) Discord Was Never the End Game - TonyBTW - programming.dev

Lemmy

I'm already self-hosting a XMPP and a Matrix server, just in case. A shame that most of the group chats I've found there are about free software, assorted geekery, but not much of what I'd usually find on Discord - hopefully that changes in a few years.
Plant the first seed and create those groups.
Fair that! Only problem is, I don't have any acquaintances, but if I ever fix that, then maybe we can work on that.
The XMPP channel search has a few channels that are not assorted geekery, but yeah most of it is.
Channel tag index - search.jabber.network

Unlikely. They make for poor discord community replacements. There’s just too much complexity at the door.

Most things are looking towards fluxer as the replacement. Since it’s actually a discord replacement unlike xmpp or matrix. Which are alternatives not replacements.

I'm not sure about Fluxer specifically, but I've seen Zulip being deployed as a self-contained chat room for a few projects now. Also Stoat claims to be a Discord replacement. What does Fluxer offer in particular that the other two don't?

What’s Lemmy’s opinion on Fluxer?

fluxer.app

Fluxer: A chat app that puts you first

Fluxer is a free and open source instant messaging and VoIP platform built for friends, groups, and communities.

Fluxer

I think generally more positive than negative, but hesitant. There are so many different competing apps and discord copies that have risen and fallen, it’s hard to really get attached to any that have little movement in fighting the network effect.

Seeing it already has the beginnings of enshitification with freemium features, while federation is “in development”, particularly in communities like lemmy the question become why pick this over something that already exists and is an open standard?

Like looking at the “plutonium” page, it’s clear they want to copy the features of discord nitro, and if we are to fight the network effect fight with the energy of discord’s recent fuck up, I would rather land on XMPP or Matrix, if I have any push.

Plutonium

Upgrade to Plutonium for $4.99/mo: custom username tags, per-community profiles, message scheduling, 4K streaming, 500 MB uploads, and more exclusive features.

Fluxer

There are so many different competing apps and discord copies that have risen and fallen, it’s hard to really get attached to any that have little movement in fighting the network effect.

In other words, you are saying that there is too much discord in this space?

Down with discord!

I’m starting a new app, call Concordance, and it will only bridge between different apps no matter where they are from 😤

Let me save you a few keystrokes, there's already an app called Matterbridge: github.com/42wim/matterbridge
GitHub - 42wim/matterbridge: bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API (mattermost not required!)

bridge between mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST API...

GitHub
There is a better, community maintained fork now: github.com/matterbridge-org/matterbridge
GitHub - matterbridge-org/matterbridge: Multi-protocol chat bridge (IRC, Matrix, XMPP, Discord, Telegram, etc…)

Multi-protocol chat bridge (IRC, Matrix, XMPP, Discord, Telegram, etc…) - matterbridge-org/matterbridge

GitHub
The sentiment I keep seeing is that it’s vibe coded, though the dev claims that AI was used but not in any core components. It’s one I’ll be waiting out personally, the whole huntarr situation has me pretty skeptical of any new projects
I’ve tried it. It performs poorly.
  • Self-hosting guide appears missing
  • Other guides have crazy writing errors
  • Setup looks convoluted.
  • What I’ve seen makes me bet I could be dragging iso27002 out and marking all the rules it breaks. …and the devs won’t know what that means.

    They’re extremely new and open about what’s missing though. Their plans apparently got somewhat thrown all over the place by the sudden extreme interest and quite a few things aren’t yet in place (such as the self-hosting guide). Still works surprisingly well, and what they do goes into the right direction (no VC funding or investors, removal of the CLA, bound to GDPR, a full FOSS atack, etc).
    I love it and use it daily. Once it becomes stable, gets a docker container and documents the self-hosting flow, it will rule the universe.
    You’re not bothered by the plutonium stuff? Would you still host it if the plutonium features were still there in the self hosted version? (as in your self hosted instance paying them for plutonium on your servers)

    I’m not sure what the reason for this theoretical is when it’s already documented that self-hosted instances have full free access to the paid perks.

    It’s become pretty clear since all of this kicked off that none of the Discord-replacement hopefuls have the infrastructure to accept even the smallest fraction of users fleeing Discord. Paying for some nice-to-have features when using the official instance is at least a plan towards paying for that infrastructure.

    Speaking on a more broad level, I find it more suspicious when services are free these days with no path to self-sufficient monetization. We’ve seen enough of those fall to venture capital influence at this point.

    Thank you, that’s a very interesting perspective. I wasn’t aware of the plutonium thing.

    That might be the stupidest fucking statement ever.

    Your basically asking if unicorns shit gold would you take the unicorn poop.

    It’s nonsensical. It doesn’t reflect the reality of the situation. Anyone can make up b******* hypotheticals to make something sound bad. It’s still b*******.

    Why the fuck would anyone give a fuck about the plutonium stuff? Kick starters, investment backing, and crowd funding are all standard ways to generate initial revenue. It’s a f****** company. It needs money to buy hardware in paper server costs. Development isn’t free and if you want people to work full-time on something you have to get this pay them.

    He basically asked for $300k to start full-time development and Kickstart the company after he left closed development. He provided a full proof of service documentation in history of his closed development.

    The only people who have any issue with the plutonium stuff are those who are either too f****** retarded to understand basic business or a too far up their own asses to think that everything should be free in life.

    If you self-host you don’t have to pay f****** wild concept considering how many self-toast services actually charge you money for full service. So that alone is already one up on a lot of stuff.

    A basic subscription is far more reliable than donations if you want a company to be able to actually function. A subscription provides a reliable income so you can actually plan your costs and budgets. It’s a far better option than microtransactions that discord seems to want to push.

    Cuz again server costs and vitamin costs aren’t free. Remember FOSS stands for free as in freedom to do what you want with the software within the license not free as in it doesn’t cost you f****** anything.

    If fluxer had come out of the gate with no proof of concept, no history. No explanation of the credentials of the developer. No business license and no source code on demonstration and just said hey. Trust me bro. I need 300 Grand then. Yeah it would be an issue. But lo and behold the reality is none of that’s true.

    Could it all go poof belly up and a month time 2 months a year? Yes of course, small businesses die all the time. 300K is not a lot of money for a small business. Frankly, the fact he only asked for $300k is more of a red flag than he asked for money at all. Cuz he’s going to have to pull a lot f****** more money if you wants to do anything remotely clothes to what his goal is. If he had shot for a 500k 600k somewhere in that vicinity. I would personally be more trusting than him asking for $300k. Much more than 600k and I would start asking questions as that’s a little bit much for a initial investment backing.

    Seriously, the more I look around on Lemmy the more, I think that nobody here seems to actually understand that s*** costs money.

    You sound upset, you should talk to someone about that.
    He’s already talking to that machine of his that censors his drunken ramblings with cute little asterisks. I wonder what does that do to someone’s psyque tho.
    Weird to censor yourself like the swear words are the ugly parts of your long winded hostile rants.
    I was under the impression that plutonium on my server would be controlled by me. Say, if I wanted to give it away, I could. At least, that’s what I’ve read.
    That there’s no shortage of wheels being reinvented, and that it takes insights developed over decades to be relevant in this field. To avoid.

    I want something that works like Discord for my gaming group (~120 people) and is self-hostable with a single „docker-compose up -d“.

    But I started looking regularly for alternatives, and we will get there :)

    It’s not quite as simple as a single docker compose, but the Element Server Suite for hosting a matrix home server (synapse) was fairly simple to get working.
    What was your secret to get it working? I’ve been trying to get it running for 2 weeks following the official guide. I’m able to create an admin user via the CLI, but when I try to go to any of the subdomains I’ve created, I either get a 404 or the TLS handshake fails to complete. The people behind ESS are very clear that they do not offer any support and I haven’t been able to find an answer to this problem anywhere.

    Ok, so that sounds like either a DNS issue or a reverse proxy issue. Did you configure your domain/subdomains to point to the public IP address of where you’re setting things up? Are you using the reverse proxy in the guide or do you already have a reverse proxy and you’re adding ESS domains to it? Did you configure port forwarding on your router?

    I have had issues with accessing my locally hosted services via domain name while on the same network. My router doesn’t like to route internal traffic back to its own WAN port. Can you access it from something on a different network (cellular data)?

    Sorry for the delayed response, things have been wildly busy for me.

    I did configure my domains as instructed, and they do resolve to the expected IP address. I don’t have an already existing reverse proxy, so I was just following along with what the guide was telling me to do. That said, this may be the issue, because I don’t recall seeing any specific set up for the included reverse proxy and I’ve been through that guide 3 times. I haven’t configured port forwarding on my router since I’m using a Hetzner VPS for this, but I did make sure to open up the required ports on the firewall.

    Alright that gives me a good idea what your working with.

    I am running it along side some other projects, so I already had a reverse proxy set up, so I didn’t look closely at the other parts of the guide in that section.

    If you want to be able to use this server for other hosting in the future, you may want to set up a reverse proxy. I can give some advice about that if you’re interested!

    In your case, if the only thing you ever want to host on this box is Matrix, you don’t need a reverse proxy. You should be able to do the steps here and it should result in a working deployment.

    It looks like that should give you a tls.yaml file, which you need to include when issuing the helm command to deploy everything. This one:

    helm upgrade --install --namespace "ess" ess oci://ghcr.io/element-hq/ess-helm/matrix-stack -f ~/ess-config-values/hostnames.yaml <optional additional values files to pass> --wait

    You need to make sure that in the <optional> section, you include:

    -f ~/ess-config-values/tls.yaml

    So your command would be this, if you have no additional yaml files, and if you do, simply put “-f path/to/file” at the end, right before the “–wait":

    helm upgrade --install --namespace "ess" ess oci://ghcr.io/element-hq/ess-helm/matrix-stack -f ~/ess-config-values/hostnames.yaml -f ~/ess-config-values/tls.yaml --wait
    GitHub - element-hq/ess-helm: Element Server Suite Community Edition

    Element Server Suite Community Edition. Contribute to element-hq/ess-helm development by creating an account on GitHub.

    GitHub
    Thanks for your help! It’s very much appreciated. I was thinking I might want to use this VPS for an occasional OwnCast stream and as a SyncThing target, so it sounds like I’ll need a reverse proxy. Any recommendations on something relatively easy to use? I’ve seen people mention ngnix, traefik, caddy and a few others, but I’m not sure which would integrate nicely with ESS. Also, I appreciate the heads up about the helm commands. Definitely important info to have!

    You’re welcome!

    I use https://nginxproxymanager.com/ for my reverse proxy. It doesn’t exactly integrate with ESS, but it’s not super challenging to set up proxy hosts for the domains (you can specify multiple domain names in one Proxy Host if they all point to the same host/port).

    I find it nice because I can manage it via a web portal, but it’s on my home LAN. Depending on how you access your VPS this might be less convenient than using one of the other options, but I don’t have much experience with the others.

    I set up Let’s Encrypt certs to automatically renew for the Matrix domains, pointed them all at the ESS host server and port, and then enabled Websockets Support. That last bit is critical, or things will simply not work correctly, especially calls.

    Nginx Proxy Manager

    Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful interface, providing free SSL support via Let's Encrypt

    I’ll review the docs and give this a shot either this evening or tomorrow. Thanks again for pointing me in the right direction!

    Also, the way to include additional config files tripped me up like crazy for a good few hours, and then how to format them tripped me up for even longer, for options they don’t have examples for (like automatically joining any new accounts to a room, for example).

    If you’ve got specific options you’re trying to set, I’m happy to help if I can. The documentation is atrocious for this bit, so if you’re not a kubernetes pro (I am definitely not) it is confusing!

    Nothing will ever be just “docker compose up” but checkout movim. I think it’s good. Haven’t used it myself yet.

    Closest your going to get is fluxer. It unfortunately only just entered open beta. So the self host option while there… Is not simple yet.

    Tho it’s on the road map.

    Mattemost? Rocketchat?
    XMPP kinda sucks
    Yeah. It sucks that the protocol works and everyone can use it. It’s the worst.

    To be fair, it’s also inconvenient convoluted and confusing to non-technical users… So yeah it works and some people can use it and others need their handheld quite a bit to even get halfway.

    The same problem matrix as. If you’re trying to talk about a discord alternative, you need to aim for the demographic. That is the bottom 50% of the bell curve. If your explanation needs to be longer than two to four sentences on how to use something, then it’s already too complicated and will never take off for the use case.

    If you’re looking for a usable open standard that is reliable, xmpp is incredibly good. It’s just not a discord replacement. It’s a discord alternative sure. And a good one at that.

    But again till the user experience problem can be solved. Like with most open source things they will never be average user friendly.

    I like xmpp, but it is not a discord alternative. It is a WhatsApp / Signal / iMessage alternative. It doesn’t have 80% of discord features, I use discord a lot and I don’t have a single group chat.
    i quite liked element as a replacement for whatsapp and discord when i got a few people to switch. just had too much stability issues at the time and they went back. will never get them to switch again…even with ads and age verification crap going on.

    Element is still as buggy as ever, unfortunately…

    The only realistic alternative I’ve found so far is Fluxer, and that one is still in Beta. Very promising though.

    It broke 100,000 users and growing. The $300,000 the dev raised with his backer Kickstarter thing really is going to get stretched thin really quick with how fast it’s growing.

    He’s already had to roll out more servers a few times to my understandings too. Well, self-hosting is currently a thing. It’s still under active development in that really needs to finish up quick to help offload some of the load.

    Honestly, once the mobile app is finished and the self-hosting is more stable, it’s basically going to be like the old days of TeamSpeak 3 s when everyone actually liked it.

    But with all the modern conveniences and benefits of discord.

    It is the only thing currently going around. That’s actually trying to be a replacement for discord. Keyword replacement not alternative.

    Like xmpp is an alternative, not a replacement.

    The matrix protocol is a tremendous mess

    The main complaints about Matrix I’ve heard though are about behind the scenes stuff rather than features, which the video touches on:

    But there are some reasons why I think XMPP is superior. In Matrix, when you join a room, your server downloads and stores the entire history of that room. If someone on a federated server posts illegal content in a room you’re in, your server is now hosting it, and you are liable. Whereas in XMPP, messages are relayed in real time. Group chat, MU history stays on your server hosting that room. So your server only stores messages for your users which means that no content caching there is no content caching from other servers. This is a fundamental architectural difference which makes the XMPP protocol better in my opinion.

    Personally I don’t know that much about it but I briefly looked into what it would take to write a client for Matrix a few years ago and it seemed pretty daunting to work with. Maybe it would be possible to write software that implements more Discord features on top of XMPP to have something that works more smoothly.

    The ever continuing trend of foss enthusiasts having less then no fuckinf clue the FUCK normal people use computers for.

    Xmpp is great but you are 100% right. It’s not a discord replacement. It never will be. It is court replacement and it is not trying to be a discord replacement. People need to stop trying to force it to be one. The same thing goes with matrix though to a lesser extent.

    Matrix at least is trying to be a team’s replacement, which is a legitimate alternative to what discord does for the average user.

    Matrix has a whole host of other problems that will make and never be a viable alternative. But none of them are technical in nature. It’s mostly just the fragmentation will nature of it. And how confusing it is to navigate.

    At the moment the only two legitimate replacement options are stoat and fluxer. Stoat is a dead end and unluckly to go anywhere. While fluxer is only like 2 weeks into its open beta just released its code base to the public after a long-ass time of closed development. And barely has enough funding even with their Kickstarter thing. Fluxer has passed 100,000 user Mark already and growing.

    It’s also the only thing that’s actually trying to be an app for your average user. It’s actually targeting the same demographic discord was.

    Which matters a lot. Matrix xmpp all these other things aren’t targeting the same demographic. They are not trying to be a replacement. I mean, I’m sure they’re happy to scoop up some new users and help expand their reach a little bit who doesn’t want to see their project grow after all.

    But all these people trying to push matrix xmpp and what not is like going to a construction site telling a worker. Hey, your pickup truck is old and s***** you should stop using it and go use this nice moped while they look at you. Like you’re a f****** retard as they have to lug around a ton and a half of materials and tools everyday in the moped. Why perfectly good means of conveyance will do the job better than the pickup truck as the purpose of a vehicle cannot fully fulfill the same role that the pickup truck fills.

    which features are missing from xmpp that are necessary for most gamer groups? is it the protocol that is missing the support, or specific implementations? genuinely asking since I’d been considering setting up an xmpp server for my gaming groups
    Do you use features like permissions, channels, threads, bots, … a lot ? Application using xmpp as a backend are great and can be all you need if you just want a simple voice/text chat with no additional features. There is no equivalent to most “server/community” features of discord in the xmpp protocol, and it is something that needs to be implemented at that level for it to work.
    ah we don’t really use those features much. as long as we can hang out and chat as a friend group, we’re good
    Seems to me that those are generally enabled by bots and scripting, and I don’t think it’s any harder to do that stuff in XMPP than it is in discord?

    Whether or not XMPP is a Signal or a Discord replacement is dependant on the client.

    For a Discord replacement, there is the Movim XMPP client, which has group audio/video calls, screensharing (w/audio using chromium based browser), support for gifs and videos within the chat, and very soon Discord-like servers with rooms, after which the dev plans to work on drop-in voice chat rooms.

    Movim – Responsive web-based cross-platform XMPP client

    Movim is a kickass distributed blogging and messaging platform built on the industry-standard XMPP protocol

    XMPP is just the protocol, you can create a client which looks like any proprietary alternative like Discord (fluux tries to have the same look for example)

    Movim is IMO the best alternative using XMPP and it’s being adding more and more features the last weeks stay tuned! see here

    Movim • Movim Blog

    The official Movim blog https://movim.eu/

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters IP Internet Protocol TCP Transmission Control Protocol, most often over IP UDP User Datagram Protocol, for real-time communications XMPP Extensible Messaging and Presence Protocol (‘Jabber’) for open instant messaging

    [Thread #120 for this comm, first seen 26th Feb 2026, 20:20] [FAQ] [Full list] [Contact] [Source code]

    Decronym

    My only resistance to leaving discord is that it’s where 99% of my gaming communities are. There’s no way I’m convincing hundreds of people to move off to something I self host, or to self host themselves. It’s just not feasible.
    Yeah I have the same issue.
    You could self host it anyway and just wait for the slow boil over at Discord to make the case for you. Surely they have only just begun making it worse.