Sharkord - an open-source self-hostable Discord alternative with voice, video, and real-time messaging. (sharkord.com)
from recklessengagement@lemmy.world to selfhosted@lemmy.world on 11 Feb 05:27
https://lemmy.world/post/42992121

Came across this on the r/selfhosted community. Still very much in the alpha stages, but it’s already got a Docker image you can try out for yourself, or try out the demo server.

Tried it earlier today, couldn’t get the voice/video chat to work right away on my self-hosted setup but the real-time chat was very snappy. Looks promising.

#selfhosted

threaded - newest

eclipse7@feddit.nu on 11 Feb 05:53 next collapse

No E2E-encryption? Can’t find any info about it. Unencrypted = big nope. Looks good otherwise :)

recklessengagement@lemmy.world on 11 Feb 06:02 next collapse

I believe you are correct, but this is still very early into development. Hopefully this gets added at some point

aksdb@lemmy.world on 11 Feb 06:25 next collapse

Don’t let perfect be the enemy of good. Discord isn’t E2EE either. Having data under your control even if not encrypted is a big win.

airikr@lemmy.ml on 11 Feb 08:15 next collapse

Calls are end-to-end encrypted.

crmsnbleyd@sopuli.xyz on 11 Feb 09:09 collapse

why use this over the hundreds of messaging platforms that can be self hosted and have e2ee

MalReynolds@slrpnk.net on 11 Feb 09:25 next collapse

voice/video chat

unexposedhazard@discuss.tchncs.de on 11 Feb 09:47 collapse

then you can use matrix

MalReynolds@slrpnk.net on 11 Feb 10:20 next collapse

Can you? Can I? Best I understand it’s a world of pain. If there was a clear winner in the discord-a-like OSS race all these alternatives wouldn’t be coming out of the woodwork. Maybe it’s matrix (with an actually good client, proper decentralization, easy containers), maybe stoat, maybe … I’ve always hated discord anyway and have little need currently, I can wait.

unexposedhazard@discuss.tchncs.de on 11 Feb 10:30 next collapse

I admit i mostly use matrix as an instant messenger, but it works fine for when i need comms with my friends while gaming or when i want to share my screen for something. My university also has its own deployment so all the people around me automatically have an account anyway, which makes it easy to set up groupchats.

Sure it still has some jank to it, but if you look at how janky it used to be even just a year ago, the trajectory is pretty clear to me. Its a very ambitious project that arguably tried to do too much at once in its early days, but i think its here to stay and its only gonna get better. If its not good enough for you today, then just wait another year or two until it is. Its not going away because its being used basically everywhere at this point. Government, healthcare, military, university, private industry, schools, etc.

MalReynolds@slrpnk.net on 11 Feb 12:36 collapse

Fair cop, sounds useful, and I have used it in the past for similar. I was however looking at it in the context of Selfhosted.

its being used basically everywhere at this point. Government, healthcare, military, university, private industry, schools, etc.

True, and I have good hopes for it, partly because of the adoption, you will however note the scale of your examples, basically it’s an IT department project rather than a set and forget selfhosted container (I recognize there’ll always be moderation to do). We shall see, I’m in no hurry.

unexposedhazard@discuss.tchncs.de on 11 Feb 15:37 next collapse

I see. I havent selfhosted any matrix servers yet, so i havent looked into it too much. But yeah its kind of an intimidating process to set these up when i look at the guides. I know that there are a few server implementations besides synapse that are mature and stable (and supposedly much more resource efficient) and they do support docker deployment. All of these including synapse can however be run on a raspberry pi so there isnt really any big requirements other than keeping it up to date and doing backups of your databases.

forgejo.ellis.link/continuwuation/continuwuity

github.com/matrix-construct/tuwunel

zod000@lemmy.dbzer0.com on 11 Feb 20:16 collapse

I have, and am, selfhosting Matrix, and it isn’t that big of a deal if you’re someone that, you know , self hosts things. That is just outside of what most people can or are willing to do. That’s totally fine, but finding a FOSS platform that will host a VoIP/video server for you and not try to monetize you is almost certainly going to be rare or short lived.

B0rax@feddit.org on 11 Feb 11:39 next collapse

Sure, pick a server (like you did for Lemmy) and register. Choose any of the supported apps and start.

