Since Discord announced they’re going to help Petie T collect selfies of us all I’ve been working on a self hosted alternative mostly for my mates. I had five goals in mind when I started this:
- Text Channels
- Voice channels
- Screen Sharing
- End to end encrypted DMs
- Able to run on pretty much any web hosting
I’ve reached that point now and figured why not slap the GPL on it and send it out into the wild.
I’m sure there’ll be lots of bugs and I don’t think it will scale well. I never set out to make something that would grow into a behemoth that’s used for customer support and all sorts of shit.
The goal was to make something that covers that trifecta of text/voice/screensharing, without relying on P2P connectivity, and able to do it well for small groups of people.
There are more features I have in mind if it gets any interest:
- Rate limiting on backend requests
- Quasar app with the ability to add more than one server (the frontend is already built in Quasar and I started writing some code for it but I’m mostly building this for myself + friends where I host my own instance so I’ve not given it much attention)
So yeah, I’m not a professional dev, this is a hobby for me. Would be cool to see if anyone manages to get it running.
Yaky@slrpnk.net 3 hours ago
What’s up with these brand-new “Discord alternatives” being cranked out en masse? Would be easier to contribute to XMPP or Matrix IMO.
Overabundance of emojis in description. Probably AI.
Were you able to run it yourself? What.
briffy@lemmy.world 3 hours ago
Like I said, I’m not a professional dev, this is a hobby. I fucked up my initial commit and included all the source for the Vue framework. That was me fixing my mistake. You’ll find a few more of those in there.
To be honest, I’ve run matrix, it’s an absolute headache and to get voice and video is even worse. I don’t really care about federation, I’ve been pretty clear in what this project is.
I used Claude to give me a template for GitHub and generate the logo/favicon because I suck at all things creative. It’s open source, if someone wants to make me some images and rewrite the readme then crack on. The actual meat and bones of the project, the code, is all written by me, a real human.
Yes, I have run this myself, it works quite well. Apologies for trying to be a bit candid.
Appreciate the feedback.
obelisk_complex@piefed.ca 3 hours ago
Synapse is in the middle of a rebuild without much compatibility between the legacy and new builds, and it’s a pain in the dick to set up at the moment. I know, because I did it.
XMPP I haven’t tried to set up yet, but I imagine it to be similarly in-depth.
As to why not contribute: like you said, most likely AI. The maintainers don’t want these contributions; if they did, they’d use the AI themselves. I didn’t get it at first but after some discussion here, and building my own thing, I understand why people feel that way too.
Now… why do the whole thing from scratch instead of forking? Great question. XMPP might just need a nice coat of paint, if it can handle voice and video and screen share; I haven’t come away with great impressions of matrix/synapse.
briffy@lemmy.world 2 hours ago
I ran synapse for about a year with a STUN server so I could have voice/video and it was painful to set up and painful every time an update came around.
When discord started doing the ID verification thing I looked at alternatives and it seemed to be mumble, Teamspeak and matrix/synapse as the top contenders. None of them quite did the three text/voice/screen share though. Mumble is good at text/voice. Teamspeak 3 does the full package but screen share doesn’t work in Linux and requires additional setup/P2P, you also need an account with them so they will eventually go down the same route as discord. Matrix/synapse can do all three but as mentioned, it’s a nightmare.
As for why I’d create my own instead of forking an existing project: I just wanted to, it’s that simple. I don’t think I have the skillset to contribute to major projects, most of my code would get rejected. If I make my own, doesn’t matter. If people use it, great, if not, I’m not too bothered. I’ll probably end up pulling the whole repo down though if I keep getting called AI, that’s fucking infuriating.