OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Spacebar

Self-hostable reimplementation of the Discord backend that works with Discord-compatible clients and bots

Open source alternative to

Visit SpacebarGitHubDocumentation

Main features

  • HTTP API, WebSocket gateway and CDN compatible with the Discord API
  • Works with many Discord-compatible clients and existing bots
  • Guilds, channels, roles and permissions
  • Experimental WebRTC voice and video
  • Every feature available to every user, with no premium tier
  • Registration tokens, CAPTCHAs and rate limiting
  • Admin API for instance management

What Spacebar does

Spacebar takes a different route from the other Discord alternatives in this category. Instead of designing its own chat platform, it reverse engineers the Discord backend and reimplements it, aiming to stay backwards compatible with existing bots, applications and clients. The server consists of an HTTP API, a WebSocket gateway, a CDN for uploaded files and a WebRTC server, plus admin tools written in C#. In principle, any client written for Discord can be pointed at a Spacebar instance, and bots built with Discord libraries can run against it.

The project also extends the API in places. Because there is no payment backend, Spacebar makes no distinction between free and premium users: every feature is available to everyone, subject to the rights an instance owner grants. Instance owners can set default guild features for all servers.

Project status

Spacebar is developed by a small volunteer team and says plainly that it is still in development. The server has been worked on since late 2020 and has most core features, and the project reports that API compatibility is reasonable but not perfect: some third-party clients may not work, while the official Discord client it tests against works for the most part. Features still missing or partial include voice and video over UDP (WebRTC support is experimental), voice activities, OAuth2 scopes for applications, message threads, the newer username system and auto moderation. A “missing routes” viewer tracks what remains.

The project’s own client started in 2023 and is described as premature and not ready for daily use, so the documentation recommends third-party clients such as Fermo. The FAQ also asks users not to use Discord trademarks when referring to Spacebar.

Self-hosting Spacebar

The documentation covers installing with npm on bare metal, Docker, Docker Compose and NixOS. A bare-metal install needs Git, Node.js 24 or later, Python 3.13 or later and a C/C++ toolchain, with the .NET 9 SDK as an option for the experimental Admin API. Spacebar requires PostgreSQL and connects to it through a single connection string. The three main services can run together or separately, communicating over Unix sockets or RabbitMQ. Further guides cover reverse proxies, an image proxy, systemd units, voice, email, embeds, CAPTCHAs, rate limiting and registration tokens. The project does not support platforms such as Ngrok, Heroku or Vercel and does not recommend Windows servers.

Hosted version

There is no commercial hosted service. Communities run their own instances.

Limitations

Spacebar is not production-ready in the way the other tools here are. Voice and video are incomplete, client compatibility varies, and the first-party client is not recommended. Compatibility depends on following a proprietary API that the project does not control. Messages are not end-to-end encrypted.

Who it suits

Spacebar suits developers and technically minded communities who want to run a Discord-compatible server, reuse existing bots and contribute to the project. Communities that need a finished product today should look at Stoat or Fluxer; see alternatives to Discord for a comparison.

Technical details

Self-hosting needs

  • PostgreSQL

Built with

  • TypeScript
  • Node.js

GitHub topics

  • discord
  • instant-messaging
  • real-time-communication
  • spacebarchat

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.