matrix.org/try-matrix/

MalReynolds@slrpnk.net on 11 Feb 12:28 collapse

Yah, did so long ago. Comment still stands. We are in Selfhosted…

B0rax@feddit.org on 11 Feb 12:42 collapse

You didn’t selfhost your Lemmy instance…

MalReynolds@slrpnk.net on 11 Feb 13:02 collapse

Different usecase, but I wouldn’t be particularly scared. OP is about a selfhosted discord replacement (lacks E2EE so far I think), I’d quite like that if didn’t look like more of a maintenance burden than the rest of my stack combined (even without moderation burden, but I’m thinking of keeping a small server). I also think it’d be a social boon to have millions (even thousands) of independent discords pop up.

Do you host your own matrix ? Did it go down when matrix.org did ?

B0rax@feddit.org on 11 Feb 13:30 collapse

A friend of mine hosts a matrix server and I have an account there, it had no problems when matrix.org went down

MalReynolds@slrpnk.net on 11 Feb 13:35 collapse

Fair enough, thanks.

GenderNeutralBro@lemmy.sdf.org on 11 Feb 14:35 collapse

The problem is that there are very few people who are familiar enough with both Discord and Matrix to give a meaningful answer.

Personally, I use both, but for completely different use cases. I do not understand how one could be used as a substitute for the other. Perhaps I’m missing something, or perhaps everyone who thinks Matrix is a good substitute for Discord just don’t use Discord very much.

If you have a small group of friends who occasionally hang out in chat, sure, Matrix is fine. If you’re in dozens of Discord servers, each with dozens (or even hundreds) of channels, and hundreds or thousands of users, no. At least, not with Element. Perhaps there’s a better client out there for that?

MalReynolds@slrpnk.net on 11 Feb 14:53 next collapse

Perhaps I’m missing something, or perhaps everyone who thinks Matrix is a good substitute for Discord just don’t use Discord very much.

Seems likely, certainly Matrix has some pretty evangelical supporters. I think you nailed it with discord being more useful for mid sized numbers and having a client that handles it pretty well. I’d also add pretty painless onboarding. An OSS offering that matched it’s primary features (and has E2EE) or has a good framework, roadmap and people to get there would come in pretty clutch as discord goes public and starts monetizing everything in sight. A million (or thousands) independent FOSS ‘discords’ in the night would be a sweet sight.

GenderNeutralBro@lemmy.sdf.org on 11 Feb 16:49 collapse

(and has E2EE)

Normally my policy is “E2EE or GTFO”, but the concept only applies to a subset of Discord use cases. A good Discord alternative needs to handle the same variety of use cases as Discord.

E2EE for a public forum makes no sense. Lemmy doesn’t have E2EE either, obviously. That’s an absurd idea.

Discord is mostly used for public or semi-public spaces. I’m in Discord servers for some of my favorite games and game studios, for example. The only barrier to entry is clicking a link, which is usually publicly advertised. I’m also in some semi-public Discords that are locked behind a membership of some sort (like Patreon), but those are still full of an arbitrary number of people I do not know. It’s not a private space. E2EE would be counterproductive.

That said, I have a few friends who habitually DM me on Discord, and I’m like “dude, I know you have Signal. Use it FFS”. One thing I like about Lemmy is that when you go to send a DM, it literally warns you against using it for DMs:

Warning: Private messages in Lemmy are not secure. Please create an account on Element.io for secure messaging.

MalReynolds@slrpnk.net on 11 Feb 18:07 collapse

Normally my policy is “E2EE or GTFO”, but the concept only applies to a subset of Discord use cases. A good Discord alternative needs to handle the same variety of use cases as Discord.

E2EE for a public forum makes no sense.

Totally valid point, especially w.r.t. ease of onboarding for public usecases. Sure would be nice if it functioned (optionally) as a private forum as well. Seems like a lot of commonality there and covers the DM case and the ‘semi-public’ but discord is totally logging everything case. One can hope, but I agree, first things first.

zod000@lemmy.dbzer0.com on 11 Feb 20:13 collapse

This is spot on. Discord and Matrix are, IMO, quite different. Matrix is more like Slack or Teams. You can do voice and video calls, if you configure it to do so, but it isn’t like Discord in that regard at all. If you don’t use Discord for that and mostly just chat with your friends then sure, but you have a lot of choices in that case.

