unsubbed.co

Sharkord

Sharkord is a self-hosted team chat & messaging replacement for Discord.

Open-source communication, honestly reviewed. No marketing fluff, just what you get when you self-host it.

TL;DR

  • What it is: MIT-licensed, self-hosted real-time communication platform — think a minimal Discord clone you run on your own server, without telemetry, subscriptions, or corporate surveillance [README].
  • Who it’s for: Small, tight-knit groups (friends, gaming circles, small teams) who want Discord-style voice/video/text chat on infrastructure they own and control. Not suited for large communities or enterprise teams [homepage][1].
  • Cost savings: Discord Nitro runs $9.99–$99.99/year per user for features that Sharkord gives everyone for free. A $5/mo VPS covers a small group completely [README][homepage].
  • Key strength: Remarkably simple deployment for what it does — a single binary or one Docker command gets you voice, video, text, and screen sharing. The interface is clean and intentionally minimal [README][1].
  • Key weakness: Alpha-stage software with no end-to-end encryption, no mobile or desktop native apps yet, no federation, and reports of voice/video not working out of the box in self-hosted setups [1]. The project has also been flagged in open-source watchdog lists for possible AI-assisted development [3][4].

What is Sharkord

Sharkord is a self-hosted, open-source communication platform that covers the basics Discord users expect: text channels, voice and video calling, screen sharing, and file sharing — all running on your own server. The README describes it plainly: “Lightweight, self-hosted, open-source chat server with voice, video, text, and screen sharing. Built for small groups who want privacy, simplicity, and full control over their data” [README].

The technical stack is modern: Bun runtime, tRPC for type-safe API calls, Mediasoup for WebRTC media handling, React and ShadCN UI on the frontend, Drizzle ORM, and Tailwind CSS. It ships as a standalone binary that bundles both server and client — you download one file, run it, and open a browser. Docker is also supported [README].

At time of writing, Sharkord has 1,163 GitHub stars and is explicitly in alpha. The README’s notice is worth quoting directly: “Sharkord is in alpha stage. Bugs, incomplete features and breaking changes are to be expected” [README]. That’s not a disclaimer to skip over — it’s the single most important thing to know about this project.

The website’s positioning is direct: “Your conversations. Your data. Your control.” The comparison table on the homepage pitches it against Discord and TeamSpeak 3 across dimensions like data ownership, screen share quality (claiming up to 4K@60fps vs Discord’s 720p@30fps), zero data collection, and no user caps [homepage]. Whether those claims hold under real-world load on modest hardware is not yet well-documented.


Why people choose it

The community reception is cautiously optimistic. A Lemmy.World post that surfaced in r/selfhosted gained 157 interactions, which is solid signal for an alpha project [1]. The top-voted comment from the Lemmy thread captures both the appeal and the concern clearly: the real-time text chat was “very snappy” on a self-hosted setup, but voice and video didn’t work right away — requiring additional port configuration that the setup guide doesn’t spell out explicitly [1].

The E2EE absence prompted significant pushback in the same thread. One commenter wrote: “No E2E-encryption? Can’t find any info about it. Unencrypted = big nope” [1]. The counter-argument, also upvoted, is that Discord isn’t E2EE either, and having data under your own control — even unencrypted — is a meaningful improvement over trusting it to a third-party server [1]. That’s a legitimate position for groups self-hosting for data sovereignty reasons, less so for groups whose threat model includes the server operator.

The comparison to Matrix (Synapse/Element) comes up repeatedly in the same discussion. The honest summary: Matrix does have E2EE and federation, but setting it up for voice/video with Jitsi or Element Call is still described as “a world of pain” by multiple community members [1]. Sharkord is betting that simplicity beats completeness for the segment that finds Matrix too heavy.

Sharkord appears on at least two “open-slopware” watchdog lists — community-maintained registries of open-source projects suspected of heavy AI/LLM involvement in their codebase [3][4]. This is a real concern worth flagging. It doesn’t mean the code is bad, but it does mean independent audit is harder and maintenance quality may be uneven. For a project handling real-time communications — where subtle bugs in media handling or auth flows matter — this warrants attention before betting your group’s primary communication tool on it.


Features

Based on the README, homepage, and documentation:

Communication core:

  • Text channels with rich embeds and reactions [homepage]
  • Voice and video calling via WebRTC (Mediasoup) [README]
  • Screen sharing, claimed up to 4K@60fps when served over HTTPS/SRTP [homepage]
  • File sharing [README]

Access and auth:

  • Single-token owner access model on first launch — the server generates a secure token that grants owner permissions; store it carefully, anyone with it has full control [docs]
  • No multi-user auth system described beyond this initial owner token flow (alpha limitation)

Deployment options:

  • Standalone binary for Linux x64, Windows (experimental), macOS [README]
  • Docker image (sharkord/sharkord:latest) [README]
  • Single port for HTTP (4991), single TCP/UDP port for media (40000) [README]
  • Data persisted to a local directory, Docker volume-mountable [README]

