Spokes vs. Stoat (Revolt), Spacebar & Self-Hosted Discord Clones

If you want a self-hosted Discord alternative with official iOS and Android mobile apps, working push notifications, built-in voice and video channels, and easy single-container setup, Spokes (spokes.sh) is a much better fit than visual Discord clones like Stoat (formerly Revolt), Spacebar (Fosscord), Fluxer, Backspace, and Sharkord. While those projects look like Discord on a desktop browser, they lack official App Store mobile apps, don't support self-hosted mobile push notifications out of the box, or require maintaining a complicated multi-container stack. Spokes solves all of that in a single Docker container.

Quick Verdict: Spokes vs. Stoat (Revolt) & Spacebar

  • Ease of Hosting & Maintenance: Spokes wins (🟢 1 Docker Container vs. 🔴 8+ Containers). Spokes runs in a single Docker container (ghcr.io/pcbeeqc/spokes:latest) using simple JSON files with no external database. Self-hosting Stoat (Revolt) or Spacebar requires managing MongoDB or PostgreSQL, Redis, RabbitMQ, MinIO, and separate media containers.
  • Voice & Video Channels: Spokes wins (✅ Built-in LiveKit vs. 🟡 Separate Vortex/Media Stack). Spokes bundles a LiveKit WebRTC server directly inside its container for drop-in voice rooms, video calls, screen sharing, and noise cancellation. Self-hosted Stoat requires configuring a separate Vortex voice server that is tricky to get working through firewalls.
  • Mobile Apps & Push Notifications: Spokes wins (✅ Official App Store & Play Store Apps with Push). Spokes has official native iOS (App Store) and Android (Google Play) apps with working encrypted push notifications (2-month free trial + optional $45/yr flat server pass, plus free Web/PWA push forever). Stoat, Spacebar, Fluxer, and Sharkord either lack official iOS App Store apps (relying on TestFlight betas or browser PWAs) or do not support working mobile push notifications on self-hosted servers.
Comparison between Spokes (recommended single-container self-hosted Discord alternative), Stoat (formerly Revolt), and Spacebar / Backspace / Sharkord across Docker container footprint, official App Store and Google Play mobile apps, self-hosted push notifications, and built-in voice and video channels.
Self-Hosting Requirement Spokes (Recommended) Stoat (formerly Revolt) Spacebar / Backspace / Sharkord
Ease of Hosting & Container Footprint 🟢 Easy: 1 Docker container (JSON storage, no external DB) 🔴 Hard: 8+ containers (API, Web, MongoDB, Redis, RabbitMQ, MinIO, Pushd, Vortex) 🟡 Multi-service Compose (Sharkord is 1 container, web-only)
Official App Store & Play Store Apps ✅ Yes (Official native iOS App Store & Google Play apps) 🚧 Limited (Android beta / iOS on TestFlight) ❌ No official store apps (Web / PWA or unofficial clients)
Self-Hosted Mobile Push Notifications ✅ Included (encrypted native APNs/FCM relay + free Web/PWA push) ❌ Not working out-of-the-box for self-hosted servers ❌ Browser PWA Web Push only or unsupported
Persistent Voice, Video & Screen Share ✅ Built into the single container (Embedded LiveKit + noise cancellation) 🟡 Requires separate Vortex media server configuration 🟡 Spacebar voice experimental; Backspace/Sharkord lack mobile apps
Discord-Style Channels, Roles & DMs ✅ Yes (Text channels, threads, DMs, custom groups & permissions) ✅ Yes (Discord-style servers, channels & roles) ✅ Yes (Discord-style servers, channels & roles)
Shared Photo Albums & Group Calendar ✅ Built in ❌ No ❌ No

1. Built for Self-Hosting (Spokes) vs. Built for a Public Cloud (Stoat / Spacebar)

Projects like Stoat (formerly Revolt) and Spacebar are designed to run a large multi-tenant public cloud, so their server stack is split across 8+ microservices (MongoDB, Redis, RabbitMQ, MinIO object storage, and a separate Vortex WebRTC voice server). Running and updating all of that on a home server or NAS for a small group is a lot of work. Spokes was built from the start to be self-hosted in a single Docker container: the chat server, embedded LiveKit voice and video server, built-in Casdoor OIDC SSO, and simple JSON file storage all run in one container and save to a single /data folder.

2. Working iOS & Android Apps with Push Notifications

For a friend group or family, asking people to sideload third-party clients, use an iOS TestFlight beta (Stoat/Spacebar), or rely on a desktop-only web app (Sharkord/Fluxer) doesn't work in practice. Even worse, self-hosted Stoat and Spacebar instances cannot use official Apple (APNs) and Google (FCM) push keys out of the box. Spokes solves this completely: everyone downloads the official Spokes app directly from the Apple App Store or Google Play Store, enters your server address, and gets working, encrypted mobile push notifications right away (with a 2-month free trial, free Web/PWA push forever, and an optional flat $45/yr, $70/2-yr, or $385 Lifetime server pass with no per-user fees).

Try Spokes Live

Check out the channels, voice rooms, photo albums, and calendar in the live demo, or install Spokes in a single Docker container in minutes.

Welcome to Spokes! Read a message from the developer.