warmaster@lemmy.world on 11 Feb 12:13 collapse

It sucks for gaming.

x00z@lemmy.world on 11 Feb 11:47 collapse

I’m in a Discord server with 2000 members. You really want to encrypt and decrypt all incoming and outgoing messages 2000 times? There’s a reason why most E2EE messaging apps don’t really do that for group chats.

aksdb@lemmy.world on 13 Feb 06:27 collapse

Depends on the usecase. If you don’t need chat history for new-joiners, you can work with a single key per group, rotating it whenever someone joins or leaves. Since the server broadcasts a „so-and-so has left/joined“ it might as well include the new key. That key is then used by everyone in the group, so you can still broadcast all messages and don’t have to encrypt them individually.

unexposedhazard@discuss.tchncs.de on 11 Feb 09:49 collapse

Also completely new with no other contributors. Stay the fuck away from this until its been in development for a while and someone reviewed the code.

Epzillon@lemmy.world on 11 Feb 06:06 next collapse

Stoat.chat, anyone?

recklessengagement@lemmy.world on 11 Feb 06:11 next collapse

Oh woah, didn’t realize it was self-hostable. I’ll try it out!

marud@piefed.marud.fr on 11 Feb 06:42 next collapse

Tried a few months ago, the documentation for self hosting was lacking lots of info and now I can’t even find it…

doeknius_gloek@discuss.tchncs.de on 11 Feb 07:00 next collapse

github.com/stoatchat/self-hosted

marud@piefed.marud.fr on 11 Feb 21:08 collapse

thank you so much !!

Epzillon@lemmy.world on 12 Feb 07:15 collapse

Yeah, I lade my acc a year ago and iirc they didnt have voice chat then. Now they seem to have better permissions for channels, vc and video/screen sharing around the corner. Only thing Im lacking is fediverse type of instances so we can only pray that will be developed one day. As of now idk what the status on self-hosting is but ive seen the devs link alot about it in their official server

Anarki_@lemmy.blahaj.zone on 11 Feb 10:51 collapse

Their registration process is currently hugged to death. Can’t receive verification emails.

Epzillon@lemmy.world on 12 Feb 07:22 collapse

Yup, saw some stats from screenshots on there, their mail service had a cap of 300 mails monthly and it blew up to over 50 000. Verification/mail servers went up again yesterday at 4am CET but still seems like the authentication servers are pretty overrun.

just_another_person@lemmy.world on 11 Feb 06:24 next collapse

This is so vibecoded 🤣 Nawthx

Shadow@lemmy.ca on 11 Feb 06:40 next collapse

Based on what? A quick peek and I didn’t see any of the stuff I expect from LLMs

treadful@lemmy.zip on 11 Feb 07:26 next collapse

Less than a 4 month commit history and one dev. Not impossible maybe, but sure is suspect.

Natanox@discuss.tchncs.de on 11 Feb 09:37 next collapse

Absolutely not impossible for a skilled dev with lots of free time. This is still an Alpha after all.

treadful@lemmy.zip on 11 Feb 13:40 next collapse

Building the full stack of a functional real-time voice and video comms system as a lone dev is not a trivial undertaking.

Even if they put 40/wk or more into it, I’d still be impressed. Like I said, not impossible but these people are rare.

greybeard@feddit.online on 11 Feb 16:25 collapse

WebRTC is a thing. You don’t have to build all that from scratch. It’s very reasonable to piece together a lot of standard technologies to make this progress much quicker. I haven’t looked into this project, so I don’t know, but I know it was pretty trivial to setup a WebRTC app 10 years ago, which would appear to be a fully functioning video app.

douglasg14b@lemmy.world on 12 Feb 17:24 collapse

Completely agree. If this is a skilled Dev who’s built products like this before and you can build something like this in your afternoons and weekends in like 6 months without LLM tool assistance.

With basic assistance you can definitely cut that time down to 4 months or less easily.

And if this is a full-time project, you can probably get it out the door in 1 to 2 months with llm assistance. (Not vibe coding, two very different things)

douglasg14b@lemmy.world on 12 Feb 17:21 collapse

I’ve built projects of the size in 5-7 months before we had LLM or ML coding tools.

