GitHub Repos advanced 3 min read Aug 3, 2026
Public Preview Sign in free for the full digest →

Self-Hosted Discord Alternative: Spacebar Server

“5,790 commits. 2,189 stars. 101 contributors. Zero tagged releases — ever.”

Self-Hosted Discord Alternative: Spacebar Server
1 Views
0 Likes
0 Bookmarks
Source · github.com

“"@RazielKanos this project has not made a release yet - https://github.com/fosscord/fosscord-server/releases" — girish, Cloudron maintainer, 2022-11-06 (https://forum.cloudron.io/topic/6592/spacebar-chat-was-fosscord-on-cloudron-open-source-discord-alternative)”

You know that feeling when a platform your whole community lives on quietly changes the deal — new ID checks, new data policies, features moved behind a paywall — and you have no exit? Moving to Matrix or Zulip means abandoning every bot, every integration, and every muscle memory your members built up over years. On Lemmy, one person put the migration blocker plainly: their friends won't move without voice and screenshare. So you stay, because the switching cost is the entire ecosystem, not just the app.

open-sourcetypescriptself-hosteddiscordchatbackendreverse-engineering

Think of it like building a replacement engine that fits an existing car, bolt for bolt, so every part you already own still attaches. Spacebar treats Discord's undocumented wire format as a fixed spec and reimplements it: an HTTP API, a WebSocket gateway, a CDN for uploads, and WebRTC signalling, all in TypeScript on Node 24+ with PostgreSQL underneath. You run those as separate processes (or one bundled process), point a Discord-compatible client at your domain, and it connects as if it were talking to Discord. The clever part is what they refused to build — the FAQ says the Discord protocol is 'quite simple and linear. No complex conflict resolution like Matrix,' so they spend zero effort designing a protocol and inherit the entire client and bot ecosystem for free. A sibling repo scrapes the live Discord client and diffs its routes against Spacebar's, so progress is measured by a scraper rather than a roadmap.

01
Discord-client and bot compatibility — you keep your existing bots and clients instead of rewriting them; the README's own caveat is that 'some incompatibilities still exist' and not every client will connect
02
Split-process architecture (start:api, start:cdn, start:gateway, start:webrtc, plus a single-process bundle) — you can run everything on one box for a small community, or split services when you outgrow it
03
Pluggable voice via an out-of-tree SFU — you pick Pion (Go), Medooze (C++), or Mediasoup against a shared type contract, so voice is swappable rather than welded in; note Mediasoup drops video and Go Live
04
PostgreSQL-only by design — the docs say this lets them 'tailor support for one implementation, rather than maintaining 10 of them,' so you get one well-trodden database path instead of five half-tested ones
05
Generated OpenAPI schemas and request/response types — `npm run build` chains schema and OpenAPI generation, so the API surface stays typed as routes land
06
Instance-owner hardening rules published in the docs — image proxy required so attackers can't learn user IPs, SSL/TLS on all endpoints, CAPTCHA and email verification recommended; you get a security checklist instead of guessing
07
Clean-room legal posture you can point a lawyer at — CONTRIBUTING.MD bans AI-generated contributions 'for legal reasons,' and the FAQ documents how they exclude anyone with access to leaked Discord code
Who it’s for

If you run a hobby, gaming, or open-source community on Discord and the ID-verification and data-policy changes have you looking for the door, this is the only exit that keeps your bots working. It also fits you if you're a backend engineer curious about how a large closed real-time API actually decomposes — the source is a readable map of Discord's protocol. This is not for you if you need voice as a hard requirement (it's experimental and drops UDP connections), if you need federation between instances (open issue since 2021-10-18), or if your procurement process requires a versioned releas...

Worth exploring

Worth a weekend if you're evaluating an exit path and want to see how far Discord compatibility actually goes — the Docker path gets you a running instance without an account or a bill. Treat it as alpha, not a migration plan: the README badge says 'Status = Development,' the FAQ confirms the project is 'still in development,' voice is experimental with UDP unsupported, and two of three CI workflows have failed on all ten most recent master runs. The realistic move is to run it, test your specific bots against it, and revisit when voice supports UDP and a first release exists.

Developer playbook
Tech stack, code snippet, sentiment, alternatives.
PM playbook
Adoption angles, user fit, positioning.
CEO playbook
Traction signals, ROI, build vs buy.
Deep-dive insight
Full long-form analysis, no fluff.
Easy mode
Core idea, fast — when you need the gist.
Pro mode
Technical nuance, edge cases, tradeoffs.
Read the full digest
Go beyond the preview

Deep-dive insight, Easy and Pro modes, plus action playbooks — the full breakdown is one tap away.

Underrated tools. Unfiltered takes.

Read the full digest in the Snaplyze app for deep-dive insight, Easy and Pro modes, and the playbooks you can actually use.

Install Snaplyze →