What’s not there yet:

  • No native mobile apps (iOS/Android) [homepage comparison table]
  • No native desktop apps — browser only [homepage]
  • No end-to-end encryption [1]
  • No federation between instances [1]
  • No plugin system described as implemented (listed as “not natively” on homepage comparison)
  • No SSO or fine-grained user management documented
  • No public REST API documented

The live demo at demo.sharkord.com is rate-limited by open ports — voice and video only work for a couple of users simultaneously, and the README explicitly recommends running your own instance for group testing [README].


Pricing: Self-Hosted Math

Sharkord has no SaaS offering and no paid tiers — the software is MIT-licensed and entirely self-hosted [README][homepage]. There is no cloud version to subscribe to.

What you pay:

  • Software: $0 (MIT license)
  • Hosting: $5–10/mo on a VPS (Hetzner, Contabo, Linode)
  • Domain (optional): ~$12/year if you want a proper URL

Discord comparison:

Discord itself is free for basic use. The cost argument for Sharkord is less about saving money on Discord and more about eliminating corporate data collection, avoiding content moderation policies you don’t control, and not depending on a platform that is currently on an IPO path that will likely monetize further [1]. One Lemmy commenter put it directly: “Discord as [it] goes public and starts monetizing everything in sight” is the forcing function driving interest in alternatives [1].

If your group pays for Discord Nitro Basic ($2.99/mo per user) or Nitro ($9.99/mo per user) primarily for server boosts or higher upload limits, Sharkord eliminates that cost entirely since there are no tiers and no user caps — your hardware sets the ceiling [homepage].

Concrete math for a 10-person friend group:

  • Discord Nitro Basic for all 10: ~$360/year
  • Sharkord on a $6 Hetzner VPS: ~$72/year
  • Savings: ~$288/year — not a dramatic number, but the actual value is data ownership and platform independence, not line-item savings.

Deployment Reality Check

This is where alpha status matters most. The quick-start path is genuinely simple for anyone with basic Linux experience:

docker run \
  -p 4991:4991/tcp \
  -p 40000:40000/tcp \
  -p 40000:40000/udp \
  -v ./data:/home/bun/.config/sharkord \
  --name sharkord \
  sharkord/sharkord:latest

Then open http://localhost:4991. That’s the full install for a local network setup [README].

What you actually need:

  • A Linux VPS or local machine running Docker
  • Ports 4991 (HTTP) and 40000 (TCP + UDP) open in your firewall
  • A reverse proxy (Caddy recommended in the docs) if you want HTTPS
  • HTTPS is required for voice/video to work reliably in browsers — WebRTC getUserMedia is blocked on non-HTTPS origins in modern browsers [docs]

What can go sideways:

First-launch generates an owner token printed to console — if you miss it, you lose admin access. The README flags this prominently: “make sure to store it securely and do not lose it” [README]. There’s no “forgot token” recovery path documented.

Voice and video failed out of the box in at least one community member’s self-hosted setup [1]. This is almost certainly a firewall/NAT issue with the UDP media port, but the docs don’t walk through this failure mode explicitly. If UDP 40000 isn’t reachable from the outside, WebRTC media will silently fail while text chat works fine — exactly the symptom reported.

Windows support is flagged as experimental in the README. Docker or WSL2 is the recommended path on Windows [README].

The project is in alpha, which means the update path between versions isn’t guaranteed to be non-breaking. “Breaking changes are to be expected” [README] — this is real, and it matters for groups who deploy and then want to forget about maintenance. Budget time for updates or accept possible downtime.

Realistic time estimate: 15–30 minutes for a technical user to a working text-only instance. Getting voice/video working reliably across NAT, with HTTPS and proper firewall rules, realistically adds another hour and some troubleshooting, especially if you’ve never configured WebRTC port forwarding before.


Pros and Cons

Pros

  • Genuinely MIT-licensed. No usage restrictions, no commercial clauses, no “fair-code” carve-outs. Fork it, embed it, do what you want [README].
  • Single-binary simplicity. One file, one run command, browser-based. No database to configure, no separate media server to wire up separately — Mediasoup is bundled [README].
  • No tiers, no caps. No premium features gated behind subscriptions. Your hardware and bandwidth set the ceiling, nothing else [homepage].
  • Modern tech stack. Bun, tRPC, Mediasoup, React, ShadCN — these are well-maintained projects, not an abandoned hodgepodge [README].
  • Clean UI. Screenshots show a Discord-like interface without the clutter. The homepage explicitly targets the “living room vs crowded convention center” segment [homepage].
  • Zero telemetry. No analytics, no tracking, no mysterious callbacks — or at least none documented. You can audit the code yourself under MIT [homepage].