With tabbed completion (Which most devs enjoy), and before full LLM code gen, 4-6 months.

With llm assistance, not vibe coding, it’s possible to build projects like this in 1 to 2 months without sacrificing quality or safety. If you are an experienced engineer and have built projects like this before. A lot of these are boring, boilerplate, stuff.

So the time spent doesn’t necessarily say that it’s vibe coded but if this is an inexperienced engineer then it very well might be and may be full of holes and issues.

just_another_person@lemmy.world on 11 Feb 07:55 collapse

Lolwut??? Did you check the GitHub at all?

Statick@feddit.online on 11 Feb 07:32 collapse

What makes you say that?

just_another_person@lemmy.world on 11 Feb 07:54 collapse

Check the code

Statick@feddit.online on 11 Feb 07:57 collapse

I took a look. Didn’t seem vibe coded to me. Is there a specific area you looked at that looks vibe coded?

just_another_person@lemmy.world on 11 Feb 08:09 collapse

Here’s a very simple list of issues that any Node dev would immediately say is generated and has not been cleaned up:

I mean I can keep going, but if you even glanced at this and didn’t IMMEDIATELY get it, you are bad at your job.

Edit: This one is fucking hilarous

Statick@feddit.online on 11 Feb 08:16 next collapse

Your hostility confuses me. I’m not a node dev.

I skimmed some of the server files and didn’t see the normal vibe coded slop I normally see in other languages and was genuinely curious what you saw.

Thank you for your examples.

just_another_person@lemmy.world on 11 Feb 08:23 next collapse

Then why if you aren’t familiar would you make a comment you didn’t see anything?

Do you randomly walk into other people’s jobs with zero proficiency and speak to how they’re doing at it?

forrgott@lemmy.sdf.org on 11 Feb 09:07 next collapse

That’s it? That’s why you’re being such an arrogant prick?

Huh. You do you, I guess…

¯\_(ツ)_/¯

wholookshere@piefed.blahaj.zone on 11 Feb 14:20 collapse

so that’s not the same person you replied to. Nor am I.

athatet@lemmy.zip on 11 Feb 15:57 collapse

This isn’t someone job tho it’s a public forum.

jckwik@discuss.online on 11 Feb 11:24 collapse

It’s okay. I’ve got a few side projects in node and I also don’t see anything too out of the ordinary here. If anything this looks more like someone’s first project with some “make it work” rather than being perfect and pretty.

I don’t understand the hostility. Even the bits that this guy talks about (duplicated code?) nothing looked duplicated - sure the names of the folders are the same but that’s more of a naming convention problem when you have a client that needs to connect to servers (or in this case has screens and functionality to connect to servers).

And now I’ve probably spent more time and brainpower on this than I should have just because I was confused.

douglasg14b@lemmy.world on 12 Feb 17:26 collapse

Dude, my team members put out code that’s like this or worse on a regular basis that gets caught in PR review without using AI tooling…

I’ve supported legacy projects that of course were built without tooling that didn’t exist. That are structured and written in ways that are far far worse than this.

Nothing here screams vibe coated.

fortnitefinn@sh.itjust.works on 11 Feb 11:53 next collapse

Why use this over Matrix?

recklessengagement@lemmy.world on 11 Feb 13:37 next collapse

As much as I want to love matrix, it is a huuuuge pain to set up & maintain.

[deleted] on 11 Feb 16:47 collapse

.

recklessengagement@lemmy.world on 11 Feb 16:55 collapse

With voice/video or just text?

[deleted] on 11 Feb 18:35 collapse

.

zewm@lemmy.world on 11 Feb 14:16 next collapse

The user experience for matrix is absolutely dog shit. Anyone who says otherwise is huffing copium.

I have been setting up matrix servers and testing every desktop and mobile client. I cannot present this to my discord group as an alternative.

priapus@piefed.social on 11 Feb 17:36 collapse

Drop-in voice channels are a requirement for a discord alternative, Matrix does not have them. AFAIK you still need to call an entire channel to start a voice chat.

Furbag@lemmy.world on 12 Feb 00:26 collapse

Im surprised as how many people discount this feature. Sometimes I sit in voice chat in my small Discord server alone for hours because nobody would show up if nobody was around.

We’re all adults with jobs and responsibilities and shit, we don’t want to have to dial people in to shoot the shit late at night. That would feel like a chore.

An alternative with no drop in voice chat is a non starter for my group.

priapus@piefed.social on 12 Feb 01:51 collapse

I think it comes from the fact that a lot of communities and projects use Discord basically like they would with IRC, with voice chats often not even existing in some servers. I have to assume the people who recommend Matrix are only ever in that kind of server.

I’m in 2 or 3 servers with different friend groups and of course each one is full of friends of friends of friends. Even the smallest is over 30 people, but I only regularly join VC with 3-4. If I had to call all of them to be in a voice call I would literally never do it.

Same goes for chats, in Matrix the closest things to channels and servers is rooms and spaces. The difference is that you don’t join a space, you just view rooms in the space and join them. Most of my servers have a ton of different channels for different things, I want to be able to see what happens in all of them without having to join each one, announcing to them that I’ve joined.

I like Matrix for FOSS project discussions, but I don’t think it’ll ever be the right pick for just hanging out with friends.

MrMcGasion@lemmy.world on 11 Feb 12:27 next collapse

Haven’t had a chance to really look into it, but there’s also spacebar chat which is an open source selfhosted reimplementation of the discord backend that can be used with existing discord clients and bots and stuff. Which depending on how solid the rest of if is, could really help existing discord people move with less effort.

recklessengagement@lemmy.world on 11 Feb 13:39 collapse

Saw that earlier too, planning to check it out!

[deleted] on 11 Feb 20:35 collapse

.

corsicanguppy@lemmy.ca on 11 Feb 14:34 next collapse

Aside from

  • iso27002 violations
  • FHS violation

It looks good!

bruhduh@lemmy.world on 11 Feb 14:50 next collapse

We’re here to break the law anyway, so, meh

EpicFailGuy@lemmy.world on 11 Feb 17:27 collapse
[deleted] on 11 Feb 15:49 next collapse

.

billwashere@lemmy.world on 11 Feb 16:59 collapse

I honestly didn’t know what these were.

These are very simplistic but iso27002 violations are security procedures not being documented properly. The FHS one refers to not following the Filesystem Hierarchy Standard on Unix‑like systems.

Why does the second one bother me more?

taco_shale032@lemmy.ml on 11 Feb 17:16 next collapse

Keep in mind that this project is likely vibe coded, or at least seems very AI assisted. (Copilot is mentioned in the .gitignore file and this was built by a single person in about 4 months) A bunch of security issues have already been opened.

Edit: @just_another_person@lemmy.world already mentioned this, my bad. 😄

iamthetot@piefed.ca on 11 Feb 19:54 next collapse

Thanks for the warning.

just_another_person@lemmy.world on 11 Feb 20:08 collapse

And I got downvoted into oblivion for bringing it up 🤣

taco_shale032@lemmy.ml on 11 Feb 20:47 collapse

I suppose tone matters when trying to get your point across. 😄

just_another_person@lemmy.world on 11 Feb 21:16 collapse

Neh

iamthetot@piefed.ca on 11 Feb 17:20 next collapse

Thank you for sharing, this looks like it has potential and its brand new. Love you FOSS nerds.

HumanDent@lemmy.zip on 11 Feb 18:38 collapse

While I appreciate the effort devs put into making open source alternatives to a closed source app, the naming convention is really starting to get irritating…

Discord splits out to

  • Armcord
  • Legcord
  • Now Sharkord

YouTube has

  • InnerTune
  • Which turned into OuterTune

Libre-this, Libre-that, Libre-cock and balls.

…I would love for devs to separate their software’s name just a little bit more from the thing they’re trying to replace. Please. Just be more unique. The name can still have a nod to what it’s replacing and not just be a partial modification to the original name.

jdr@lemmy.ml on 11 Feb 20:29 next collapse

Datcord

irmadlad@lemmy.world on 12 Feb 01:41 next collapse

Libre-cock and balls

<actual LOL>

libre
adjective

    With very few limitations
MonkeMischief@lemmy.today on 12 Feb 18:02 collapse

Reminds me of the guy in that show Silicon Valley who was basically a plant / spy (Jianyang?), and his grand visions for all his apps were creatively named:

“Chinese Facebook, Chinese Instagram, Chinese Twitter. . .”

Lol