Cons

  • Alpha software. Breaking changes between updates are stated policy, not an edge case [README]. Do not deploy this for a group that can’t tolerate downtime.
  • No E2EE. Messages are unencrypted at rest on your server. If you’re self-hosting for privacy from third parties, this is fine. If you need the server operator to also be unable to read messages, this tool isn’t ready [1].
  • Voice/video reliability is unproven. At least one community member couldn’t get it working on their first try [1]. The demo server itself is limited to a few simultaneous users because of port constraints [README]. This is the core feature and it’s the one with the most setup friction.
  • No native apps. Browser-only, mobile and desktop apps listed as “not yet” on the comparison table [homepage]. For a communication tool, browser-only on mobile is a real limitation.
  • No federation. Each instance is an island. You can’t talk to users on other Sharkord servers [1].
  • Flagged on open-slopware lists. The project appears on community watchdog lists tracking AI/LLM-assisted development [3][4]. The code quality implications are unclear, but it’s worth auditing before trusting it with group communications.
  • Tiny community. 1,163 GitHub stars is modest. When you hit a problem, the chance of finding a solved issue or community guide is lower than with Matrix or Mattermost.
  • Owner token model is fragile. Losing the first-launch token means losing admin access with no documented recovery path [docs].

Who Should Use This / Who Shouldn’t

Use Sharkord if:

  • You have a small group (5–20 people) who want a private, self-hosted Discord equivalent and someone in the group is comfortable with Docker and basic firewall configuration.
  • You’re fleeing Discord for data sovereignty reasons, not primarily for features.
  • You’re willing to accept alpha-stage rough edges and can tolerate occasional breaking updates.
  • You want to evaluate it now and switch to a more mature fork or version in 6–12 months — the MIT license means your data and customizations stay yours.

Skip it (use Matrix/Element instead) if:

  • You need end-to-end encryption. Matrix with Element supports it and is production-grade [1].
  • You need federation between independently-run instances.
  • You need mobile apps that work offline and sync reliably.

Skip it (use Revolt.chat or Mattermost instead) if:

  • You want something with more deployments, a larger community, and more documented production setups.
  • Your group includes non-technical users who expect a polished, reliable experience from day one.

Skip it (stay on Discord) if:

  • You have no one to handle infrastructure, updates, and troubleshooting.
  • Your group has more than ~50 active users — Sharkord explicitly targets small groups and is untested at scale [homepage].
  • Voice/video reliability is non-negotiable for your use case.

Alternatives Worth Considering

  • Matrix + Element — The most production-ready self-hosted option with E2EE and federation. Setup is genuinely more complex, especially for voice/video, but the ecosystem is far more mature [1].
  • Revolt.chat — Another Discord-style self-hosted platform, further along than Sharkord in terms of stability and feature completeness. MIT-licensed, has a public hosted instance you can try.
  • Mattermost — Slack-replacement focus rather than Discord-replacement, but production-ready, well-documented, and MIT-licensed for the community edition. Better for teams, less fun for friend groups.
  • Rocket.Chat — Mature, feature-rich, more complex to deploy. The obvious choice if you need enterprise features.
  • Mumble — Audio-only, battle-tested, extremely lightweight. If your use case is voice chat for gaming, Mumble is older but works reliably on any hardware.
  • Jitsi Meet — If you need video calling specifically, Jitsi is production-ready, self-hostable, and handles much larger groups than Sharkord currently could.
  • TeamSpeak 3 — The legacy option. Reliable audio, but proprietary, and the UX feels dated compared to anything in this list.

For a small group migrating off Discord primarily for privacy, the realistic shortlist is Sharkord vs Revolt.chat vs Matrix. Choose Sharkord only if simplicity of deployment and minimal setup time matter more than stability right now.


Bottom Line

Sharkord is an interesting early-stage project solving a real problem: there’s no lightweight, simple self-hosted alternative to Discord that non-technical users can actually use. It’s not that project yet — alpha means alpha, and voice/video reliability is the defining feature that still has rough edges. But the technical foundation (Bun, Mediasoup, React, MIT license) is sound, the deployment story is genuinely simple for text chat, and the positioning as a “living room” tool for small private groups is honest and well-scoped. If you’re technically comfortable, deploying it today as a test environment costs you 30 minutes and $6/month. If you need something to bet your team’s primary communication on starting next week, look at Revolt or Mattermost instead. Check back in six months — if the project ships E2EE and stabilizes voice/video, this review changes significantly.

If the setup is the blocker, deploying this (or one of its more mature alternatives) is exactly what upready.dev does for clients. One-time fee, done, your infrastructure.


Sources

  1. recklessengagement, Lemmy.World“Sharkord - an open-source self-hostable Discord alternative with voice, video, and real-time messaging” (community thread). https://lemmy.world/post/42992121
  2. AlternativeTo“Fluxer: Open-source instant messaging, VoIP, group chat, self-hosting” (mentions Sharkord in Discord alternatives lists). https://alternativeto.net/software/fluxer/about/
  3. matu6968, Codeberg“open-slopware: Free/Open Source Software tainted by LLM developers/developed by genAI boosters” (Sharkord appears in watchdog list). https://codeberg.org/matu6968/open-slopware
  4. xarvos, Codeberg“open-slopware: Free/Open Source Software tainted by LLM developers” (fork of same watchdog list). https://codeberg.org/xarvos/open-slopware
  5. v3ritas.tech“w33k in g33k: February 13, 2026” (weekly digest mentioning Sharkord in self-hosted section). https://v3ritas.tech/posts/2026/02/20260213-w33k_in_g33k_february_13_2026/

Primary sources: